Tampilkan Produk di Beranda Menggunakan Koleksi Filter Magento Berdasarkan Atribut, Bidang

Diterbitkan: 2014-10-07

Hari ini, Magesolution kembali dengan tutorial Magento tentang beberapa metode efektif untuk menampilkan Produk di Beranda Menggunakan Koleksi Filter Magento Berdasarkan Atribut,Field

Pembaruan Terbaru: Kami baru saja merilis versi 2.0 dari Claue Multipurpose Magento 2 Theme, dengan banyak peningkatan kinerja dan fitur eksklusif. Lihat tema ini sekarang: Claue Magento Theme 2. 0

claue2_edited (1)

Demo Langsung

Claue – Clean, Minimal Magento 2&1 Theme adalah template yang sangat baik untuk toko eCommerce modern dan bersih dengan 40+ tata letak beranda dan banyak pilihan untuk toko, blog, portofolio, tata letak pencari toko, dan halaman berguna lainnya. Claue versi 2. 0 hadir dengan banyak fitur eksklusif termasuk:

  • Berbasis pada tema Luma.
  • Memenuhi semua standar Tema Magento
  • Peningkatan kinerja yang signifikan
  • Kompatibel dengan sebagian besar ekstensi pihak ketiga.
  • Sepenuhnya kompatibel dengan Magento 2.4.x

Versi lanjutan kedua ini benar-benar berbeda dari yang sebelumnya. Jadi, jika Anda menggunakan Claue versi 1 dan ingin memperbarui ke Claue versi 2, Anda hanya dapat membangun kembali situs web baru dan tidak memperbarui dari versi lama. Sekarang, mari kita kembali ke topik utama.

Pertama, jelaskan cara Magento memfilter koleksi. Gunakan ini untuk menjelaskan cara Magento memfilter koleksi berdasarkan atribut, bidang dalam model, sehingga orang dapat belajar menulis koleksi mereka sendiri.

addAttributeToFilter() adalah fungsi yang dapat dipanggil pada koleksi di Magento. Di
singkatnya, ini menambahkan kondisi ke bagian WHERE dari kueri MySQL yang digunakan untuk mengekstrak koleksi dari database.
Sebagai contoh:

$_products = Mage::getModel ('catalog/product')->getCollection()

->addAttributeToSelect(array('name', 'product_url',

'small_image'))

->addAttributeToFilter('sku', array('like' => 'UX%'))

->load();

Kode di atas akan mendapatkan koleksi produk, dengan setiap produk memiliki nama, url,
harga dan gambar kecil dimuat di array datanya. Koleksi produk akan difilter dan hanya berisi produk yang memiliki SKU yang dimulai dengan UX.

Penyaringan

Kita dapat memfilter koleksi kita dengan fungsi addFieldToFilter() . Dalam SQL Anda dapat menganggap ini sebagai klausa WHERE Anda.
Katakanlah kita ingin mendapatkan produk dari sku PRODUCT001

$products = Mage::getModel('catalog/product')->getCollection();

$products->addAttributeToFilter('sku','PRODUCT001');

$product = $products->getFirstItem();

Mari kita coba Greater Than conditional. Cukup berikan array dengan tipe dan nilai bersyarat.
Produk lebih dari $100:

$products = Mage::getModel('catalog/product')->getCollection();

$products->addAttributeToFilter('price', array('gt' => '100'));

Magento memberi kita banyak persyaratan filter untuk dipilih, lihat:

Filter Kode Kondisi

Kode Atribut Setara dengan SQL Keterangan
persamaan =
neq !=
Suka SUKA
tidak suka TIDAK SUKA
di DI ()
nin TIDAK MASUK ()
adalah ADALAH
bukan nol BUKAN NULL
batal ADALAH NULL
lebih >=
gt >
lt <
gteq >=
teknologi <=
finset TEMUKAN_IN_SET()
dari >= untuk digunakan dengan tanggal
ke <= untuk digunakan dengan tanggal
tanggal bendera opsional untuk digunakan dengan dari/ke untuk menentukan bahwa nilai perbandingan pertama-tama harus dikonversi ke tanggal
tanggal Waktu flag opsional untuk digunakan dengan from/to untuk menentukan bahwa nilai perbandingan pertama-tama harus dikonversi ke datetime

Jika sebuah array dilewatkan tetapi tidak ada kode atribut yang ditentukan, itu akan ditafsirkan sebagai sekelompok kondisi ATAU yang akan diproses dengan cara yang sama.

Jika tidak ada kode atribut yang ditentukan, defaultnya adalah persamaan.
addAttributeToFilter Conditionals

Sama dengan: persamaan

$_collection-&amp;gt;addAttributeToFilter('status', array('eq' =&amp;gt; 1));

Tidak Sama – neq

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

Suka – suka

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

Satu hal yang perlu diperhatikan tentang suka adalah Anda dapat memasukkan karakter wildcard SQL seperti
tanda persen.
Tidak Suka – tidak suka

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

dalam – dalam

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

Saat menggunakan in, parameter nilai menerima larik nilai.
Tidak Masuk – nin

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

NULL – nol

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

Bukan NULL – bukan null

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

Lebih Besar Dari – gt

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

Kurang Dari – lt

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

Lebih Besar dari atau Sama dengan To- gteq

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

Kurang Dari atau Sama Dengan – lteq

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

ATAU kondisi

$_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',
)
));

Tampilkan Produk Baru: Menggunakan addAttributeToFilter By Attribute

Langkah 1: Di app/code/local/Mage/Catalog/Block/Product (jika folder ini tidak ada, silakan buat). Buat file blok (Newproducts.php) yang diperluas ke

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;
}
}

Langkah 2: Dalam file tata letak (cms.xml) atau Halaman CMS apa pun, tambahkan kode berikut:
Untuk file tata letak (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;

Untuk halaman CMS mana pun (misalnya: Halaman Beranda):
Buka CMS->Halaman, edit halaman Beranda seperti ini:
Tambahkan kode berikut ke bidang 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;

gambar1

Tampilkan Produk Terlaris: Menggunakan addAttributeToFilter Berdasarkan Atribut

Mirip dengan menampilkan produk baru di halaman rumah.
Langkah 1 : Di app/code/local/Mage/Catalog/Block/Product (jika folder ini tidak ada, silakan buat). Buat file blok (Terlaris.php) yang diperluas ke Mage_Catalog_Block_Product_List.
app/code/local/Mage/Catalog/Block/Product/ Bestseller.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;
 }

}

Langkah 2: Dalam file tata letak (cms.xml) atau Halaman CMS apa pun, tambahkan kode berikut:

Untuk file tata letak (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;

Untuk halaman CMS mana pun (misalnya: Halaman Beranda):
Buka CMS->Halaman, edit halaman Beranda seperti ini:
Tambahkan kode berikut ke bidang 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; 

gambar2

Tampilkan Produk Dengan Atribut atau Bidang Kustom

Membuat atribut – Unggulan

  1. Masuk ke panel admin Magento
  2. Arahkan ke "Kelola Atribut" di bawah Katalog -> Atribut -> Kelola Atribut
  3. Di kanan atas, klik "Tambahkan Atribut Baru"
  4. Anda sekarang berada di halaman edit Atribut dan tab Properti. Ini terlihat seperti ini:

Tab Properti

gambar3

Tab bagian depan

gambar4

  • Pengidentifikasi Atribut: Ini adalah nama atribut yang digunakan oleh sistem. Spasi tidak dapat digunakan di bidang ini. Kami akan mengetik fitur.
  • Cakupan: Ini menentukan tingkat toko di mana atribut ini akan disimpan untuk semua produk. Jika Anda memilih Global, dan mengedit Unggulan untuk produk 123 di toko A ke Ya, fitur produk 123 di toko B (dan toko lainnya) juga akan diperbarui ke Ya.
  • Jenis Input Katalog: Ini menjelaskan jenis data yang akan disimpan oleh atribut. Apa yang ditetapkan di sini menentukan bagaimana entri data untuk atribut ini akan dilakukan. Kami akan menggunakan Ya/Tidak karena kami ingin memilih nilainya.
  • Nilai Default: Anda dapat memilih nilai yang akan terisi secara otomatis untuk produk baru.
  • Nilai Unik: Jika “ya”, data yang disimpan dalam atribut ini harus unik untuk setiap produk. Dalam hal ini, kami akan mengatakan "tidak", karena beberapa fitur dapat memiliki fitur yang sama.
  • Nilai yang Diperlukan: Jika “ya”, Anda akan diminta untuk memilih data di bidang atribut ini saat menyimpan produk yang menggunakannya. Validasi Input:
  • Terapkan Ke: Ini menentukan Jenis Produk mana yang akan ditampilkan oleh atribut ini. Misalnya, harga tidak masuk akal dalam produk yang dikelompokkan, karena setiap Produk Sederhana yang terkait dengan Produk yang Dikelompokkan akan memiliki harganya sendiri. Oleh karena itu, Anda dapat menetapkan harga untuk tidak berlaku untuk produk yang dikelompokkan, dan Anda tidak akan bingung tentang angka apa yang harus ditulis di sana.
  • Gunakan dalam pencarian cepat/lanjutan: Jika “ya”, data yang disimpan dalam atribut ini akan dapat dicari di front-end dalam pencarian cepat dan pencarian lanjutan, masing-masing.
  • Sebanding di Front-end: Jika “ya”, atribut ini akan ditampilkan dalam perbandingan produk, selama setidaknya satu produk dalam Daftar Bandingkan berisi nilai untuk atribut ini.
  • Gunakan di Navigasi Berlapis: Jika "dapat difilter", data ini akan tersedia sebagai filter di navigasi berlapis Magento. Dapat difilter (dengan hasil) berarti hanya nilai yang terkait dengan produk tertentu di halaman kategori tertentu yang akan dicantumkan di menu Navigasi Berlapis. Dapat difilter (tidak ada hasil) berarti semua nilai yang ada untuk atribut akan ditampilkan di menu, meskipun menggunakan ini sebagai filter tidak akan menghasilkan apa-apa. Ada satu syarat untuk menggunakan atribut dalam navigasi berlapis – Jenis Input harus Dropdown, Multiple Select, atau Price.
  • Posisi: Ini menentukan posisi atribut ini di menu Nav Berlapis.
  • Terlihat di Halaman Katalog di Front-end: Jika “tidak”, atribut ini tidak akan ditampilkan di halaman info produk. "Visibilitas" hanya mengontrol apakah atribut ditampilkan di front-end atau tidak. Perlu diingat – jika Anda menyetel atribut ke “Visible: No”, dan membiarkannya sebagai “Comparable: Yes”, atribut ini akan tetap muncul sebagai perbandingan

Kelola Label / Opsi

gambar5

Di bawah tab ini, Anda dapat memasukkan label untuk atribut di front-end. Jika Anda mengontrol penyimpanan dalam beberapa bahasa, Anda dapat memasukkan label dalam setiap bahasa di bawah tab ini. Jika label toko kosong, toko ini akan melihat ke label default dan menggunakan label ini. Di sini kita akan memasukkan "Unggulan" di bawah "Default".

Terapkan atribut untuk set atribut – Default

  1. Masuk ke panel admin Magento
  2. Arahkan ke "Kelola Atribut" di bawah Katalog -> Atribut -> Kelola Set Atribut
  3. Klik "Default" atau set atribut apa pun.
  4. Anda sekarang berada di halaman edit Kumpulan Atribut dan pindahkan Unggulan ke Umum Grup atau grup mana pun. Ini terlihat seperti ini:

gambar6

Menerapkan ke produk

Sekarang, untuk menerapkan atribut yang dapat dipilih ini ke suatu produk, cukup tambahkan ke set atribut dan buat produk baru menggunakan set ini. Di bawah ini adalah contoh sederhana dari tab Umum untuk membuat produk baru di admin:

gambar7

Mirip dengan menampilkan produk baru di halaman rumah.

Langkah 1: Di app/code/local/Mage/Catalog/Block/Product (jika folder ini tidak ada, silakan buat). Buat file blok (Featured.php) yang diperluas ke Mage_Catalog_Block_Product_List.

app/code/local/Mage/Catalog/Block/Product/ Featured.php

Dalam kode berikut ini, menggunakan addAttributeToFilter untuk atribut filter Featured dan menggunakan addFieldToFilter untuk bidang filter SKU produk yang memiliki nilai sku seperti “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;

Untuk halaman CMS mana pun (mis.: Halaman Beranda):
Buka CMS->Halaman, edit halaman Beranda seperti ini:
Tambahkan kode berikut ke bidang 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;

gambar8

Silakan bagikan kesan dan ide Anda dalam komentar di bawah!