Magento – Beschreibung der Kategorie in der Sidebar ausgeben
Sofern man die Kategoriebeschreibung (Category Description) nicht ober- oder unterhalb des Listings ausgeben möchte, ist die Sidebar eine gute Alternative. Wie das funktioniert, soll hier kurz erklärt werden.
Als erstes schauen wir uns wieder die Datei ./app/design/frontend/base/default/template/catalog/category/view.phtml
an, die für die Ausgabe zuständig ist.
Das Override ./app/design/frontend/MyPackage/MyTheme/template/catalog/category/view.phtml
(vgl. Beitrag Magento – Ausgabe der Kategoriebeschreibung) wird um die folgenden Zeilen gekürzt:
<?php $CatDefaultUrl = Mage::App()->getRequest()->getBasePath().'/'.Mage::App()->getRequest()->getPathInfo(); $CatCurrentUrl = Mage::App()->getRequest()->getRequestUri(); ?> <?php if($_description=$this->getCurrentCategory()->getDescription()): ?> <?php if($CatCurrentUrl == $CatDefaultUrl) { ?> <div class="category-description std"> <?php echo $_helper->categoryAttribute($_category, $_description, 'description') ?> </div> <?php } ?> <?php endif; ?>
description.phtml – Datei zur Ausgabe der Kategoriebeschreibung
Dann wird eine neue Datei erstellt, welche u. a. den zuvor entfernten QuellCode enthält.
./app/../MyPackage/MyTheme/template/catalog/category/description.phtml
<?php $_helper = $this->helper('catalog/output'); $_category = $this->getCurrentCategory(); $CatDefaultUrl = Mage::App()->getRequest()->getBasePath().'/'.Mage::App()->getRequest()->getPathInfo(); $CatCurrentUrl = Mage::App()->getRequest()->getRequestUri(); ?> <?php if($_description=$this->getCurrentCategory()->getDescription()): ?> <?php if($CatCurrentUrl == $CatDefaultUrl) { ?> <div class="category-description std"> <?php echo $_helper->categoryAttribute($_category, $_description, 'description') ?> </div> <?php } ?> <?php endif; ?>
XML-Anweisung – Ausgabe innerhalb der Sidebar
Und nun fehlt nur noch die Anweisung via XML.
Hier gibt es zwei Möglichkeiten.
Möglichkeit 1: Override der catalog.xml
Möglichkeit 2: local.xml
./app/design/frontend/MyPackage/MyTheme/layout/local.xml
<?xml version="1.0"?> <layout version="0.1.0"> <catalog_category_default> <reference name="left"> <block type="catalog/category_view" name="category.description" template="catalog/category/description.phtml" /> </reference> </catalog_category_default> <catalog_category_layered> <reference name="left"> <block type="catalog/category_view" name="category.description" template="catalog/category/description.phtml" /> </reference> </catalog_category_layered> </layout>
Sofern der Cache aktiviert ist, müsste dieser noch aktualisiert werden, damit die neuen XML-Anweisungen übernommen werden.