แสดงสินค้าบนโฮมเพจโดยใช้ 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

claue2_edited (1)

สาธิตสด

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-&amp;gt;addAttributeToFilter('status', array('eq' =&amp;gt; 1));

ไม่เท่ากับ – neq

$_collection-&amp;gt;addAttributeToFilter('sku', array('neq' =&amp;gt; 'test-product'));

ชอบ-ชอบ

$_collection-&amp;gt;addAttributeToFilter('sku', array('like' =&amp;gt; 'UX%'));

สิ่งหนึ่งที่ควรทราบเกี่ยวกับสิ่งที่ชอบคือ คุณสามารถรวมอักขระตัวแทนของ SQL เช่น the
เครื่องหมายเปอร์เซ็นต์
ไม่ชอบ – nlike

$_collection-&amp;gt;addAttributeToFilter('sku', array('nlike' =&amp;gt; 'err-prod%'));

อิน-อิน

$_collection-&amp;gt;addAttributeToFilter('id', array('in' =&amp;gt; array(1,4,74,98)));

เมื่อใช้งานใน พารามิเตอร์ค่าจะยอมรับอาร์เรย์ของค่าต่างๆ
ไม่อิน – นิน

$_collection-&amp;gt;addAttributeToFilter('id', array('nin' =&amp;gt; array(1,4,74,98)));

NULL – null

$_collection-&amp;gt;addAttributeToFilter('description', 'null');

ไม่ NULL – ไม่ null

$_collection-&amp;gt;addAttributeToFilter('description', 'notnull');

มากกว่า – gt

$_collection-&amp;gt;addAttributeToFilter('id', array('gt' =&amp;gt; 5));

น้อยกว่า – lt

$_collection-&amp;gt;addAttributeToFilter('id', array('lt' =&amp;gt; 5));

มากกว่าหรือเท่ากับTogteq

$_collection-&amp;gt;addAttributeToFilter('id', array('gteq' =&amp;gt; 5));

น้อยกว่าหรือเท่ากับ – lteq

$_collection-&amp;gt;addAttributeToFilter('id', array('lteq' =&amp;gt; 5));

หรือเงื่อนไข

$_collection-&amp;gt;addAttributeToFilter(array(
array(
'attribute' =&amp;gt; 'field_name',
'in' =&amp;gt; array(1, 2, 3),
),
array(
'attribute' =&amp;gt; 'date_field',
'from' =&amp;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

&amp;lt;?php

class Mage_Catalog_Block_Product_Newproducts extends Mage_Catalog_Block_Product_List {
protected function _getProductCollection() {
 if (is_null($this-&amp;gt;_productCollection)) {
 $todayDate = Mage::app()-&amp;gt;getLocale()-&amp;gt;date()-&amp;gt;toString(Varien_Date::DATETIME_INTERNAL_FORMAT);
 $collection = Mage::getResourceModel('catalog/product_collection')
 -&amp;gt;addAttributeToSelect(Mage::getSingleton('catalog/config')-&amp;gt;getProductAttributes())
 -&amp;gt;addStoreFilter()
 -&amp;gt;addPriceData()
 -&amp;gt;addTaxPercents()
 -&amp;gt;addUrlRewrite()
 -&amp;gt;addAttributeToFilter('news_from_date', array('date' =&amp;gt; true, 'to' =&amp;gt; $todayDate))
 -&amp;gt;addAttributeToFilter('news_to_date', array('or' =&amp;gt; array(
 0 =&amp;gt; array('date' =&amp;gt; true, 'from' =&amp;gt; $todayDate),
 1 =&amp;gt; array('is' =&amp;gt; new Zend_Db_Expr('null')))
 ), 'left')
 -&amp;gt;addAttributeToSort('news_from_date', 'desc')
 -&amp;gt;setPageSize($this-&amp;gt;get_prod_count())
 -&amp;gt;setCurPage($this-&amp;gt;get_cur_page());
 Mage::getSingleton('catalog/product_status')-&amp;gt;addVisibleFilterToCollection($collection);
 Mage::getSingleton('catalog/product_visibility')-&amp;gt;addVisibleInCatalogFilterToCollection($collection);
 $this-&amp;gt;setProductCollection($collection);
}
return $collection;
}
}

ขั้นตอนที่ 2: ในไฟล์เลย์เอาต์ (cms.xml) หรือหน้า CMS ใด ๆ ให้เพิ่มรหัสต่อไปนี้:
สำหรับไฟล์เลย์เอาต์ (cms.xml):

&amp;lt;cms_index_index translate=&amp;quot;label&amp;quot;&amp;gt;
 &amp;lt;label&amp;gt;CMS Home Page&amp;lt;/label&amp;gt;
 &amp;lt;reference name=&amp;quot;content&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;catalog/product_newproducts&amp;quot; name=&amp;quot;product_new&amp;quot; template=&amp;quot;catalog/product/list.phtml&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;catalog/product_list_toolbar&amp;quot; name=&amp;quot;product_list_toolbar&amp;quot; template=&amp;quot;catalog/product/list/toolbar.phtml&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;page/html_pager&amp;quot; name=&amp;quot;product_list_toolbar_pager&amp;quot;/&amp;gt;
 &amp;lt;/block&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;empty&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;6&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;one_column&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;5&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_left&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_right&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;three_columns&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;3&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;setToolbarBlockName&amp;quot;&amp;gt;&amp;lt;name&amp;gt;product_list_toolbar&amp;lt;/name&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;/block&amp;gt;
 &amp;lt;/reference&amp;gt;
 &amp;lt;/cms_index_index&amp;gt;

สำหรับหน้า CMS ใดๆ (เช่น: หน้าแรก):
ไปที่ CMS->Pages แก้ไขหน้าแรกดังนี้:
เพิ่มโค้ดต่อไปนี้ลงในฟิลด์ Layout Update XML:

&amp;lt;reference name=&amp;quot;content&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;catalog/product_newproducts&amp;quot; name=&amp;quot;product_new&amp;quot; template=&amp;quot;catalog/product/list.phtml&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;catalog/product_list_toolbar&amp;quot; name=&amp;quot;product_list_toolbar&amp;quot; template=&amp;quot;catalog/product/list/toolbar.phtml&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;page/html_pager&amp;quot; name=&amp;quot;product_list_toolbar_pager&amp;quot;/&amp;gt;
 &amp;lt;/block&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;empty&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;6&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;one_column&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;5&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_left&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_right&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;three_columns&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;3&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;setToolbarBlockName&amp;quot;&amp;gt;&amp;lt;name&amp;gt;product_list_toolbar&amp;lt;/name&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;/block&amp;gt;
 &amp;lt;/reference&amp;gt;

ภาพที่1

แสดงสินค้าขายดี: การใช้ 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

&amp;lt;?php

class Mage_Catalog_Block_Product_Bestsellers extends Mage_Catalog_Block_Product_List {

protected function _getProductCollection() {
 if (is_null($this-&amp;gt;_productCollection)) {
 $storeId = Mage::app()-&amp;gt;getStore()-&amp;gt;getId();
 $collection = Mage::getResourceModel('reports/product_collection')
 -&amp;gt;addOrderedQty()
 -&amp;gt;addAttributeToSelect('*')-&amp;gt;setStoreId($storeId)
 -&amp;gt;addStoreFilter($storeId)
 -&amp;gt;addUrlRewrite()
 -&amp;gt;setPageSize($this-&amp;gt;get_prod_count())
 -&amp;gt;setCurPage($this-&amp;gt;get_cur_page())
 -&amp;gt;setOrder('ordered_qty', 'desc');
 Mage::getSingleton('catalog/product_status')-&amp;gt;addVisibleFilterToCollection($collection);
 Mage::getSingleton('catalog/product_visibility')-&amp;gt;addVisibleInCatalogFilterToCollection($collection);
 $this-&amp;gt;setProductCollection($collection);
 }
 return $collection;
 }

}

ขั้นตอนที่ 2: ในไฟล์เลย์เอาต์ (cms.xml) หรือหน้า CMS ใด ๆ ให้เพิ่มรหัสต่อไปนี้:

สำหรับไฟล์เลย์เอาต์ (cms.xml):

&amp;lt;cms_index_index translate=&amp;quot;label&amp;quot;&amp;gt;
 &amp;lt;label&amp;gt;CMS Home Page&amp;lt;/label&amp;gt;
 &amp;lt;reference name=&amp;quot;content&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;catalog/product_bestsellers&amp;quot; name=&amp;quot;product_bestseller&amp;quot; template=&amp;quot;catalog/product/list.phtml&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;catalog/product_list_toolbar&amp;quot; name=&amp;quot;product_list_toolbar&amp;quot; template=&amp;quot;catalog/product/list/toolbar.phtml&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;page/html_pager&amp;quot; name=&amp;quot;product_list_toolbar_pager&amp;quot;/&amp;gt;
 &amp;lt;/block&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;empty&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;6&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;one_column&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;5&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_left&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_right&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;three_columns&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;3&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;setToolbarBlockName&amp;quot;&amp;gt;&amp;lt;name&amp;gt;product_list_toolbar&amp;lt;/name&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;/block&amp;gt;
&amp;lt;/reference&amp;gt;
 &amp;lt;/cms_index_index&amp;gt;

สำหรับหน้า CMS ใดๆ (เช่น: หน้าแรก):
ไปที่ CMS->Pages แก้ไขหน้าแรกดังนี้:
เพิ่มโค้ดต่อไปนี้ลงในฟิลด์ Layout Update XML:

&amp;lt;reference name=&amp;quot;content&amp;quot;&amp;gt;

&amp;lt;block type=&amp;quot;catalog/product_bestsellers&amp;quot; name=&amp;quot;product_bestseller&amp;quot; template=&amp;quot;catalog/product/list.phtml&amp;quot;&amp;gt;

&amp;lt;block type=&amp;quot;catalog/product_list_toolbar&amp;quot; name=&amp;quot;product_list_toolbar&amp;quot; template=&amp;quot;catalog/product/list/toolbar.phtml&amp;quot;&amp;gt;

&amp;lt;block type=&amp;quot;page/html_pager&amp;quot; name=&amp;quot;product_list_toolbar_pager&amp;quot;/&amp;gt;

&amp;lt;/block&amp;gt;

&amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;empty&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;6&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;

&amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;one_column&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;5&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;

&amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_left&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;

&amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_right&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;

&amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;three_columns&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;3&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;

&amp;lt;action method=&amp;quot;setToolbarBlockName&amp;quot;&amp;gt;&amp;lt;name&amp;gt;product_list_toolbar&amp;lt;/name&amp;gt;&amp;lt;/action&amp;gt;

&amp;lt;/block&amp;gt;

&amp;lt;/reference&amp;gt; 

ภาพที่2

แสดงผลิตภัณฑ์ด้วยแอตทริบิวต์ที่กำหนดเองหรือฟิลด์

การสร้างแอตทริบิวต์ – Featured

  1. เข้าสู่ระบบแผงผู้ดูแลระบบ Magento
  2. ไปที่ "จัดการแอตทริบิวต์" ภายใต้แคตตาล็อก -> คุณลักษณะ -> จัดการแอตทริบิวต์
  3. ที่ด้านบนขวา ให้คลิกที่ "เพิ่มแอตทริบิวต์ใหม่"
  4. ตอนนี้คุณอยู่ในหน้าแก้ไขแอตทริบิวต์และแท็บคุณสมบัติแล้ว ดูเหมือนว่านี้:

แท็บคุณสมบัติ

ภาพที่3

แท็บส่วนหน้า

ภาพที่4

  • ตัวระบุแอตทริบิวต์: นี่คือชื่อของแอตทริบิวต์ที่ใช้โดยระบบ ไม่สามารถใช้ช่องว่างในช่องนี้ได้ เราจะพิมพ์คุณสมบัติเด่น
  • ขอบเขต: กำหนดระดับร้านค้าที่แอตทริบิวต์นี้จะบันทึกสำหรับผลิตภัณฑ์ทั้งหมด หากคุณเลือกทั่วโลก และแก้ไขรายการเด่นสำหรับผลิตภัณฑ์ 123 ในร้านค้า A เป็น ใช่ ผลิตภัณฑ์แนะนำของ 123 ในร้านค้า B (และร้านค้าอื่นๆ) จะอัปเดตเป็นใช่ด้วย
  • ประเภทอินพุตแค็ตตาล็อก: สิ่งนี้อธิบายชนิดของข้อมูลที่จะจัดเก็บแอตทริบิวต์ ค่าที่ตั้งไว้ที่นี่เป็นตัวกำหนดวิธีการป้อนข้อมูลสำหรับแอตทริบิวต์นี้ เราจะใช้ Yes/No เนื่องจากเราต้องการเลือกค่า
  • ค่าเริ่มต้น: คุณสามารถเลือกค่าที่จะเติมโดยอัตโนมัติสำหรับผลิตภัณฑ์ใหม่
  • ค่าที่ไม่ซ้ำ: หาก "ใช่" ข้อมูลที่บันทึกไว้ในแอตทริบิวต์นี้จะต้องไม่ซ้ำกันสำหรับแต่ละผลิตภัณฑ์ ในกรณีนี้ เราจะพูดว่า "ไม่" เนื่องจากรายการเด่นหลายรายการสามารถมีรายการเด่นเดียวกันได้
  • ค่าที่ต้องการ: หาก "ใช่" คุณจะต้องเลือกข้อมูลในช่องแอตทริบิวต์นี้เมื่อบันทึกผลิตภัณฑ์ที่ใช้ข้อมูลดังกล่าว การตรวจสอบความถูกต้องของข้อมูลเข้า:
  • ใช้กับ: สิ่งนี้กำหนดว่าแอตทริบิวต์นี้จะแสดงประเภทผลิตภัณฑ์ใด ตัวอย่างเช่น ราคาจะไม่สมเหตุสมผลในผลิตภัณฑ์ที่จัดกลุ่ม เนื่องจาก Simple Product แต่ละรายการที่เชื่อมโยงกับผลิตภัณฑ์ที่จัดกลุ่มจะมีราคาของตัวเอง ดังนั้น คุณสามารถกำหนดราคาให้ไม่ใช้กับสินค้าที่จัดกลุ่มได้ และคุณจะไม่ต้องคิดหนักว่าจะเขียนตัวเลขอะไรลงไป
  • ใช้ในการค้นหาด่วน/ขั้นสูง: หาก "ใช่" ข้อมูลที่บันทึกไว้ในแอตทริบิวต์นี้จะค้นหาได้ในส่วนหน้าในการค้นหาด่วนและการค้นหาขั้นสูงตามลำดับ
  • เปรียบได้กับส่วนหน้า: หาก "ใช่" แอตทริบิวต์นี้จะแสดงในการเปรียบเทียบผลิตภัณฑ์ ตราบใดที่ผลิตภัณฑ์อย่างน้อยหนึ่งรายการในรายการเปรียบเทียบมีค่าสำหรับแอตทริบิวต์นี้
  • ใช้ในการนำทางแบบเลเยอร์: หาก "กรองได้" ข้อมูลนี้จะพร้อมใช้งานเป็นตัวกรองในการนำทางแบบเลเยอร์ของวีโอไอพี กรองได้ (พร้อมผลลัพธ์) หมายความว่าเฉพาะค่าที่เกี่ยวข้องกับผลิตภัณฑ์เฉพาะในหน้าหมวดหมู่ที่กำหนดเท่านั้นที่จะแสดงรายการในเมนูการนำทางแบบเลเยอร์ กรองได้ (ไม่มีผลลัพธ์) หมายความว่าค่าที่มีอยู่ทั้งหมดสำหรับแอตทริบิวต์จะแสดงในเมนู แม้ว่าจะใช้สิ่งนี้เป็นตัวกรองจะไม่ให้ผลลัพธ์ก็ตาม มีเงื่อนไขหนึ่งประการในการใช้แอตทริบิวต์ในการนำทางแบบเลเยอร์ – ประเภทอินพุตต้องเป็นแบบเลื่อนลง เลือกหลายรายการ หรือราคา
  • ตำแหน่ง: สิ่งนี้กำหนดตำแหน่งของแอตทริบิวต์นี้ในเมนู Layered Nav
  • ปรากฏบนหน้าแค็ตตาล็อกที่ส่วนหน้า: หาก “ไม่” แอตทริบิวต์นี้จะไม่ปรากฏในหน้าข้อมูลผลิตภัณฑ์ "การมองเห็น" จะควบคุมว่าแอตทริบิวต์จะแสดงในส่วนหน้าหรือไม่เท่านั้น โปรดจำไว้ว่า หากคุณตั้งค่าแอตทริบิวต์เป็น "มองเห็นได้: ไม่" และปล่อยให้เป็น "เปรียบเทียบได้: ใช่" คุณลักษณะนี้จะยังคงแสดงในการเปรียบเทียบ

จัดการป้ายกำกับ / ตัวเลือก

ภาพที่5

ใต้แท็บนี้ คุณสามารถป้อนป้ายกำกับสำหรับแอตทริบิวต์ในส่วนหน้า หากคุณควบคุมร้านค้าในหลายภาษา คุณสามารถป้อนป้ายกำกับในแต่ละภาษาใต้แท็บนี้ได้ หากป้ายชื่อร้านค้าว่างเปล่า ร้านค้านี้จะดูที่ป้าย เริ่มต้น และใช้ป้ายนี้ ที่นี่เราจะป้อน "โดดเด่น" ภายใต้ "ค่าเริ่มต้น"

ใช้แอตทริบิวต์สำหรับชุดแอตทริบิวต์ – Default

  1. เข้าสู่ระบบแผงผู้ดูแลระบบ Magento
  2. ไปที่ "จัดการแอตทริบิวต์" ภายใต้แคตตาล็อก -> คุณลักษณะ -> จัดการชุดแอตทริบิวต์
  3. คลิกที่ "ค่าเริ่มต้น" หรือชุดแอตทริบิวต์ใด ๆ
  4. ตอนนี้คุณอยู่ในหน้าแก้ไขชุดแอตทริบิวต์แล้วย้ายวิดีโอเด่นไปที่กลุ่มทั่วไปหรือกลุ่มใดๆ ดูเหมือนว่านี้:

ภาพที่6

สมัครสินค้า

ตอนนี้ หากต้องการใช้แอตทริบิวต์ที่เลือกได้นี้กับผลิตภัณฑ์ เพียงเพิ่มลงในชุดแอตทริบิวต์แล้วสร้างผลิตภัณฑ์ใหม่โดยใช้ชุดนี้ ด้านล่างนี้เป็นตัวอย่างอย่างง่ายของแท็บทั่วไปในการสร้างผลิตภัณฑ์ใหม่ในผู้ดูแลระบบ:

ภาพที่7

คล้ายกับการแสดงสินค้าใหม่ในหน้าแรก

ขั้นตอนที่ 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"

&amp;lt;?php

class Mage_Catalog_Block_Product_Featured extends Mage_Catalog_Block_Product_List {

protected function _getProductCollection() {
 if (is_null($this-&amp;gt;_productCollection)) {
 $collection = Mage::getResourceModel('catalog/product_collection')
 -&amp;gt;addAttributeToSelect(Mage::getSingleton('catalog/config')-&amp;gt;getProductAttributes())
 -&amp;gt;addStoreFilter()
 -&amp;gt;addPriceData()
 -&amp;gt;addTaxPercents()
 -&amp;gt;addUrlRewrite()
 -&amp;gt;addAttributeToFilter('featured', array('eq' =&amp;gt; 1))
 -&amp;gt;addFieldToFilter('sku', array('like', 'PROD0003'))
 -&amp;gt;setPageSize($this-&amp;gt;get_prod_count())
 -&amp;gt;setCurPage($this-&amp;gt;get_cur_page());
 Mage::getSingleton('catalog/product_status')-&amp;gt;addVisibleFilterToCollection($collection);
 Mage::getSingleton('catalog/product_visibility')-&amp;gt;addVisibleInCatalogFilterToCollection($collection);
 $this-&amp;gt;setProductCollection($collection);
 }
 return $collection;
 }

}
Step 2: In layout file(cms.xml) or any CMS Page add following code:
For layout file(cms.xml):
&amp;lt;cms_index_index translate=&amp;quot;label&amp;quot;&amp;gt;
 &amp;lt;label&amp;gt;CMS Home Page&amp;lt;/label&amp;gt;
 &amp;lt;reference name=&amp;quot;content&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;catalog/product_featured&amp;quot; name=&amp;quot;product_featured&amp;quot; template=&amp;quot;catalog/product/list.phtml&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;catalog/product_list_toolbar&amp;quot; name=&amp;quot;product_list_toolbar&amp;quot; template=&amp;quot;catalog/product/list/toolbar.phtml&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;page/html_pager&amp;quot; name=&amp;quot;product_list_toolbar_pager&amp;quot;/&amp;gt;
 &amp;lt;/block&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;empty&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;6&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;one_column&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;5&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_left&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_right&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;three_columns&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;3&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;setToolbarBlockName&amp;quot;&amp;gt;&amp;lt;name&amp;gt;product_list_toolbar&amp;lt;/name&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;/block&amp;gt;
&amp;lt;/reference&amp;gt;
 &amp;lt;/cms_index_index&amp;gt;

สำหรับหน้า CMS ใดๆ (เช่น: หน้าแรก):
ไปที่ CMS->Pages แก้ไขหน้าแรกดังนี้:
เพิ่มโค้ดต่อไปนี้ลงในฟิลด์ Layout Update XML:

&amp;lt;reference name=&amp;quot;content&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;catalog/product_featured&amp;quot; name=&amp;quot;product_featured&amp;quot; template=&amp;quot;catalog/product/list.phtml&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;catalog/product_list_toolbar&amp;quot; name=&amp;quot;product_list_toolbar&amp;quot; template=&amp;quot;catalog/product/list/toolbar.phtml&amp;quot;&amp;gt;
 &amp;lt;block type=&amp;quot;page/html_pager&amp;quot; name=&amp;quot;product_list_toolbar_pager&amp;quot;/&amp;gt;
 &amp;lt;/block&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;empty&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;6&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;one_column&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;5&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_left&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;two_columns_right&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;4&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;addColumnCountLayoutDepend&amp;quot;&amp;gt;&amp;lt;layout&amp;gt;three_columns&amp;lt;/layout&amp;gt;&amp;lt;count&amp;gt;3&amp;lt;/count&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;action method=&amp;quot;setToolbarBlockName&amp;quot;&amp;gt;&amp;lt;name&amp;gt;product_list_toolbar&amp;lt;/name&amp;gt;&amp;lt;/action&amp;gt;
 &amp;lt;/block&amp;gt;
&amp;lt;/reference&amp;gt;

รูปที่ 8

กรุณาแบ่งปันความประทับใจและความคิดของคุณในความคิดเห็นด้านล่าง !