Zeigen Sie Produkte auf der Homepage mit der Magento-Filtersammlung nach Attribut, Feld
Veröffentlicht: 2014-10-07Heute kommt Magesolution mit dem Magento-Tutorial über einige effektive Methoden zurück, um Produkte auf der Homepage mit Magento Filter Collection By Attribute, Field anzuzeigen
Letztes Update: Wir haben gerade die Version 2.0 von Claue Multipurpose Magento 2 Theme veröffentlicht, mit einer Reihe von Leistungsverbesserungen und exklusiven Funktionen. Probieren Sie dieses Thema jetzt aus: Claue Magento Theme 2. 0
Live-Demo
Claue – Clean, Minimal Magento 2&1 Theme ist eine hervorragende Vorlage für einen modernen und sauberen E-Commerce-Shop mit über 40 Homepage-Layouts und unzähligen Optionen für Shop, Blog, Portfolio, Store-Locator-Layouts und andere nützliche Seiten. Claue Version 2. 0 kommt mit einer Reihe exklusiver Funktionen, darunter:
- Basierend auf dem Luma-Thema.
- Erfüllen Sie alle Standards von Magento Theme
- Deutliche Leistungssteigerung
- Kompatibel mit den meisten Erweiterungen von Drittanbietern.
- Voll kompatibel mit Magento 2.4.x
Diese zweite erweiterte Version unterscheidet sich vollständig von ihrer vorherigen. Wenn Sie also Claue Version 1 verwenden und auf Claue Version 2 aktualisieren möchten, können Sie nur eine neue Website erstellen, anstatt von der alten Version zu aktualisieren. Kommen wir nun zum Hauptthema zurück.
Erklären Sie zunächst, wie Magento eine Sammlung filtert. Verwenden Sie dies, um zu erklären, wie Magento eine Sammlung nach Attribut oder Feld in einem Modell filtert, damit die Leute lernen können, ihre eigenen Sammlungen zu schreiben.
addAttributeToFilter() ist eine Funktion, die für eine Sammlung in Magento aufgerufen werden kann. In
Kurz gesagt, es fügt dem WHERE-Teil der MySQL-Abfrage eine Bedingung hinzu, die verwendet wird, um eine Sammlung aus der Datenbank zu extrahieren.
Beispielsweise:
$_products = Mage::getModel ('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image')) ->addAttributeToFilter('sku', array('like' => 'UX%')) ->load();
Der obige Code würde eine Produktsammlung erhalten, wobei jedes Produkt seinen Namen, seine URL,
Preis und kleines Bild in seinem Datenarray geladen. Die Produktsammlung würde gefiltert und enthält nur Produkte, deren SKU mit UX beginnt.
Filtern
Wir können unsere Sammlungen mit der Funktion addFieldToFilter() filtern. In SQL können Sie sich diese als Ihre WHERE-Klauseln vorstellen.
Angenommen, wir möchten ein Produkt mit der Artikelnummer PRODUCT001 erhalten
$products = Mage::getModel('catalog/product')->getCollection(); $products->addAttributeToFilter('sku','PRODUCT001'); $product = $products->getFirstItem();
Versuchen wir es mit der Größer-als-Bedingung. Geben Sie einfach ein Array mit dem bedingten Typ und Wert an.
Produkte über 100 $:
$products = Mage::getModel('catalog/product')->getCollection(); $products->addAttributeToFilter('price', array('gt' => '100'));
Magento gibt uns viele Filterbedingungen zur Auswahl, siehe:
Bedingungscodes filtern
Attributcode | SQL-Äquivalent | Beschreibung |
Gl | = | |
neq | != | |
mögen | MÖGEN | |
wie | NICHT WIE | |
in | IN () | |
nin | NICHT IN () | |
ist | IST | |
nicht null | IST NICHT NULL | |
Null | IST NULL | |
mehrq | >= | |
gt | > | |
lt | < | |
gteq | >= | |
lteq | <= | |
Finset | FIND_IN_SET() | |
von | >= | zur Verwendung mit Datteln |
zu | <= | zur Verwendung mit Datteln |
Datum | optionales Flag zur Verwendung mit von/bis, um anzugeben, dass der Vergleichswert zuerst in ein Datum umgewandelt werden soll | |
Terminzeit | optionales Flag zur Verwendung mit von/bis, um anzugeben, dass der Vergleichswert zuerst in eine Datumszeit konvertiert werden soll |
Wenn ein Array übergeben wird, aber kein Attributcode angegeben ist, wird es als eine Gruppe von ODER-Bedingungen interpretiert, die auf die gleiche Weise verarbeitet werden.
Wenn kein Attributcode angegeben ist, wird standardmäßig Gl.
addAttributeToFilter-Bedingungen
Gleich: Gl
$_collection-&gt;addAttributeToFilter('status', array('eq' =&gt; 1));
Ungleich – neq
$_collection-&gt;addAttributeToFilter('sku', array('neq' =&gt; 'test-product'));
Wie – wie
$_collection-&gt;addAttributeToFilter('sku', array('like' =&gt; 'UX%'));
Eine Sache, die Sie bei like beachten sollten, ist, dass Sie SQL-Platzhalterzeichen wie die einfügen können
Prozentzeichen.
Nicht wie – nlike
$_collection-&gt;addAttributeToFilter('sku', array('nlike' =&gt; 'err-prod%'));
Ein – ein
$_collection-&gt;addAttributeToFilter('id', array('in' =&gt; array(1,4,74,98)));
Bei der Verwendung von in akzeptiert der value-Parameter ein Array von Werten.
Nicht drin – nin
$_collection-&gt;addAttributeToFilter('id', array('nin' =&gt; array(1,4,74,98)));
NULL – null
$_collection-&gt;addAttributeToFilter('description', 'null');
Nicht NULL – notnull
$_collection-&gt;addAttributeToFilter('description', 'notnull');
Größer als – gt
$_collection-&gt;addAttributeToFilter('id', array('gt' =&gt; 5));
Weniger als – lt
$_collection-&gt;addAttributeToFilter('id', array('lt' =&gt; 5));
Größer als oder gleich To-gteq
$_collection-&gt;addAttributeToFilter('id', array('gteq' =&gt; 5));
Kleiner als oder gleich – lt
$_collection-&gt;addAttributeToFilter('id', array('lteq' =&gt; 5));
ODER-Bedingung
$_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', ) ));
Neues Produkt anzeigen: Verwendung von addAttributeToFilter By Attribute
Schritt 1: In app/code/local/Mage/Catalog/Block/Product (falls dieser Ordner nicht existiert, erstellen Sie ihn bitte). Erstellen Sie eine Blockdatei (Newproducts.php), die sich bis erweitert
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; } }
Schritt 2: Fügen Sie in der Layoutdatei (cms.xml) oder einer beliebigen CMS-Seite den folgenden Code hinzu:
Für Layoutdatei (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;
Für jede CMS-Seite (z. B. Homepage):
Gehen Sie zu CMS->Seiten, bearbeiten Sie die Startseite wie folgt:
Fügen Sie dem Feld Layout Update XML folgenden Code hinzu:
&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;
Bestseller-Produkt anzeigen: Verwendung von addAttibuteToFilter By Attribute
Ähnlich wie bei der Anzeige eines neuen Produkts auf der Startseite.
Schritt 1 : In app/code/local/Mage/Catalog/Block/Product (falls dieser Ordner nicht existiert, erstellen Sie ihn bitte). Erstellen Sie eine Blockdatei (Bestseller.php), die sich bis Mage_Catalog_Block_Product_List erstreckt.
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; } }
Schritt 2: Fügen Sie in der Layoutdatei (cms.xml) oder einer beliebigen CMS-Seite den folgenden Code hinzu:
Für Layoutdatei (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;
Für jede CMS-Seite (z. B. Homepage):
Gehen Sie zu CMS->Seiten, bearbeiten Sie die Startseite wie folgt:
Fügen Sie dem Feld Layout Update XML folgenden Code hinzu:
&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;
Produkte mit benutzerdefiniertem Attribut oder Feld anzeigen
Erstellen eines Attributs – Empfohlen
- Melden Sie sich im Magento-Admin-Panel an
- Navigieren Sie zu „Attribute verwalten“ unter Katalog -> Attribute -> Attribute verwalten
- Klicken Sie oben rechts auf „Neues Attribut hinzufügen“
- Sie befinden sich jetzt auf der Seite zum Bearbeiten von Attributen und auf der Registerkarte Eigenschaften. Es sieht aus wie das:
Registerkarte „Eigenschaften“.
Frontend-Tab
- Attribut-ID: Dies ist der Name des vom System verwendeten Attributs. Leerzeichen können in diesem Feld nicht verwendet werden. Wir geben gekennzeichnet ein.
- Geltungsbereich: Dies bestimmt die Geschäftsebene, auf der dieses Attribut für alle Produkte gespeichert wird. Wenn Sie „Global“ auswählen und „Empfohlen“ für Produkt 123 in Geschäft A auf „Ja“ setzen, werden die Angebote von Produkt 123 in Geschäft B (und allen anderen Geschäften) ebenfalls auf „Ja“ aktualisiert.
- Katalogeingabetyp: Dies beschreibt, welche Art von Daten das Attribut speichert. Was hier eingestellt ist, bestimmt, wie die Dateneingabe für dieses Attribut erfolgt. Wir verwenden Ja/Nein, da wir den Wert für auswählen möchten.
- Standardwert: Sie können einen Wert auswählen, der automatisch für neue Produkte ausgefüllt wird.
- Unique Value: Wenn „ja“, müssen die in diesem Attribut gespeicherten Daten für jedes Produkt eindeutig sein. In diesem Fall sagen wir „nein“, da mehrere Features die gleichen Features haben können.
- Erforderliche Werte: Wenn „Ja“, müssen Sie Daten in diesem Attributfeld auswählen, wenn Sie ein Produkt speichern, das es verwendet. Eingabevalidierung:
- Anwenden auf: Dies bestimmt, für welche Produkttypen dieses Attribut angezeigt wird. Beispielsweise würde der Preis in einem gruppierten Produkt keinen Sinn machen, da jedes einfache Produkt, das dem gruppierten Produkt zugeordnet ist, seinen eigenen Preis hat. Daher können Sie den Preis so einstellen, dass er nicht für gruppierte Produkte gilt, und Sie müssen sich nicht den Kopf darüber zerbrechen, welche Zahlen Sie dort eingeben sollen.
- Verwendung in der Schnell-/Erweiterten Suche: Wenn „Ja“, sind die in diesem Attribut gespeicherten Daten im Frontend in der Schnell- bzw. Erweiterten Suche durchsuchbar.
- Vergleichbar im Frontend: Wenn „ja“, wird dieses Attribut bei einem Produktvergleich angezeigt, sofern mindestens ein Produkt in der Vergleichsliste einen Wert für dieses Attribut enthält.
- Verwendung in der Ebenennavigation: Wenn „filterbar“, stehen diese Daten als Filter in der Ebenennavigation von Magento zur Verfügung. Filterbar (mit Ergebnissen) bedeutet, dass nur Werte, die mit bestimmten Produkten auf einer bestimmten Kategorieseite verknüpft sind, im mehrschichtigen Navigationsmenü aufgelistet werden. Filterbar (keine Ergebnisse) bedeutet, dass alle vorhandenen Werte für ein Attribut im Menü angezeigt werden, auch wenn die Verwendung als Filter keine Ergebnisse liefert. Es gibt eine Bedingung für die Verwendung von Attributen in der Ebenennavigation – der Eingabetyp muss Dropdown, Mehrfachauswahl oder Preis sein.
- Position: Dies bestimmt die Position dieses Attributs im Layered Nav-Menü.
- Sichtbar auf Katalogseiten im Frontend: Wenn „nein“, wird dieses Attribut nicht auf der Produktinfoseite angezeigt. Die „Sichtbarkeit“ steuert nur, ob das Attribut im Frontend angezeigt wird oder nicht. Denken Sie daran – wenn Sie ein Attribut auf „Sichtbar: Nein“ setzen und es auf „Vergleichbar: Ja“ belassen, wird dieses Attribut weiterhin im Vergleich angezeigt
Label / Optionen verwalten
Unter diesem Reiter können Sie die Bezeichnung für das Attribut im Frontend eingeben. Wenn Sie Shops in mehreren Sprachen steuern, können Sie unter diesem Reiter das Label in jeder Sprache eingeben. Wenn das Etikett eines Shops leer ist, sucht dieser Shop nach dem Standardlabel und verwendet dieses. Hier tragen wir „Featured“ unter „Default“ ein.
Wenden Sie ein Attribut für Attributsätze an – Standard
- Melden Sie sich im Magento-Admin-Panel an
- Navigieren Sie zu „Attribute verwalten“ unter Katalog -> Attribute -> Attributsätze verwalten
- Klicken Sie auf „Standard“ oder beliebige Attributsätze.
- Sie befinden sich jetzt auf der Bearbeitungsseite des Attributsatzes und verschieben Featured in Group General oder eine beliebige Gruppe. Es sieht aus wie das:
Bewerbung für ein Produkt
Um dieses auswählbare Attribut nun auf ein Produkt anzuwenden, fügen Sie es einfach einem Attributsatz hinzu und erstellen Sie ein neues Produkt mit diesem Satz. Unten sehen Sie ein vereinfachtes Beispiel für die Registerkarte „Allgemein“ zum Erstellen eines neuen Produkts im Adminbereich:
Ähnlich wie bei der Anzeige eines neuen Produkts auf der Startseite.
Schritt 1: In app/code/local/Mage/Catalog/Block/Product (falls dieser Ordner nicht existiert, erstellen Sie ihn bitte). Erstellen Sie eine Blockdatei (Featured.php), die sich bis Mage_Catalog_Block_Product_List erstreckt.
app/code/local/Mage/Catalog/Block/Product/ Featured.php
Verwenden Sie in diesem folgenden Code „addAttributeToFilter“ für das Filterattribut „Featured“ und „addFieldToFilter“ für das Filterfeld „SKU“ des Produkts mit einem SKU-Wert wie „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;
Für jede CMS-Seite (z. B. Startseite):
Gehen Sie zu CMS->Seiten, bearbeiten Sie die Startseite wie folgt:
Fügen Sie dem Feld Layout Update XML folgenden Code hinzu:
&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;
Bitte teilen Sie Ihre Eindrücke und Ideen in den Kommentaren unten!