عرض المنتجات على الصفحة الرئيسية باستخدام مجموعة مرشحات Magento حسب السمة ، الحقل
نشرت: 2014-10-07اليوم ، تعود Magesolution مع برنامج Magento التعليمي حول بعض الطرق الفعالة لعرض المنتجات على الصفحة الرئيسية باستخدام Magento Filter Collection حسب السمة والحقل
آخر تحديث: لقد أصدرنا للتو الإصدار 2.0 من Claue Multipurpose Magento 2 Theme ، مع مجموعة من تحسينات الأداء والميزات الحصرية. تحقق من هذا الموضوع الآن: Claue Magento Theme 2. 0
عرض حي
يعد Claue - Clean، Minimal Magento 2 & 1 Theme نموذجًا ممتازًا لمتجر تجارة إلكترونية حديث ونظيف يحتوي على أكثر من 40 تخطيطًا للصفحة الرئيسية والعديد من الخيارات للتسوق ، والمدونة ، والمحفظة ، وتخطيطات محدد مواقع المتاجر ، وصفحات مفيدة أخرى. يأتي إصدار Claue 2. 0 مع مجموعة من الميزات الحصرية بما في ذلك:
- أن تكون مبنية على موضوع Luma.
- تلبية جميع معايير موضوع Magento
- تحسن كبير في الأداء
- متوافق مع معظم ملحقات الطرف الثالث.
- متوافق تمامًا مع Magento 2.4.x
هذه النسخة المتقدمة الثانية تختلف تمامًا عن سابقتها. وبالتالي ، إذا كنت تستخدم الإصدار 1 من Claue وترغب في التحديث إلى الإصدار 2 من Claue ، فيمكنك فقط إعادة إنشاء موقع ويب جديد بدلاً من التحديث من الإصدار القديم. الآن ، دعنا نعود إلى الموضوع الرئيسي.
أولاً ، اشرح كيف تقوم Magento بتصفية مجموعة. استخدم هذا لشرح كيفية قيام Magento بتصفية مجموعة حسب السمة ، والحقل في نموذج ، حتى يتمكن الأشخاص من تعلم كتابة مجموعاتهم الخاصة.
addAttributeToFilter () هي وظيفة يمكن استدعاؤها في مجموعة في Magento. في
باختصار ، يضيف شرطًا إلى الجزء WHERE من استعلام MySQL المستخدم لاستخراج مجموعة من قاعدة البيانات.
فمثلا:
$_products = Mage::getModel ('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image')) ->addAttributeToFilter('sku', array('like' => 'UX%')) ->load();
سيحصل الكود أعلاه على مجموعة منتجات ، مع وجود اسم لكل منتج وعنوان url الخاص به
السعر والصورة الصغيرة المحملة في مجموعة البيانات الخاصة به. ستتم تصفية مجموعة المنتجات وستحتوي فقط على المنتجات التي لها رمز SKU يبدأ بـ UX.
الفلتره
يمكننا تصفية مجموعاتنا باستخدام الوظيفة addFieldToFilter (). في SQL ، يمكنك التفكير في هذه على أنها عبارات WHERE.
لنفترض أننا نريد الحصول على منتج عن طريق sku PRODUCT001
$products = Mage::getModel('catalog/product')->getCollection(); $products->addAttributeToFilter('sku','PRODUCT001'); $product = $products->getFirstItem();
لنجرب أكبر من الشرطي. ببساطة قم بتزويد مصفوفة بالنوع والقيمة الشرطين.
المنتجات التي تزيد قيمتها عن 100 دولار:
$products = Mage::getModel('catalog/product')->getCollection(); $products->addAttributeToFilter('price', array('gt' => '100'));
تعطينا Magento الكثير من شروط المرشح للاختيار من بينها لترى:
ترشيح أكواد الشرط
رمز السمة | ما يعادل SQL | وصف |
مكافئ | = | |
neq | ! = | |
مثل | مثل | |
لا يعجبني | لا يشبه | |
في | في () | |
تسعين | ليس في () | |
يكون | يكون | |
غير فارغة | هو ليس لاشيء | |
باطل | باطل | |
المزيد | > = | |
جي تي | > | |
لتر | < | |
gteq | > = | |
لتك | <= | |
Finset | FIND_IN_SET () | |
من | > = | للاستخدام مع التواريخ |
ل | <= | للاستخدام مع التواريخ |
تاريخ | علامة اختيارية للاستخدام مع من / إلى لتحديد قيمة المقارنة التي يجب تحويلها أولاً إلى تاريخ | |
التاريخ والوقت | علامة اختيارية للاستخدام مع من / إلى لتحديد قيمة المقارنة يجب أولاً تحويلها إلى تاريخ / وقت |
إذا تم تمرير مصفوفة ولكن لم يتم تحديد رمز سمة ، فسيتم تفسيرها على أنها مجموعة من شروط "أو" التي ستتم معالجتها بنفس الطريقة.
إذا لم يتم تحديد رمز سمة ، فسيتم تعيينه افتراضيًا على eq.
شروط addAttributeToFilter
يساوي: مكافئ
$_collection-&gt;addAttributeToFilter('status', array('eq' =&gt; 1));
لا يساوي - neq
$_collection-&gt;addAttributeToFilter('sku', array('neq' =&gt; 'test-product'));
مثل - مثل
$_collection-&gt;addAttributeToFilter('sku', array('like' =&gt; 'UX%'));
الشيء الوحيد الذي يجب ملاحظته بشأن الإعجاب هو أنه يمكنك تضمين أحرف البدل في SQL مثل
علامة في المئة.
ليس مثل - لا يعجبني
$_collection-&gt;addAttributeToFilter('sku', array('nlike' =&gt; 'err-prod%'));
في - في
$_collection-&gt;addAttributeToFilter('id', array('in' =&gt; array(1,4,74,98)));
عند استخدام in ، تقبل معلمة القيمة مصفوفة من القيم.
ليس في - نين
$_collection-&gt;addAttributeToFilter('id', array('nin' =&gt; array(1,4,74,98)));
لا شيء
$_collection-&gt;addAttributeToFilter('description', 'null');
ليس NULL - notnull
$_collection-&gt;addAttributeToFilter('description', 'notnull');
أكبر من - GT
$_collection-&gt;addAttributeToFilter('id', array('gt' =&gt; 5));
أقل من لتر
$_collection-&gt;addAttributeToFilter('id', array('lt' =&gt; 5));
أكبر من أو يساوي To- gteq
$_collection-&gt;addAttributeToFilter('id', array('gteq' =&gt; 5));
أقل من أو يساوي - lteq
$_collection-&gt;addAttributeToFilter('id', array('lteq' =&gt; 5));
أو شرط
$_collection-&gt;addAttributeToFilter(array( array( 'attribute' =&gt; 'field_name', 'in' =&gt; array(1, 2, 3), ), array( 'attribute' =&gt; 'date_field', 'from' =&gt; '2010-09-10', ) ));
إظهار منتج جديد: استخدام addAttributeToFilter By Attribute
الخطوة 1: في app / code / local / Mage / Catalog / Block / Product (إذا لم يكن هذا المجلد موجودًا ، فيرجى إنشاؤه). قم بإنشاء ملف كتلة (Newproducts.php) يمتد إلى
Mage_Catalog_Block_Product_List.
app / code / local / Mage / Catalog / Block / Product / Newproducts.php
&lt;?php class Mage_Catalog_Block_Product_Newproducts extends Mage_Catalog_Block_Product_List { protected function _getProductCollection() { if (is_null($this-&gt;_productCollection)) { $todayDate = Mage::app()-&gt;getLocale()-&gt;date()-&gt;toString(Varien_Date::DATETIME_INTERNAL_FORMAT); $collection = Mage::getResourceModel('catalog/product_collection') -&gt;addAttributeToSelect(Mage::getSingleton('catalog/config')-&gt;getProductAttributes()) -&gt;addStoreFilter() -&gt;addPriceData() -&gt;addTaxPercents() -&gt;addUrlRewrite() -&gt;addAttributeToFilter('news_from_date', array('date' =&gt; true, 'to' =&gt; $todayDate)) -&gt;addAttributeToFilter('news_to_date', array('or' =&gt; array( 0 =&gt; array('date' =&gt; true, 'from' =&gt; $todayDate), 1 =&gt; array('is' =&gt; new Zend_Db_Expr('null'))) ), 'left') -&gt;addAttributeToSort('news_from_date', 'desc') -&gt;setPageSize($this-&gt;get_prod_count()) -&gt;setCurPage($this-&gt;get_cur_page()); Mage::getSingleton('catalog/product_status')-&gt;addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')-&gt;addVisibleInCatalogFilterToCollection($collection); $this-&gt;setProductCollection($collection); } return $collection; } }
الخطوة 2: في ملف التخطيط (cms.xml) أو أي صفحة CMS ، أضف الكود التالي:
لملف التنسيق (cms.xml):
&lt;cms_index_index translate=&quot;label&quot;&gt; &lt;label&gt;CMS Home Page&lt;/label&gt; &lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_newproducts&quot; name=&quot;product_new&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt; &lt;/cms_index_index&gt;
لأية صفحة CMS (على سبيل المثال: الصفحة الرئيسية):
انتقل إلى CMS-> Pages ، وقم بتحرير الصفحة الرئيسية مثل هذا:
أضف التعليمات البرمجية التالية إلى الحقل Layout Update XML:
&lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_newproducts&quot; name=&quot;product_new&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt;
عرض المنتج الأكثر مبيعًا: استخدام addAttibuteToFilter By Attribute
مماثل لإظهار منتج جديد على الصفحة الرئيسية.
الخطوة 1 : في app / code / local / Mage / Catalog / Block / Product (إذا لم يكن هذا المجلد موجودًا ، فيرجى إنشاؤه). قم بإنشاء ملف كتلة (Bestsellers.php) يمتد إلى Mage_Catalog_Block_Product_List.
app / code / local / Mage / Catalog / Block / Product / Bestsellers.php
&lt;?php class Mage_Catalog_Block_Product_Bestsellers extends Mage_Catalog_Block_Product_List { protected function _getProductCollection() { if (is_null($this-&gt;_productCollection)) { $storeId = Mage::app()-&gt;getStore()-&gt;getId(); $collection = Mage::getResourceModel('reports/product_collection') -&gt;addOrderedQty() -&gt;addAttributeToSelect('*')-&gt;setStoreId($storeId) -&gt;addStoreFilter($storeId) -&gt;addUrlRewrite() -&gt;setPageSize($this-&gt;get_prod_count()) -&gt;setCurPage($this-&gt;get_cur_page()) -&gt;setOrder('ordered_qty', 'desc'); Mage::getSingleton('catalog/product_status')-&gt;addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')-&gt;addVisibleInCatalogFilterToCollection($collection); $this-&gt;setProductCollection($collection); } return $collection; } }
الخطوة 2: في ملف التخطيط (cms.xml) أو أي صفحة CMS ، أضف الكود التالي:
لملف التنسيق (cms.xml):
&lt;cms_index_index translate=&quot;label&quot;&gt; &lt;label&gt;CMS Home Page&lt;/label&gt; &lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_bestsellers&quot; name=&quot;product_bestseller&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt; &lt;/cms_index_index&gt;
لأية صفحة CMS (على سبيل المثال: الصفحة الرئيسية):
انتقل إلى CMS-> Pages ، وقم بتحرير الصفحة الرئيسية مثل هذا:
أضف التعليمات البرمجية التالية إلى الحقل Layout Update XML:
&lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_bestsellers&quot; name=&quot;product_bestseller&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt;
إظهار المنتجات ذات السمة المخصصة أو الحقل
إنشاء سمة - مميزة
- قم بتسجيل الدخول إلى لوحة إدارة Magento
- انتقل إلى "إدارة السمات" ضمن الكتالوج -> السمات -> إدارة السمات
- في الجزء العلوي الأيسر ، انقر فوق "إضافة سمة جديدة"
- أنت الآن في صفحة تحرير السمة وعلامة التبويب خصائص. تبدو هكذا:
علامة التبويب "خصائص"
علامة التبويب الواجهة الأمامية
- معرّف السمة: هذا هو اسم السمة التي يستخدمها النظام. لا يمكن استخدام المسافات في هذا المجال. سنقوم بكتابة المميز.
- النطاق: يحدد هذا مستوى المتجر الذي سيتم عنده حفظ هذه السمة لجميع المنتجات. إذا اخترت Global ، وقمت بتعديل الميزات المميزة للمنتج 123 في المتجر A إلى Yes ، فسيتم أيضًا تحديث المنتج 123 الموجود في المتجر B (وأي متاجر أخرى) إلى Yes.
- نوع إدخال الكتالوج: يصف هذا نوع البيانات التي ستخزنها السمة. ما يتم تعيينه هنا يحدد كيفية إدخال البيانات لهذه السمة. سنستخدم نعم / لا لأننا نريد تحديد قيمة.
- القيمة الافتراضية: يمكنك تحديد قيمة يتم ملؤها تلقائيًا للمنتجات الجديدة.
- القيمة الفريدة: إذا كانت الإجابة بنعم ، فيجب أن تكون البيانات المحفوظة في هذه السمة فريدة لكل منتج. في هذه الحالة ، سنقول "لا" ، لأنه يمكن أن تحتوي الميزات المتعددة على نفس الميزات.
- القيم المطلوبة: إذا كانت الإجابة بنعم ، فستتم مطالبتك بتحديد البيانات في حقل السمة هذا عند حفظ منتج يستخدمها.
- تطبيق على: هذا يحدد أنواع المنتجات التي ستعرض لها هذه السمة. على سبيل المثال ، لن يكون السعر منطقيًا في منتج مجمع ، حيث سيكون لكل منتج بسيط مرتبط بالمنتج المجمع سعره الخاص. لذلك ، يمكنك تعيين السعر بحيث لا ينطبق على المنتج المجمع ، ولن تخدش ذهنك بشأن الأرقام التي يجب كتابتها هناك.
- الاستخدام في البحث السريع / المتقدم: إذا كانت الإجابة "نعم" ، فإن البيانات المحفوظة في هذه السمة ستكون قابلة للبحث في الواجهة الأمامية في البحث السريع والبحث المتقدم ، على التوالي.
- قابلة للمقارنة على الواجهة الأمامية: إذا كانت الإجابة "نعم" ، فسيتم عرض هذه السمة في مقارنة المنتج ، طالما أن منتجًا واحدًا على الأقل في "قائمة المقارنة" يحتوي على قيمة لهذه السمة.
- الاستخدام في التنقل متعدد الطبقات: إذا كانت "قابلة للتصفية" ، فستتوفر هذه البيانات كمرشح في التنقل متعدد الطبقات في Magento. قابل للتصفية (مع النتائج) يعني أن القيم المرتبطة فقط بمنتجات معينة في صفحة فئة معينة سيتم إدراجها في قائمة التنقل متعدد الطبقات. قابل للتصفية (لا توجد نتائج) يعني أنه سيتم عرض جميع القيم الموجودة لسمة ما في القائمة ، حتى إذا كان استخدام هذا كمرشح لن ينتج عنه أي نتائج. هناك شرط واحد لاستخدام السمات في التنقل متعدد الطبقات - يجب أن يكون نوع الإدخال من القائمة المنسدلة أو التحديد المتعدد أو السعر.
- الموضع: يحدد هذا موضع هذه السمة في قائمة Layered Nav.
- مرئي على صفحات الكتالوج على الواجهة الأمامية: إذا كانت الإجابة "لا" ، فلن يتم عرض هذه السمة في صفحة معلومات المنتج. تتحكم "الرؤية" فقط في عرض السمة في الواجهة الأمامية أم لا. ضع في اعتبارك - إذا قمت بتعيين سمة على "مرئية: لا" ، وتركتها على أنها "قابلة للمقارنة: نعم" ، فستستمر هذه السمة في الظهور عند المقارنة
إدارة التسمية / الخيارات
ضمن علامة التبويب هذه ، يمكنك إدخال تسمية السمة في الواجهة الأمامية. إذا كنت تتحكم في المتاجر بلغات متعددة ، فيمكنك إدخال التسمية بكل لغة ضمن علامة التبويب هذه. إذا كانت تسمية المتجر فارغة ، فسيقوم هذا المتجر بالبحث عن الملصق الافتراضي واستخدامه. هنا سنقوم بإدخال "المميزة" ضمن "افتراضي".
تطبيق سمة لمجموعات السمات - افتراضي
- قم بتسجيل الدخول إلى لوحة إدارة Magento
- انتقل إلى "إدارة السمات" ضمن الكتالوج -> السمات -> إدارة مجموعات السمات
- انقر فوق "افتراضي" أو أي مجموعات سمات.
- أنت الآن في صفحة تحرير مجموعة السمة وانتقل المميز إلى مجموعة عامة أو أي مجموعة. تبدو هكذا:
التقديم على منتج
الآن ، لتطبيق هذه السمة القابلة للتحديد على منتج ما ، ما عليك سوى إضافتها إلى مجموعة السمات وإنشاء منتج جديد باستخدام هذه المجموعة. يوجد أدناه مثال مبسط لعلامة التبويب "عام" لإنشاء منتج جديد في المسؤول:
مماثل لإظهار منتج جديد على الصفحة الرئيسية.
الخطوة 1: في app / code / local / Mage / Catalog / Block / Product (إذا لم يكن هذا المجلد موجودًا ، فيرجى إنشاؤه). قم بإنشاء ملف كتلة (مميز .php) يمتد إلى Mage_Catalog_Block_Product_List.
التطبيق / الكود / المحلي / ماجى / كتالوج / بلوك / المنتج / المميز
في هذه التعليمات البرمجية التالية ، باستخدام addAttributeToFilter لسمة عامل التصفية المميزة واستخدام addFieldToFilter لحقل المرشح SKU للمنتج الذي يحتوي على قيمة SKU مثل “PROD0003”.
&lt;?php class Mage_Catalog_Block_Product_Featured extends Mage_Catalog_Block_Product_List { protected function _getProductCollection() { if (is_null($this-&gt;_productCollection)) { $collection = Mage::getResourceModel('catalog/product_collection') -&gt;addAttributeToSelect(Mage::getSingleton('catalog/config')-&gt;getProductAttributes()) -&gt;addStoreFilter() -&gt;addPriceData() -&gt;addTaxPercents() -&gt;addUrlRewrite() -&gt;addAttributeToFilter('featured', array('eq' =&gt; 1)) -&gt;addFieldToFilter('sku', array('like', 'PROD0003')) -&gt;setPageSize($this-&gt;get_prod_count()) -&gt;setCurPage($this-&gt;get_cur_page()); Mage::getSingleton('catalog/product_status')-&gt;addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')-&gt;addVisibleInCatalogFilterToCollection($collection); $this-&gt;setProductCollection($collection); } return $collection; } } Step 2: In layout file(cms.xml) or any CMS Page add following code: For layout file(cms.xml): &lt;cms_index_index translate=&quot;label&quot;&gt; &lt;label&gt;CMS Home Page&lt;/label&gt; &lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_featured&quot; name=&quot;product_featured&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt; &lt;/cms_index_index&gt;
لأية صفحة CMS (على سبيل المثال: الصفحة الرئيسية):
انتقل إلى CMS-> Pages ، وقم بتحرير الصفحة الرئيسية مثل هذا:
أضف التعليمات البرمجية التالية إلى الحقل Layout Update XML:
&lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_featured&quot; name=&quot;product_featured&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt;
يرجى مشاركة انطباعاتك وأفكارك في التعليقات أدناه!