سپیده یافتیان

حذف رایگان از صورتحساب مشتری در قسمت حساب کاربری

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

برای حل مشکل چکار کنیم؟

سیدهاشم افخمی

سلام

در ماژول پرستاکارت ۲ که این امکان اضافه شد ، قصد داشتیم برای تمام قسمت ها امکان نمایش متن برچسب حامل رو ایجاد کنیم ولی خوب به دلیل عدم وجود هوک و البته عدم امکان اورراید فایل هایی که باید تغییر می کردن ، عملا به تنهایی و با ماژول امکانش نبود.

البته یک امکان آزمایشی به ماژول پرستاکارت اضافه شده که میتونید با یک تغییر در یکی از فایل ها این کار رو انجام بدید.

دقت کنید که این آموزش ویژه فروشگاه هایی هست که از ماژول پرستاکارت ۲ و امکان برچسب حامل استفاده میکنند.

برای این کار فایل زیر رو باز کنید: (دقت کنید که حتما قبل از تغییر بکاپ از فایل بگیرید)

src\Adapter\Presenter\Order\OrderSubtotalLazyArray.php

در ابتدای فایل قسمتی وجود دارد که کلاس های php اضافه شده که هر خط با use شروع میشه ، در این قسمت باید یک خط به صورت زیر اضافه کنید.

use Hook; 

اینم تصویر بعد از اضافه کردن این خط :


قسمت سبز رنگ اضافه شده<br>
قسمت سبز رنگ اضافه شده

بعد از این کار برید به خط ۱۴۶ و این خط زیر رو پیدا کنید :

# -- before
: $this->translator->trans('Free', [], 'Shop.Theme.Checkout'),


# -- after
// : $this->translator->trans('Free', [], 'Shop.Theme.Checkout'),
: Hook::exec('overrideOrderShippingSubtotal', [
  'shippingCost' => $shippingCost,
  'order' => $this->order
])


به صورت زیر میشه

دقت کنید که خطا ۱۴۶ غیر فعال شد و به جای آن هوک overrideOrderShippingSubtotal فراخوانی شده.

خیلی مهم هست که با دقت انجام بدید ، کوچکترین اشتباهیی و خطای php میتونه باعث ایجاد مشکل بشه (دقت کنید که حتما قبل از تغییر بکاپ از فایل بگیرید)

بعد از انجام این موارد باید برچسب حامل در صفحه جزئیات سفارش برای مشتری هم نمایش داده شود.

سپیده یافتیان

با سلام

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

برای قبلی ها همچنان رایگان نمایش میده؟

سیدهاشم افخمی

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

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

ایجاد گفتگو جدید

اگر سوالی دارید ، اگر چالشی در فروشگاه خود دارید ، می توانید گفتگو خود را ایجاد نمایید.

ایجاد گفتگو جدید

دوره های آموزشی

Loading...