Categories

Ausgewählte Vorlagen

Magento. Eine Unterkategorien-Liste auf einer Kategorie-Seite

Norman Fisher Februar 12, 2013
Rating: 3.4/5. From 7 votes.
Please wait...

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:

  1. Gehen Sie auf CMS -> Static Blocks (statische Blöcke) im Magento-Admin
  2. Klicken auf “Add New Block” (Neuen Block Hinzufügen) oben rechts.
  3. Erstellen Sie einen neuen statistischen Block so:
  4. 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"}} 

  5. Drücken Sie auf “Save Block” (Block Speichern) oben rechts.
  6. Gehen Sie dann von das Hauptmenü auf Catalog (Katalog) –> Manage Categories (Kategorien verwalten).
  7. Wählen die Kategorie mit den Untenkategorien und suchen Sie unten “Display Settings Tab” (Display-Einstellungen Tab) das Folgendes aus:
  8. Display mode: Static Block only
    OnlyCMS Block: Sub Category Listing
    Is Anchor: No.

  9. Oben rechts klicken Sie auf “Save category” (Kategorie speichern)
  10. Auf Ihrem Computer erstellen Sie eine neue Datei, die “subcategory_listing.phtml” heißt, mit den folgenden Inhalt:
  11. <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>
    
  12. Über Dateimanager verbinden mit dem FTP-Verzeichnis, wo Ihre Magento-Dateien gespeichert sind, und laden Sie die Datei auf das folgende Verzeichnis hoch:
  13. app/design/frontend/default/MY-TEMPLATE-DIR/template/catalog/navigation/
    (falls es einen Ordner aus dieses Verzeichnis fehlt, machen Sie das noch mal )

  14. Von FTP gehen Sie auf app\code\core\Mage\Catalog\Block\Navigation.php.
  15. Kopieren die Datei Navigation.php auf Ihrem Computer.
  16. 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 )

  17. In “Navigation.php” finden Sie diesen Abschnitt:
  18. 
    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;
        } 
    
    
  19. And replace it with this:
  20. 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;
        } 
    
    
  21. Von Front-End Ihrer Website öffnen Sie die Kategorie mit hinzugefügten Untenkategorien. Jetzt muss das die Untenkategorien-Liste anzeigen.
  22. 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 .

Sehen Sie jetzt das ausführliche Video-Tutorial an:

Magento. Eine Unterkategorien-Liste auf einer Kategorie-Seite

Themes Magento
Dieser Eintrag wurde um Magento Tutorials geschrieben und categories, display, Magento, on, pages, sub-categories markiert. Bookmarken Sie den permalink.

Submit a ticket

Sollte Ihre Frage durch die Tutorials nicht ausreichend beantwortet worden sein, benutzen Sie bitte den folgenden Link, um sich an unser Beratungsteam (Support) zu wenden. Wir bieten Ihnen unsere Hilfe und Unterstutzung an. 24 Stunden am Tag, 7 Tage die Woche!
Ticket Einrichten