ستساعدك المقالة التالية: كيفية تعيين الشروط لتقييد إضافة المنتجات في Magento 2
<؟ php
مساحة الاسم البائع \ الامتداد \ المراقب ؛
استخدم Magento \ Framework \ Event \ ObserverInterface ؛
استخدم Magento \ Framework \ App \ Response \ RedirectInterface ؛
استخدام Magento \ Checkout \ Model \ Cart ؛
استخدام Magento \ Framework \ Message \ ManagerInterface ؛
استخدام Magento \ Framework \ App \ RequestInterface ؛
استخدام Magento \ Catalog \ Model \ Product؛
استخدام Magento \ Framework \ App \ Http \ Context مثل جلسة العملاء ؛
تطبق فئة Cartadd ObserverInterface {
عربة محمية بالدولار الأمريكي ؛
messageManager المحمي $ ؛
إعادة توجيه $ محمية؛
طلب $ محمي؛
منتج محمي $؛
جلسة العملاء المحمية $ ؛
public function __construct (RedirectInterface $ redirect، Cart $ cart، ManagerInterface $ messageManager، RequestInterface $ request، Product $ product، customerSession $ session) {
$ this-> إعادة التوجيه = $ redirect؛
$ this-> cart = $ عربة ؛
$ this-> messageManager = $ messageManager ؛
$ this-> request = $ request؛
$ this-> product = $ product؛
$ this-> customerSession = $ session؛
}
تنفيذ الوظيفة العامة (\ Magento \ Framework \ Event \ Observer $ Observer) {
$ postValues = $ this-> request-> getPostValue ()؛
cartItemsCount $ = $ this-> cart-> getQuote () -> getItemsCount () ؛
// الكود الخاص بك لتقييد الإضافة إلى عربة التسوق
إذا (شرط) {
$ Observer-> getRequest () -> setParam (‘product’، false)؛
$ this-> messageManager-> addErrorMessage (__ (‘error msg.’)) ؛
}
}
}