ماژول تومان پرستاشاپ: تومان را بدون شکستن پنل اضافه کنید
ماژول تومان پرستاشاپ باید قیمت را تومان نشان بدهد، بدون اینکه به ارز پیشفرض فروشگاه دست بزند. بیشتر آموزشهای قدیمی میگویند یک ارز «تومان» بسازید و آن را پیشفرض کنید. در پرستاشاپ ۹ همین کار کل پنل مدیریت را، حتی صفحهی ورود را، از کار میاندازد.
این راهنما برای پرستاشاپ ۸ و ۹ است: چرا قیمتها ریال یا خراب نشان داده میشوند، کدام روش خطرناک است، و راه امن چیست.
چرا پرستاشاپ قیمت را ریال، یا «ریال125,000»، نشان میدهد؟
دو مشکل جدا اینجا روی هم افتادهاند.
اولی ساده است. وقتی پرستاشاپ را فارسی نصب میکنید، بستهی بومیسازی ایران ریال را ارز فروشگاه میگذارد. ریال ارز رسمی است، ولی خریدار ایرانی با تومان فکر میکند و عدد ریالی برایش یک صفر اضافه دارد.
دومی باگ خود پرستاشاپ است. در فروشگاههای فارسی، قیمت به این شکل نشان داده میشود: ریال125,000. نماد به عدد چسبیده، ارقام لاتیناند، و از فرم ارز هم نمیشود درستش کرد. علتش این است که پرستاشاپ الگوی نمایش قیمت فارسی را درست نمیخواند. این باگ در issue #36604 پرستاشاپ با برچسب Major ثبت است. رفعش (PR #42182) برای نسخهی ۹.۲.۱ برنامهریزی شده، ولی هنوز ادغام نشده و نسخهی ۹.۲.۰ هم بدون آن منتشر شد. شرح فنی کاملش را در پرستاشاپ فارسی نوشتهایم.
نکتهی مهم این است که عوض کردن ارز، مشکل دوم را حل نمیکند. اگر تومان هم بسازید، همان باگ آن را به شکل «تومان125,000» نشان میدهد.
روشی که در بیشتر آموزشها آمده، و چرا در پرستاشاپ ۹ خطرناک است
آموزشهای قدیمی تومان، که بیشترشان برای پرستاشاپ ۱.۶ و ۱.۷ نوشته شدهاند، تقریبا همه یک مسیر دارند:
- یک ارز تازه به اسم «تومان» با یک کد ساختگی بسازید.
- نرخ ریال را ۱۰ و نرخ تومان را ۱ بگذارید.
- تومان را ارز پیشفرض فروشگاه کنید و ریال را غیرفعال کنید.
در نسخههای قدیمی این کار جواب میداد. در پرستاشاپ ۹، قدم سوم تله است. تومان کد استاندارد ISO ندارد، پس پرستاشاپ آن را «ارز غیررسمی» و بدون کد عددی ذخیره میکند. وقتی چنین ارزی پیشفرض شود، هر صفحهی پنل مدیریت خطای ۵۰۰ میدهد، حتی صفحهی ورود. خود فروشگاه کار میکند و مشتری چیزی نمیبیند. فقط شما دیگر به پنل راه ندارید. علت این خطا را ما در issue #41335 پرستاشاپ ریشهیابی و گزارش کردهایم، و هنوز رفع نشده است.
یعنی کسی که آموزش قدیمی را قدمبهقدم روی پرستاشاپ ۹ اجرا کند، بعد از قدم سوم دیگر نمیتواند وارد پنل شود تا اشتباه را برگرداند. پرستاشاپ ۸ این مشکل را ندارد، چون بخشی از کد که خطا از آن میآید در نسخهی ۸ نیست.
اگر همین حالا پنل از کار افتاده
چون پنل بالا نمیآید، راه برگشت از داخل پنل نیست، از دیتابیس است، مثلا با phpMyAdmin هاستتان. پیش از هر تغییری از دیتابیس نسخهی پشتیبان بگیرید. بعد یکی از این دو راه:
- به ارز تومان یک کد عددی بدهید. با این کار پنل دوباره باز میشود و تومان هم پیشفرض میماند. کد
000به هیچ ارز واقعی تعلق ندارد و پرستاشاپ آن را میپذیرد. اگر پیشوند جدولهای شماps_نیست، آن را عوض کنید:
UPDATE ps_currency SET numeric_iso_code = '000' WHERE id_currency = <شناسهی ارز تومان>;
شناسهی ارز تومان را با SELECT id_currency, iso_code, numeric_iso_code FROM ps_currency; پیدا کنید. ردیفی است که numeric_iso_code آن خالی است.
- ارز پیشفرض را به ریال برگردانید. در جدول
ps_configuration، مقدارPS_CURRENCY_DEFAULTرا شناسهی ارز ریال بگذارید.
بعد از هر کدام، پنل را دوباره باز کنید. راه دوم با بقیهی این مقاله جور است: ریال پیشفرض، و تومان فقط برای نمایش. اگر با دیتابیس پرستاشاپ آشنا نیستید، این کار را به کسی بسپارید که هست، چون یک تغییر اشتباه آنجا فروشگاه را بدتر از الان از کار میاندازد. پشتیبانی و نگهداری پرستاشاپ همین کار را انجام میدهد.
راه امن: ارز پیشفرض ریال بماند، نمایش تومان شود
راهی که در پرستاشاپ ۸ و ۹ خطری ندارد، این است که به ارز پیشفرض دست نزنید. ریال پیشفرض بماند، و فقط نمایش قیمت تومان شود. ابزار تومان در ماژول راهکار پرستاشاپ همین کار را میکند:
- تومان را با نرخ درست نسبت به ارز پیشفرض اضافه میکند، یا اگر از قبل ساختهاید، اصلاحش میکند.
- قیمت را بدون اعشار و با نماد بعد از عدد نشان میدهد، یعنی «۱۲۵٬۰۰۰ تومان».
- نمایش ریال را هم اصلاح میکند، و خطای «ریال125,000» را تا وقتی خود پرستاشاپ رفعش کند دور میزند.
- قیمت محصولات را عوض نمیکند. هر عددی که در دیتابیس دارید همان میماند. فقط شکل نمایش عوض میشود.
تنها تصمیمی که باید بگیرید این است که قیمتها را تا امروز با چه واحدی وارد کردهاید.
قیمتها را ریال وارد کردهاید
اگر قیمت یک کالا را ۱٬۲۵۰٬۰۰۰ نوشتهاید و منظورتان ریال بوده، کلید «هر تومان ده ریال» را روشن کنید. عدد بر ده تقسیم و تومان نشان داده میشود.
قیمتها را از اول تومان وارد کردهاید
بعضی فروشگاهها از روز اول قیمت را تومان نوشتهاند، ولی برچسب ریال کنارش آمده. اینجا عدد درست است و فقط برچسب غلط است. کلید «هر تومان ده ریال» را خاموش بگذارید تا عدد دست نخورد و فقط واحدش تومان شود.
| قیمتها را با چه واحدی وارد کردهاید | «هر تومان ده ریال» | عدد ۱٬۲۵۰٬۰۰۰ در دیتابیس اینطور دیده میشود |
|---|---|---|
| ریال | روشن | ۱۲۵٬۰۰۰ تومان |
| تومان | خاموش | ۱٬۲۵۰٬۰۰۰ تومان |
اگر مطمئن نیستید، یک کالا را باز کنید و قیمتش را با چیزی که مشتری باید بپردازد مقایسه کنید. اگر یک صفر اضافه دارد، ریالی وارد شده.
اگر بعضی قیمتها ریال و بعضی توماناند
در فروشگاهی که چند نفر کالا وارد کردهاند یا سالها کار کرده، این زیاد پیش میآید. کلید «هر تومان ده ریال» برای همهی کالاها یکی است، پس یک دسته از قیمتها حتما غلط نشان داده میشود. پیش از روشن کردن ابزار، فهرست کالاها را از کاتالوگ ← محصولات خروجی بگیرید و ستون قیمت را مرتب کنید. قیمتهایی که ده برابر همدستههایشاناند، معمولا خودشان را نشان میدهند. اول همه را به یک واحد برسانید، بعد کلید را تنظیم کنید.
درگاه پرداخت چه مبلغی میگیرد؟
این همان جایی است که یک اشتباه کوچک، ده برابر ضرر یا ده برابر گرانی میسازد. مبلغی که به درگاه بانک میرسد به دو چیز بستگی دارد: سبد مشتری با کدام ارز ثبت شده، و ماژول درگاه شما مبلغ را چطور تبدیل میکند. بیشتر درگاههای ایرانی مبلغ را ریالی میخواهند و ماژولشان تبدیل را خودش انجام میدهد، ولی این را برای ماژول درگاه خودتان فرض نگیرید.
پیش از اولین فروش واقعی، بعد از هر تغییری در ارز یا نمایش قیمت، یک خرید آزمایشی کوچک بزنید و مبلغ را در صفحهی بانک ببینید، نه در فروشگاه. اگر عدد با چیزی که در سبد دیدید یکی است، تمام است.
اعشار و گرد کردن
تومان در خرید روزمره اعشار ندارد، و ابزار تومان قیمت را بدون اعشار نشان میدهد. اگر قیمتها ریالیاند و بعضیشان بر ده بخشپذیر نیستند، مثلا ۱٬۲۵۰٬۰۰۵ ریال، نمایش تومانشان گرد میشود. بهتر است قیمتهای ریالی را از اول مضرب ده بگذارید تا عددی که مشتری میبیند با عددی که میپردازد هیچ فاصلهای نداشته باشد.
پرستاشاپ ۱.۷ یا ۸ و ۹؟
| نسخه | ساختن ارز «تومان» | پیشفرض کردن تومان | ابزار تومان راهکار |
|---|---|---|---|
| ۱.۶ و ۱.۷ | با فرم ارز ممکن است | آموزشهای قدیمی همین را گفتهاند | پشتیبانی نمیشود |
| ۸ | ممکن است | پنل نمیشکند | پشتیبانی میشود |
| ۹ | ممکن است | پنل و صفحهی ورود خطای ۵۰۰ میدهند (issue #41335، رفعنشده) | پشتیبانی میشود |
ماژول راهکار پرستاشاپ فقط برای پرستاشاپ ۸ و ۹ نوشته شده. اگر هنوز ۱.۷ دارید، روش دستی آموزشهای قدیمی برایتان کار میکند، ولی همان قاعده اینجا هم عاقلانه است: ریال را پیشفرض نگه دارید و تومان را ارز نمایش کنید. ارتقا به نسخهی تازه، داستان جداگانهای است.
دانلود و نصب ماژول تومان پرستاشاپ
ابزار تومان یک ماژول جدا نیست. یکی از ابزارهای ماژول راهکار پرستاشاپ است، که رایگان است و لایسنس نمیخواهد. همان ماژول تاریخ شمسی، استان و شهر و چند امکان دیگر هم دارد. هر کدام کلید جدا دارد و امکان خاموش هیچ اثری روی فروشگاه نمیگذارد.
- ماژول را از صفحهی افزونه دانلود و از ماژولها ← بارگذاری ماژول نصب کنید.
- در منوی کناری پنل روی راهکار بزنید.
- در تب امکانات، پایین صفحه، بخش ابزارها را پیدا کنید و واحد پول تومان را باز کنید.
- کلید «هر تومان ده ریال» را طبق جدول بالا تنظیم کنید و اجرا کنید.
- یک صفحهی محصول و سبد خرید را ببینید، و بعد خرید آزمایشی.
جزئیات بیشتر در تنظیم واحد پول تومان در راهکار پرستاشاپ آمده است.
سؤالهای پرتکرار
قیمت محصولاتم عوض میشود؟ نه. عدد قیمت در دیتابیس همان میماند. فقط شکل نمایشش عوض میشود.
اگر بعدا ابزار را خاموش کنم چه میشود؟ نمایش به حالت قبل برمیگردد. چون قیمتی عوض نشده، دادهای از دست نمیرود.
وقتی خود پرستاشاپ باگ «ریال125,000» را رفع کند، این ابزار لازم است؟ برای آن باگ نه. ولی تومان نشان دادن قیمت، بدون پیشفرض کردن تومان، هنوز کار همین ابزار است.
ماژول تومان دیگری هم نصب دارم. با هم مشکلی ندارند؟ یک کار را با دو ابزار انجام ندهید. پیش از روشن کردن ابزار راهکار، ماژول قبلی را غیرفعال کنید و ببینید آیا ارز پیشفرض را تومان کرده بوده یا نه. اگر کرده و نسخهتان ۹ است، اول همان را به ریال برگردانید.
نظرات
ایمیل شما نمایش داده نمیشود. نظرها پس از تأیید تیم منتشر میشوند.
هنوز نظری ثبت نشده. اولین نفر باش.


نظر خودت را بنویس