- Web Templates
- E-commerce Templates
- CMS und Blog Templates
- Facebook Templates
- Website-Builder
Magento. Eine Unterkategorien-Liste auf einer Kategorie-Seite
Februar 12, 2013
Dieses Tutorial zeigt Ihnen wie man die Unterkategorien-Liste auf Kategorie-Seiten von Magento-Shop macht.
Um die Thumbnails von Unterkategorien und Ihre Namen auf Kategorie-Seiten anzuzeigen:
- Gehen Sie auf CMS -> Static Blocks (statische Blöcke) im Magento-Admin
- Klicken auf “Add New Block” (Neuen Block Hinzufügen) oben rechts.
- Erstellen Sie einen neuen statistischen Block so:
- Drücken Sie auf “Save Block” (Block Speichern) oben rechts.
- Gehen Sie dann von das Hauptmenü auf Catalog (Katalog) –> Manage Categories (Kategorien verwalten).
- Wählen die Kategorie mit den Untenkategorien und suchen Sie unten “Display Settings Tab” (Display-Einstellungen Tab) das Folgendes aus:
- Oben rechts klicken Sie auf “Save category” (Kategorie speichern)
- Auf Ihrem Computer erstellen Sie eine neue Datei, die “subcategory_listing.phtml” heißt, mit den folgenden Inhalt:
- Über Dateimanager verbinden mit dem FTP-Verzeichnis, wo Ihre Magento-Dateien gespeichert sind, und laden Sie die Datei auf das folgende Verzeichnis hoch:
- Von FTP gehen Sie auf app\code\core\Mage\Catalog\Block\Navigation.php.
- Kopieren die Datei Navigation.php auf Ihrem Computer.
- In “Navigation.php” finden Sie diesen Abschnitt:
- And replace it with this:
- Von Front-End Ihrer Website öffnen Sie die Kategorie mit hinzugefügten Untenkategorien. Jetzt muss das die Untenkategorien-Liste anzeigen.
- Falls Sie keine Änderungen sehen, leeren Sie Ihr Magento/browser Cache. Falls Ihre Untenkategorien keine Thumbnails zeigen, beachten Sie bitte, dass Sie die Bilder schon für Ihre Untenkategorien hochgeladen haben .
Block Title (Titel des Blocks) : Sub Category Listing
Identifier: subcategory_listing
Status (Stand): Enabled (aktiviert)
Content (Inhalt):
{{block type="catalog/navigation" template="catalog/navigation/subcategory_listing.phtml"}}
Display mode: Static Block only
OnlyCMS Block: Sub Category Listing
Is Anchor: No.
<div class="category-products"> <ul class="products-grid"> <?php $_categories=$this->getCurrentChildCategories(); if($_categories->count()): $categorycount = 0; foreach ($_categories as $_category): if($_category->getIsActive()): $cur_category=Mage::getModel('catalog/category')->load($_category->getId()); $layer = Mage::getSingleton('catalog/layer'); $layer->setCurrentCategory($cur_category); $catName = $this->getCurrentCategory()->getName(); if ($categorycount == 0){ $class = "first"; } elseif ($categorycount == 3){ $class = "last"; } else{ $class = ""; } ?> <li class="item <?=$class?>"> <a href="<?php echo $_category->getURL() ?>" title="<?php echo $this->htmlEscape($_category->getName()) ?>"><img src="<?php echo $_category->getImageUrl() ?>" width="100" alt="<?php echo $this->htmlEscape($_category->getName()) ?>" /></a> <h2><a href="<?php echo $_category->getURL() ?>" title="<?php echo $this->htmlEscape($_category->getName()) ?>"><?php echo $this->htmlEscape($_category->getName()) ?></a></h2> </li> <?php endif; if($categorycount == 3){ $categorycount = 0; echo "</ul>\n\n<ul class=\"products-grid\">"; } else{ $categorycount++; } endforeach; endif; ?> </ul> </div>
app/design/frontend/default/MY-TEMPLATE-DIR/template/catalog/navigation/
(falls es einen Ordner aus dieses Verzeichnis fehlt, machen Sie das noch mal )
Von FTP gehen Sie auf app\code\local\Mage\Catalog\Block\ und laden die kopierte Navigation.php auf diesem Verzeichnis (falls es einen Ordner aus dieses Verzeichnis fehlt, machen Sie das noch mal )
public function getCurrentChildCategories() { $layer = Mage::getSingleton('catalog/layer'); $category = $layer->getCurrentCategory(); /* @var $category Mage_Catalog_Model_Category */ $categories = $category->getChildrenCategories(); $productCollection = Mage::getResourceModel('catalog/product_collection'); $layer->prepareProductCollection($productCollection); $productCollection->addCountToCategories($categories); return $categories; }
public function getCurrentChildCategories() { $layer = Mage::getSingleton('catalog/layer'); $category = $layer->getCurrentCategory(); /* @var $category Mage_Catalog_Model_Category */ $collection = Mage::getModel('catalog/category')->getCollection(); /* @var $collection Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection */ $collection->addAttributeToSelect('url_key') ->addAttributeToSelect('name') ->addAttributeToSelect('is_anchor') ->addAttributeToSelect('image') ->addAttributeToFilter('is_active', 1) ->addIdFilter($category->getChildren()) ->setOrder('position', 'ASC') ->joinUrlRewrite() ->load(); $productCollection = Mage::getResourceModel('catalog/product_collection'); $layer->prepareProductCollection($productCollection); $productCollection->addCountToCategories($collection); return $collection; }
Sehen Sie jetzt das ausführliche Video-Tutorial an:
Magento. Eine Unterkategorien-Liste auf einer Kategorie-Seite