تصویر امیر حسین اکبری

برای تغییر ویژگی‌های یک واحد پولی ماژول‌هایی با عنوان (commerce price formatting modules) از جمله Commerce Currency Settings وجود دارد. اما هیچ کدام از آنها امکان انتخاب عدد صفر برای تعداد اعداد اعشار در قیمت را نمی‌دهند. برای این کار با استفاده از API ماژول Commerce باید دست به کار شوید. برای حذف دو عدد اعشار از واحد پولی ریال (IRR) از کد زیر استفاده می‌کنیم.

<?php
/**
* Implements hook_commerce_currency_info_alter().
*/
function MYMODULE_commerce_currency_info_alter(&$currencies, $langcode) {
  $currencies['IRR']['decimals'] = 0;
}
?>

ماژول پیوست این مطلب برای این منظور پیاده سازی شده است.

دیدگاه‌ها

تصویر محمدعلی اکبری

محمدعلی اکبری

همچنین اگر از Search API استفاده می‌کنید، در برخی موارد با تغییر تنظیمات قیمت ممکن است لازم باشد Index را بازسازی کنید.

تصویر محمد پورچریکی

محمد پورچریکی (تایید نشده)

سلام
بعد از نصب ماژول دچار این مشکل شدم که عددها درست نمایش داده می‌شوند مثلا 100000 ریال (ده هزار تومان) اما وقتی به درگاه پرداخت وصل میشویم مبلغ 100 تومان (1000 ریال) درج شده است!!!!
چکار باید انجام دهیم؟!!!

تصویر محمدعلی اکبری

محمدعلی اکبری

سلام؛ از کدام ماژول پرداخت استفاده می‌کنید؟ احتمالا مشکل در گرفتن قیمت از order است. یعنی قیمت بدون توابع و API موجود در commerce گرفته شده است.

تصویر محمدعلی اکبری

محمدعلی اکبری

این ماژول با ماژول Currency for Drupal Commerce سازگار نیست.

تصویر مهرداد

مهرداد (تایید نشده)

با درود فراوان
من هم برای نصب به مشکل خوردم و در زمان پرداخت، مبلغ 100 تومان (1000 ریال) را نشان می دهد، تفاوتی نمی کند مبلغ سفارش چقدر باشد، این عدد را نشان می دهد.
پیروز باشید

تصویر محمدعلی اکبری

محمدعلی اکبری

حتما در تنظیمات متد پرداخت گزینه debug را تیک زده اید. آن را غیر فعال کنید.

تصویر مهرداد

مهرداد (تایید نشده)

خط ۷۳
از ماژول این هست

    $amount_debug = commerce_currency_decimal_to_amount(1000, $currency_code);

این به صورت ثابت هست و از این خط میاد

تصویر محمدعلی اکبری

محمدعلی اکبری

سلام؛ نباید به کد دست بزنید. همان تیک debug را بردارید. این گزینه برای زمانی است که بدون ویرایش قیمت محصولات موجود قصد آزمایش درگاه پرداخت را با قیمت 100 تومان دارید.

تصویر مهرداد

مهرداد (تایید نشده)

تیک debug رو برداشت، درست شد. ممنون

تصویر بهزاد

بهزاد (تایید نشده)

موردی که من برخورد کردم با این ماژول این هست که مبلغ 636000ريال رو وقتی ارسال میشه به بانک اینطوری میره 63600ريال و یک صفر کم میشه.. نظری دارید؟

تصویر بهزاد

بهزاد (تایید نشده)

البته احتمالا ربطی به این ماژول هم نداره چون وقتی غیر فعال میشه هم این مورد هست. بنظرتون مشکل از کجاست. با تست دیباگ قیمت 1000ريال درست میره به بانک و موردی نداره

تصویر محمدعلی اکبری

محمدعلی اکبری

از کدام ماژول پرداخت استفاده مکنید؟

تصویر بهزاد

بهزاد (تایید نشده)

ماژول بانک ملتی که شما زحمتش رو کشیده اید

تصویر محمدعلی اکبری

محمدعلی اکبری

آیا ماژول دیگه ای برای تنظیمات واحد پولی نصب کردید؟

تصویر بهزاد

بهزاد (تایید نشده)

یک ماژولی بود که کارنسی تومان رو اضافه میکرد که غیرفعال و حذفش کردم.. احتمالی هست که بعد از حذف مورد دار باشه؟

تصویر بهزاد

بهزاد (تایید نشده)

از همون ماژول تومان بود.

تصویر نگین

نگین (تایید نشده)

با سلام
من اين ماژول رو دانلود کردم اما حالا کجا بايد ازش استفاده کنم؟
لطفا راهنمايی کنيد،اطلاع زيادی ندارم

تصویر محمدعلی اکبری

محمدعلی اکبری

سلام دوست عزیز؛ فقط کافی هست ماژول را نصب کنید. بعد از نصب دو رقم اعشار حذف می‌شود. لذا مراقب باشید قیمت ها درست باشند.

تصویر حمید

حمید (تایید نشده)

سلام و ممنون برای این پست.

میشه واحد رو هم به تومان تغییر داد؟
مثل این که یک ماژول هست ولی ظاهرا مشکل داره....

تصویر حمید

حمید (تایید نشده)

سلام.
ماژول خیلی خوبیه...
ولی راهی هست که واحد رو به "تومان" تغییر بدیم؟

تصویر امیر حسین اکبری

امیر حسین اکبری

بدین منظور تنها کافیست ترجمه وبسایت خود را از ریال به تومان تغییر داده و مبالغ را به تومان وارد نمایید.

تصویر حمید

حمید (تایید نشده)

بله. ولی برای ارسال به سایت بانک برای پرذاخت اینترنتی باید مبلغ به ریال ثبت بشه.

برای این مورد چه کار میشه کرد؟

تصویر محمدعلی اکبری

محمدعلی اکبری

باید واحد پولی تومان را تعریف کنید و از امکان تبدیل واحد پولی برای تبدیل تومان به ریال استفاده کنید.

تصویر Hamid Asghari

Hamid Asghari

منظور شما از "تعریف" چیه؟ چون در Commerce جایی برای تعریف واحد جدید ندیدم.
هرچند در Ubercart یه همچین قابلیتی وجود داشت.
ولی در همین چند دقیقه با جستجو متوجه این ماژول شدم: https://drupal.org/project/currency_commerce
منظور شما همین بود؟

تصویر امیر حسین اکبری

امیر حسین اکبری

برای تعریف واحد پولی تومان این مطلب را بخوانید: افزودن واحد پولی "تومان" به دروپال کامرس

تصویر محمد امیری

محمد امیری

سلام
مطلب خوبیه اما راه ساده تری هم هست
میشه تو
commerce\includes\commerce.currency.inc
decimals ریال رو صفر کرد
'decimals' => 0

افزودن نظر جدید