• اطلاعیه ها

    • Saeed Fard

      برگزاری چهارمین همایش Coder Conf و کد تخفیف برای کاربران وردپرس پارسی   20/04/97

      کدرکانف هر سال در آخرین پنجشنبه مرداد با بورد‌های مختلفی برگزار می‌گردد،امسال نیز کدرکانف در همین تاریخ با حضور برنامه نویسان مطرح کشور در بورد تخصصی جاوااسکریپت برگزار خواهد شد، یک گردهمایی متفاوت با طعم Javascript. Coderconf هر سال نسبت به سال‌های گذشته با حضور برنامه‌نویسان پر رنگتر می‌شود. ما سعی کردیم هر ساله به این کنفرانس مفهوم عمیق تری ببخشیم تا از آنچه در سال‌های گذشته عرضه شده به روزتر و مفیدتر واقع شویم. امسال فرصتی خواهد بود تا با نگرشی جدید و بهبود مطالب ارائه شده، عمیقتر به این موضوع نگاه کنیم تا بجای تکرار مباحث پیشین گامی هر چند کوچک در مسیر ارتقای دانش فنی برنامه‌نویسان ایرانی برداریم. ما در Coderconf ۴ با تمرکز بر روی Javascript نیت کرده‌ایم این فرصت را در اختیار برنامه نویسان قرار دهیم تا با ظرافت و استانداردهای روز دنیا کار خود را پیش ببرند. به نظر ما امسال زمان آن فرا رسیده‌است تا این زبان را به صورت تخصصی و از ابعاد مختلف به چالش بکشیم.   دبیر علمی همایش میلاد حیدری، کدرکانف ۴ را اینگونه توصیف کرده است :اشتراک گذاری دانش بهترین راه رسیدن به جاودانگی اطلاعات است. هر ساله همایش‌های زیادی برگزار میشه که افراد شرکت‌کننده می‌توانند با افراد مجرب شبکه سازی کنند. امسال در کدرکانف سعی کردیم علاوه بر بخش شبکه سازی بین افراد بیشتر روی انتقال دانش و کیفیت ارائه ها تمرکز داشته باشیم . به قصد یک گردهمایی بلند مدت بین برنامه‌نویسان جاوااسکریپت که با هم تبادل دانش و اطلاعات کنند گردهم آییم.
      بنده به عنوان عضو کوچکی از جامعه برنامه‌نویسان جاوااسکریپت ایران امیدوارم در کدرکانف امسال علاوه بر شبکه سازی، از اطلاعاتی که دوستان در این همایش در اختیارتان قرار می‌دهند استفاده کنید. در سایت همایش میتوانید سخنرانان و موضوع پنل همایش کدرکانف رو مشاهده کنید . علاقه‌مندان به حضور در این همایش می‌توانند با کد تخفیف wpparsi اقدام به ثبت نام در این گردهمایی کنند. سایت همایش :‌http://coderconf.org
      بلیط فروشی همایش :‌https://evand.com/events/coderconf4  
reza_yki

مشکل در ساخت آپلودر

8 پست در این موضوع قرار دارد

سلام من پنل برای قالب بزدم و نخواستم از پنل های آماده استفاده کنم پس خودم دست به کار شدم

من اپلودری برای آپلود تصویر درست کردم ولی یک مشکل داره که امیدوارم دوستان کمکم کنن

 

من از اپلودر در 2 جا استفاده کردم یکی برای آپلود لوگو و دیگری برای آپلود فاویکون مشکل این هست که وقتی لوگو رو آپلود می کنی درست عمل می کنه بعد از اون وقتی مخوای فاویکون رو اپلود کنی به جای آپلود در فاویکون تصویر در لوگو قرار می گیره این در حالی هست که وقتی لوگو رو آپلود می کنی و بعد ذخیره می کنی بعدش میری فاویکون رو آپلود میکنی درست عمل می کنه نمی دونم تونستم منظورم رو برسونم یا خیر

 

احساس می کنم مشکل در قسما جی کوئری هست چون اگر هر دو رو باهم وقتی آپلود می کنه به مشکل بر می خوره در صورتی که جدا آپلود و ذخیره می کنی درست عمل میشه فک می کنم تونستم برسونم مطلب رو

این هم از کد جی کوئری:

//uploader
jQuery(document).ready(function ($) {
    var custom_uploader;
    $(document).on('click', '.select-uploader', function (e) {
        e.preventDefault();
        var $this = $(this);
        var $target = $this.data('target');
        var $target_type = $this.data('target-type');

        //If the uploader object has already been created, reopen the dialog
        if (custom_uploader) {
            custom_uploader.open();
            return;
        }
        //Extend the wp.media object
        custom_uploader = wp.media.frames.file_frame = wp.media({
            title: 'انتخاب تصویر',
            button: {
                text: 'انتخاب تصویر'
            },
            multiple: false
        });
        //When a file is selected, grab the URL and set it as the text field's value
        custom_uploader.on('select', function () {
            attachment = custom_uploader.state().get('selection').first().toJSON();

            switch(true){

                case $target_type === 'image' :
                    $('#' + $target).attr('src',attachment.url);
                    $('#' + $target+'_input').val(attachment.url);
                break;
            }
        });
        //Open the uploader dialog
        custom_uploader.open();
    });

});

لطفا راهنمایی کنید ضروری هست

این هم قسمت اینپوت:
 

//logo
<input type="text" class="img-path" id="yp_logo_input" name="yp_logo" 
       value="<?php echo isset($yp_options ['yp_logo'])? $yp_options ['yp_logo']:
              get_template_directory_uri() . '/functions/admin/option-panel/img/default-logo.png'; ?>">
<button data-target-type="image" data-target="yp_logo" class="yp-btn select-uploader">بارگذاری</button>




//favicon
<input type="text" class="img-path" id="yp_icon_input" name="yp_icon" 
       value="<?php echo isset($yp_options ['yp_icon'])? $yp_options ['yp_icon'] :
              get_template_directory_uri() . '/functions/admin/option-panel/img/default-favicon.png'; ?>">
<button data-target-type="image" data-target="yp_icon" class="yp-btn select-uploader">بارگذاری</button>

 

0

به اشتراک گذاری این پست


لینک به پست

من الان سریع و چشمی چک کردم بنظر مشکلی تو این کدها نیست.

چون آی دی و دیتاها رو درست جاگذاشتین.

تا اینجا بنظر مشکلی نداره.

1

به اشتراک گذاری این پست


لینک به پست
در هم اکنون، Morteza گفته است :

من الان سریع و چشمی چک کردم بنظر مشکلی تو این کدها نیست.

چون آی دی و دیتاها رو درست جاگذاشتین.

تا اینجا بنظر مشکلی نداره.

بله @Morteza جان وقتی جدا جدا عمل می کنم درست عمل می کنه ولی وقتی اول می رم لوگو رو آپلود می کنم بعد می رم دنبال فاویکون این مشکل به وجود میاد

0

به اشتراک گذاری این پست


لینک به پست

آیا باید ارایه ای درست کرد تا این مشکل به وجود نیاد و چطور؟

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

من فکر می کنم مشکل اینه که دکمه ها هردوشون با یک کلاس مشترک استفاده شده یعنی هر دو از کلاس
select-uploader

استفاده کرده اند و در جی کوئری اشکال هست یعنی این قسمت:

 $(document).on('click', '.select-uploader', function (e) {

ایا میشه کلاس + یه چیزه خاص کرد؟

این کد زیر برای یه قالب خارجی هست فک می کنم باید این شکلی باشه ولی نمی تونم:

jQuery(document).on("click", "#upload_"+field+"_button" , function( event ){

میشه کمکم کنید

ویرایش شده در توسط reza_yki
0

به اشتراک گذاری این پست


لینک به پست

اگر بتونید فقط بخش آپلود رو بصورت کامل برای این دو فیلد اینجا قرار بدید من تست میکنم و بهتون مشکلش رو میگم.

0

به اشتراک گذاری این پست


لینک به پست

من کل قسمت هایی که مربوط به آپلودر بوده رو براتون جدا و  در فایل zip ارسال کردم

 

نکته: وقتی کلاس button رو تغییر می دم (برای فاویکون رو ازselect_uploader به select_uploader_icon تغییر میدم ) و قسمت جی کوئری رو هم کلا دوباره با اون کلاس جدید درست می کنم همه چی درست میشه ولی این طوری باید برای هر آپلودر یک بار دیگه کل قسمت جی کوئری رو بنویسم

<input type="text" class="img-path" id="yp_icon_input" name="yp_icon" 
value="<?php echo isset($yp_options ['yp_icon'])? $yp_options ['yp_icon'] :
get_template_directory_uri() . '/functions/admin/option-panel/img/default-favicon.png'; ?>">
<button data-target-type="image" data-target="yp_icon" class="yp-btn select_uploader_icon">بارگذاری</button>

 

یعنی این شکلی باید بنویسم ولی نه استاندارد هست این روش نه بهینه:

//uploader
jQuery(document).ready(function ($) {
    var custom_uploader;
    $(document).on('click', '.select-uploader', function (e) {
        e.preventDefault();
        var $this = $(this);
        var $target = $this.data('target');
        var $target_type = $this.data('target-type');

        //If the uploader object has already been created, reopen the dialog
        if (custom_uploader) {
            custom_uploader.open();
            return;
        }
        //Extend the wp.media object
        custom_uploader = wp.media.frames.file_frame = wp.media({
            title: 'انتخاب تصویر',
            button: {
                text: 'انتخاب تصویر'
            },
            multiple: false
        });
        //When a file is selected, grab the URL and set it as the text field's value
        custom_uploader.on('select', function () {
            var attachment = custom_uploader.state().get('selection').first().toJSON();

            switch(true){

                case $target_type === 'image' :
                    $('#' + $target).attr('src',attachment.url);
                    $('#' + $target+'_input').val(attachment.url);
                break;


                // case $target_type === 'textbox':
                //     $('#' + $target).val(attachment.url);
                // break;


            }
        });
        //Open the uploader dialog
        custom_uploader.open();
    });
    
    ////

});




//آپلودر برای فاویکون
///////
jQuery(document).ready(function ($) {
    var custom_uploader;

    $(document).on('click', '.select_uploader_icon', function (e) { // فقط به خاطر این قسمت دوباره کل کد ها رو تکرار میکنم
        e.preventDefault();
        var $this = $(this);
        var $target = $this.data('target');
        var $target_type = $this.data('target-type');

        //If the uploader object has already been created, reopen the dialog
        if (custom_uploader) {
            custom_uploader.open();
            return;
        }
        //Extend the wp.media object
        custom_uploader = wp.media.frames.file_frame = wp.media({
            title: 'انتخاب تصویر',
            button: {
                text: 'انتخاب تصویر'
            },
            multiple: false
        });
        //When a file is selected, grab the URL and set it as the text field's value
        custom_uploader.on('select', function () {
            var attachment = custom_uploader.state().get('selection').first().toJSON();

            switch(true){

                case $target_type === 'image' :
                    $('#' + $target).attr('src',attachment.url);
                    $('#' + $target+'_input').val(attachment.url);
                    break;


                // case $target_type === 'textbox':
                //     $('#' + $target).val(attachment.url);
                // break;


            }
        });
        //Open the uploader dialog
        custom_uploader.open();
    });

});

منتظر پاسختون هستم ممنون

uploader.zip

0

به اشتراک گذاری این پست


لینک به پست

اساتید پیشنهادی نداشتن؟

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری