แสดงสินค้าบนโฮมเพจโดยใช้ Magento Filter Collection By Attribute,Field
เผยแพร่แล้ว: 2014-10-07วันนี้ Magesolution กลับมาพร้อมกับบทแนะนำ Magento เกี่ยวกับวิธีการที่มีประสิทธิภาพในการแสดงผลิตภัณฑ์บนหน้าแรกโดยใช้ Magento Filter Collection By Attribute,Field
อัปเดตล่าสุด: เราเพิ่งเปิดตัวธีม Claue Multipurpose Magento 2 เวอร์ชัน 2.0 พร้อมการปรับปรุงประสิทธิภาพมากมายและคุณลักษณะพิเศษเฉพาะ ตรวจสอบชุดรูปแบบนี้เลย: Claue Magento Theme 2. 0
สาธิตสด
Claue – ธีม Magento 2&1 ที่สะอาดและเรียบง่ายเป็นเทมเพลตที่ยอดเยี่ยมสำหรับร้านอีคอมเมิร์ซที่ทันสมัยและสะอาดตา พร้อมด้วยเลย์เอาต์ของหน้าแรกมากกว่า 40 แบบและตัวเลือกมากมายสำหรับร้านค้า บล็อก พอร์ตโฟลิโอ เลย์เอาต์ตัวระบุตำแหน่งร้าน และหน้าที่มีประโยชน์อื่นๆ Claue เวอร์ชัน 2. 0 มาพร้อมกับคุณสมบัติพิเศษมากมาย ได้แก่ :
- อิงจากธีม Luma
- ตรงตามมาตรฐานทั้งหมดของ Magento Theme
- การปรับปรุงประสิทธิภาพที่สำคัญ
- เข้ากันได้กับส่วนขยายของบุคคลที่สามส่วนใหญ่
- เข้ากันได้อย่างสมบูรณ์กับ Magento 2.4.x
รุ่นขั้นสูงที่สองนี้แตกต่างอย่างสิ้นเชิงจากรุ่นก่อน ดังนั้น หากคุณใช้ Claue เวอร์ชัน 1 และต้องการอัปเดตเป็น Claue เวอร์ชัน 2 คุณสามารถสร้างเว็บไซต์ใหม่ได้เท่านั้น แทนที่จะอัปเดตจากเวอร์ชันเก่า เอาล่ะ กลับมาที่หัวข้อหลักกัน
ขั้นแรก อธิบายว่า 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();
มาลองใช้เงื่อนไข Greater Than เพียงใส่อาร์เรย์ที่มีประเภทและค่าตามเงื่อนไข
สินค้าที่มีมูลค่ามากกว่า $100:
$products = Mage::getModel('catalog/product')->getCollection(); $products->addAttributeToFilter('price', array('gt' => '100'));
Magento มีเงื่อนไขตัวกรองมากมายให้เลือกดู:
รหัสเงื่อนไขตัวกรอง
รหัสแอตทริบิวต์ | SQL เทียบเท่า | คำอธิบาย |
เท่ากัน | = | |
เนค | != | |
ชอบ | ชอบ | |
nlike | ไม่ชอบ | |
ใน | ใน () | |
นิน | ไม่อยู่ใน () | |
เป็น | เป็น | |
ไม่เป็นโมฆะ | ไม่เป็นโมฆะ | |
โมฆะ | เป็นโมฆะ | |
Moreq | >= | |
gt | > | |
ลล | < | |
gteq | >= | |
lteq | <= | |
Finset | FIND_IN_SET() | |
จาก | >= | สำหรับใช้กับวันที่ |
ถึง | <= | สำหรับใช้กับวันที่ |
วันที่ | แฟล็กทางเลือกสำหรับใช้กับ from/to เพื่อระบุว่าค่าเปรียบเทียบนั้นควรถูกแปลงเป็น date ก่อน | |
วันเวลา | แฟล็กทางเลือกสำหรับใช้กับ from/to เพื่อระบุว่าค่าเปรียบเทียบนั้นควรถูกแปลงเป็น datetime ก่อน |
หากอาร์เรย์ถูกส่งผ่านแต่ไม่ได้ระบุรหัสแอตทริบิวต์ อาร์เรย์นั้นจะถูกตีความว่าเป็นกลุ่มของเงื่อนไข OR ที่จะถูกประมวลผลในลักษณะเดียวกัน
หากไม่มีการระบุรหัสแอตทริบิวต์ ค่าเริ่มต้นจะเท่ากับ
เงื่อนไข addAttributeToFilter
เท่ากับ: eq
$_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 เช่น the
เครื่องหมายเปอร์เซ็นต์
ไม่ชอบ – nlike
$_collection-&gt;addAttributeToFilter('sku', array('nlike' =&gt; 'err-prod%'));
อิน-อิน
$_collection-&gt;addAttributeToFilter('id', array('in' =&gt; array(1,4,74,98)));
เมื่อใช้งานใน พารามิเตอร์ค่าจะยอมรับอาร์เรย์ของค่าต่างๆ
ไม่อิน – นิน
$_collection-&gt;addAttributeToFilter('id', array('nin' =&gt; array(1,4,74,98)));
NULL – null
$_collection-&gt;addAttributeToFilter('description', 'null');
ไม่ NULL – ไม่ null
$_collection-&gt;addAttributeToFilter('description', 'notnull');
มากกว่า – gt
$_collection-&gt;addAttributeToFilter('id', array('gt' =&gt; 5));
น้อยกว่า – lt
$_collection-&gt;addAttributeToFilter('id', array('lt' =&gt; 5));
มากกว่าหรือเท่ากับTogteq
$_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;
แสดงผลิตภัณฑ์ด้วยแอตทริบิวต์ที่กำหนดเองหรือฟิลด์
การสร้างแอตทริบิวต์ – Featured
- เข้าสู่ระบบแผงผู้ดูแลระบบ Magento
- ไปที่ "จัดการแอตทริบิวต์" ภายใต้แคตตาล็อก -> คุณลักษณะ -> จัดการแอตทริบิวต์
- ที่ด้านบนขวา ให้คลิกที่ "เพิ่มแอตทริบิวต์ใหม่"
- ตอนนี้คุณอยู่ในหน้าแก้ไขแอตทริบิวต์และแท็บคุณสมบัติแล้ว ดูเหมือนว่านี้:
แท็บคุณสมบัติ
แท็บส่วนหน้า
- ตัวระบุแอตทริบิวต์: นี่คือชื่อของแอตทริบิวต์ที่ใช้โดยระบบ ไม่สามารถใช้ช่องว่างในช่องนี้ได้ เราจะพิมพ์คุณสมบัติเด่น
- ขอบเขต: กำหนดระดับร้านค้าที่แอตทริบิวต์นี้จะบันทึกสำหรับผลิตภัณฑ์ทั้งหมด หากคุณเลือกทั่วโลก และแก้ไขรายการเด่นสำหรับผลิตภัณฑ์ 123 ในร้านค้า A เป็น ใช่ ผลิตภัณฑ์แนะนำของ 123 ในร้านค้า B (และร้านค้าอื่นๆ) จะอัปเดตเป็นใช่ด้วย
- ประเภทอินพุตแค็ตตาล็อก: สิ่งนี้อธิบายชนิดของข้อมูลที่จะจัดเก็บแอตทริบิวต์ ค่าที่ตั้งไว้ที่นี่เป็นตัวกำหนดวิธีการป้อนข้อมูลสำหรับแอตทริบิวต์นี้ เราจะใช้ Yes/No เนื่องจากเราต้องการเลือกค่า
- ค่าเริ่มต้น: คุณสามารถเลือกค่าที่จะเติมโดยอัตโนมัติสำหรับผลิตภัณฑ์ใหม่
- ค่าที่ไม่ซ้ำ: หาก "ใช่" ข้อมูลที่บันทึกไว้ในแอตทริบิวต์นี้จะต้องไม่ซ้ำกันสำหรับแต่ละผลิตภัณฑ์ ในกรณีนี้ เราจะพูดว่า "ไม่" เนื่องจากรายการเด่นหลายรายการสามารถมีรายการเด่นเดียวกันได้
- ค่าที่ต้องการ: หาก "ใช่" คุณจะต้องเลือกข้อมูลในช่องแอตทริบิวต์นี้เมื่อบันทึกผลิตภัณฑ์ที่ใช้ข้อมูลดังกล่าว การตรวจสอบความถูกต้องของข้อมูลเข้า:
- ใช้กับ: สิ่งนี้กำหนดว่าแอตทริบิวต์นี้จะแสดงประเภทผลิตภัณฑ์ใด ตัวอย่างเช่น ราคาจะไม่สมเหตุสมผลในผลิตภัณฑ์ที่จัดกลุ่ม เนื่องจาก Simple Product แต่ละรายการที่เชื่อมโยงกับผลิตภัณฑ์ที่จัดกลุ่มจะมีราคาของตัวเอง ดังนั้น คุณสามารถกำหนดราคาให้ไม่ใช้กับสินค้าที่จัดกลุ่มได้ และคุณจะไม่ต้องคิดหนักว่าจะเขียนตัวเลขอะไรลงไป
- ใช้ในการค้นหาด่วน/ขั้นสูง: หาก "ใช่" ข้อมูลที่บันทึกไว้ในแอตทริบิวต์นี้จะค้นหาได้ในส่วนหน้าในการค้นหาด่วนและการค้นหาขั้นสูงตามลำดับ
- เปรียบได้กับส่วนหน้า: หาก "ใช่" แอตทริบิวต์นี้จะแสดงในการเปรียบเทียบผลิตภัณฑ์ ตราบใดที่ผลิตภัณฑ์อย่างน้อยหนึ่งรายการในรายการเปรียบเทียบมีค่าสำหรับแอตทริบิวต์นี้
- ใช้ในการนำทางแบบเลเยอร์: หาก "กรองได้" ข้อมูลนี้จะพร้อมใช้งานเป็นตัวกรองในการนำทางแบบเลเยอร์ของวีโอไอพี กรองได้ (พร้อมผลลัพธ์) หมายความว่าเฉพาะค่าที่เกี่ยวข้องกับผลิตภัณฑ์เฉพาะในหน้าหมวดหมู่ที่กำหนดเท่านั้นที่จะแสดงรายการในเมนูการนำทางแบบเลเยอร์ กรองได้ (ไม่มีผลลัพธ์) หมายความว่าค่าที่มีอยู่ทั้งหมดสำหรับแอตทริบิวต์จะแสดงในเมนู แม้ว่าจะใช้สิ่งนี้เป็นตัวกรองจะไม่ให้ผลลัพธ์ก็ตาม มีเงื่อนไขหนึ่งประการในการใช้แอตทริบิวต์ในการนำทางแบบเลเยอร์ – ประเภทอินพุตต้องเป็นแบบเลื่อนลง เลือกหลายรายการ หรือราคา
- ตำแหน่ง: สิ่งนี้กำหนดตำแหน่งของแอตทริบิวต์นี้ในเมนู Layered Nav
- ปรากฏบนหน้าแค็ตตาล็อกที่ส่วนหน้า: หาก “ไม่” แอตทริบิวต์นี้จะไม่ปรากฏในหน้าข้อมูลผลิตภัณฑ์ "การมองเห็น" จะควบคุมว่าแอตทริบิวต์จะแสดงในส่วนหน้าหรือไม่เท่านั้น โปรดจำไว้ว่า หากคุณตั้งค่าแอตทริบิวต์เป็น "มองเห็นได้: ไม่" และปล่อยให้เป็น "เปรียบเทียบได้: ใช่" คุณลักษณะนี้จะยังคงแสดงในการเปรียบเทียบ
จัดการป้ายกำกับ / ตัวเลือก
ใต้แท็บนี้ คุณสามารถป้อนป้ายกำกับสำหรับแอตทริบิวต์ในส่วนหน้า หากคุณควบคุมร้านค้าในหลายภาษา คุณสามารถป้อนป้ายกำกับในแต่ละภาษาใต้แท็บนี้ได้ หากป้ายชื่อร้านค้าว่างเปล่า ร้านค้านี้จะดูที่ป้าย เริ่มต้น และใช้ป้ายนี้ ที่นี่เราจะป้อน "โดดเด่น" ภายใต้ "ค่าเริ่มต้น"
ใช้แอตทริบิวต์สำหรับชุดแอตทริบิวต์ – Default
- เข้าสู่ระบบแผงผู้ดูแลระบบ Magento
- ไปที่ "จัดการแอตทริบิวต์" ภายใต้แคตตาล็อก -> คุณลักษณะ -> จัดการชุดแอตทริบิวต์
- คลิกที่ "ค่าเริ่มต้น" หรือชุดแอตทริบิวต์ใด ๆ
- ตอนนี้คุณอยู่ในหน้าแก้ไขชุดแอตทริบิวต์แล้วย้ายวิดีโอเด่นไปที่กลุ่มทั่วไปหรือกลุ่มใดๆ ดูเหมือนว่านี้:
สมัครสินค้า
ตอนนี้ หากต้องการใช้แอตทริบิวต์ที่เลือกได้นี้กับผลิตภัณฑ์ เพียงเพิ่มลงในชุดแอตทริบิวต์แล้วสร้างผลิตภัณฑ์ใหม่โดยใช้ชุดนี้ ด้านล่างนี้เป็นตัวอย่างอย่างง่ายของแท็บทั่วไปในการสร้างผลิตภัณฑ์ใหม่ในผู้ดูแลระบบ:
คล้ายกับการแสดงสินค้าใหม่ในหน้าแรก
ขั้นตอนที่ 1: ใน app/code/local/Mage/Catalog/Block/Product (หากไม่มีโฟลเดอร์นี้ โปรดสร้างมันขึ้นมา) สร้างไฟล์บล็อก (Featured.php) ที่ขยายไปยัง Mage_Catalog_Block_Product_List
app/code/local/Mage/Catalog/Block/Product/ Featured.php
ในโค้ดต่อไปนี้ การใช้ 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;
กรุณาแบ่งปันความประทับใจและความคิดของคุณในความคิดเห็นด้านล่าง !