حل مشکل ذخیره محصول جی تو استور | j2store در تاریخ شمسی

حل مشکل ذخیره محصول جی تو استور | j2store در تاریخ شمسی

بدون شک یکی از بهترین فروشگاه ساز ها برای مدیریت محتوا جوملا جی تو استور | j2store هست . تیم جی تو استور مدتی هست که نسخه چهارم این افزونه رو برای جوملا چهار منتشر کرده است. یه توضیح اضافی هم بدم که در سری های قبل جی تو استور دو نسخه رایگان و تجاری داشت(همان نسخه Pro) ، همزمان با انتشار نسخه چهارم ، تیم جی تو استور به صورت رسمی اعلام کرد که از این به بعد جی تو استور کاملا رایگان خواهد بود و دیگر دو نسخه نخواهد داشت(یعنی همان نسخه Pro برای عموم رایگان شد) به همین دلیل درآمد زایی رو میخواهند به سمت ساخت و توسعه اپ های جی تو استور(همان پلاگین های الحاقی ) ببرند .
خب حالا اگر شما جی تو استور نسخه چهار رو نصب کرده باشید و محیط مدیریت شما فارسی باشد ، یه مشکلی در هنگام ذخیره مطلب اتفاق می افته که اونم اینه که تاریخ ایجاد ، تاریخ انتشار و تاریخ ویرایش هر سه تا با تاریخ روز ذخیره می شوند ،  یعنی اگر شما مطلبی رو در تاریخ 1 مهر 1402 منتشر کرده باشید و روزی که میخواهید مثلا مطلب رو ویرایش کنید 20 آبان 1402 باشه ، تاریخ هر سه قسمت تبدیل به 20 آبان 1402 میشه ، در صورتی که میبایست فقط قسمت تاریخ ویرایش 20 آبان 1402 شود.

خب حالا راه حل مشکل جی تو استور | j2store چیه ؟

تا لحظه نوشتن این پست نسخه 4.0.3 از کامپوننت منتشر شده و تیم جی تو استور | j2store آپدیتی برای این حل این مشکل نداده ، که فقط هم در تاریخ شمسی ( یا به اصطلاح Persian Solar Calendar ) این اتفاق می افته، ما اطلاع رسانی های لازم رو به تیم جی تو استور کردیم و امیدواریم در نسخه های بعدی این مشکل رفع بشه

خب بریم برای حل مشکل

ابتدا به مسیر زیر برید و فایل رو باز کنید

YOUR-SITE/administrator/components/com_j2store/views/product/tmpl/form.php

سپس کد جاوا اسکریپت زیر رو که در خط 37 تا 70 فایل form.php هست ، رو حذفش کنید

<script  type="text/javascript">
    Joomla.submitbutton = function(pressbutton) {
        var form = document.adminForm;
        if(pressbutton == 'article.cancel') {
            document.adminForm.task.value = pressbutton;
            form.submit();
        }else if(pressbutton == 'article.apply') {
            if (document.formvalidator.isValid(form)) {
                document.adminForm.task.value = pressbutton;
                if(document.getElementById('submit_button') != null) {
                    document.getElementById('submit_button').onclick = function () {
                        this.disabled = true;
                    }
                }
                form.submit();
            }
            else {
                let msg = [];
                msg.push('<?php echo $alert_html; ?>');
                document.getElementById('system-message-container').innerHTML =  msg.join('\n') ;
            }
        }else{
            if (document.formvalidator.isValid(form)) {
                document.adminForm.task.value = pressbutton;
                form.submit();
            }
            else {
                let msg = [];
                msg.push('<?php echo $alert_html; ?>');
                document.getElementById('system-message-container').innerHTML =  msg.join('\n') ;
            }
        }
    }
</script>

آیا بعد از آپدیت جی تو استور | j2store این تغیرات از بین میره و باید بازم تغییرش بدم ؟

اینکه در نسخه های بعدی این مشکل اولویت تیم باشه  و حلش کنه رو من نمیدونم ولی برای اینکه با آپدیت جی تو استور | j2store این تغییرات شما از بین نره باید فایل رو اورراید | Override کنید ، یعنی اینکه فایل جایگزین معرفی کنید و تا زمانی که فایل جایگزین اونجاست از اونجا بخونه

برای اورراید | Override کردن مسیر زیر رو باهم طی می کنیم :

اول به همون مسیر قبلی میریم

YOUR-SITE/administrator/components/com_j2store/views/product/tmpl/form.php

بعد یه کپی از فایل form.php میگیریم و مسیر زیر رو اگر ایجاد نشده ،خودمون میسازیم .

نکته : منظور از YOUR-TEMPLATE در مسیر زیر همان قالب پیش فرض مدیریت جوملا می باشد ، که به صورت پیش فرض نام قالب مدیریت جوملا چهار atum می باشد.

YOUR-SITE/administrator/templates/YOUR-TEMPLATE/html/com_j2store/product

سپس فایل form.php که از قبل کپی کرده بودیم رو اینجا پیست | Paste می کنیم.

 به‌همین راحتی و خوشمزگی‌ فایل شما اورراید | Override شد و دیگه با آپدیت های جی تو استور | j2store از بین نمیره ، البته یادتون نره اگر در آپدیت های بعدی مطمئن شدید که این مشکل رفع شده ، میتونید فایل و مسیر اورراید | Override رو کلا حذفش کنید . ツ

نوشته شده با عشق

محمدحسین نیازی اولش طراحی گرافیکی و رابط کاربری می کرده بعد ها کارشناسی نرم افزارشو گرفته و به کد زنی علاقه مند میشه ، تا اینکه تیم طراحی استودیو لاوان رو راه میندازه و بعدش میره سر وقت آی سی ام اس و الان اون اینجاست تا با تجربه بیش از 12 ساله خودش ، فوت‌وفن‌های خودش رو در اختیار شما قرار بده تا اون‌ها رو در جریان کاری‌تون بگنجونین و مهارت‌هاتون رو ارتقاء بدین.

محمدحسین نیازی

پست های مرتبط

6 دیدگاه تاکنون ارسال شده
  • سارا تباری
    مهمان
    من این مشکلمو با کمک شما حل کردم ، لطفا پست های بیشتری بزارید ، در هر سبکی واقعا متفاوت هستین
    ارسال شده از موبایل
    • محمدحسین نیازی
      مدیر
      در پاسخ به سارا تباری. گفته :

      سلام
      خوشحالم مفید واقع شده براتون

      ارسال شده از دسکتاپ
      • سهیل اصغری
        مهمان
        در پاسخ به محمدحسین نیازی. گفته :
        شما طراحی قالب اختصاصی برای جوملا 5 و ارتقا به جوملا5 هم انجام میدید ؟
        ارسال شده از دسکتاپ
        • محمدحسین نیازی
          مدیر
          در پاسخ به سهیل اصغری. گفته :

          سلام سهیل جان ، بله انجام میشه برای سفارش طراحی یا اطلاعات بیشتر در صفحه تماس با ما بهم ایمیل بده یا به شماره تلفنی هست واتس اپ یا تلگرام پیام بده

          ارسال شده از دسکتاپ
  • عماد مقبلی
    مهمان
    بله منم تازگی متوجه این مشکل شده بودم و هر محصولی که ویرایش میزدم یهو از اخر لیست می اومد اول لیست که چک کردم متوجه شدم تاریخ تمامی قسمت ها به تاریخ همون روزی که ویرایش میزدم تبدیل میشد.
    • محمدحسین نیازی
      مدیر
      در پاسخ به عماد مقبلی. گفته :

      با این راه حل مطمئنا مشکلت حل میشه اگر حل نشد از صفحه تماس با ما بهم ایمیل بزن کمکت کنم

      ارسال شده از دسکتاپ
ارسال نظر
در پاسخ به Some User

آی سی ام اس

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