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.

Schreibe einen Kommentar

* Pflichtfelder