CMS Seiten in Menü einbinden

17.12.2012 | Magento

this really sucks...

CMS Seiten kann man nicht automatisch ins Menü einbinden!! Man muß also in der topmenu.phtml folgendes einbauen, damit man VOR oder NACH dem Produktmenü-Block (der sich aus den Kategorien zusammensetzt) manuelle Menüblöcke (hier: top-navbar-before und top-navbar-after) einfügen kann...


<?php $_menu = $this->getHtml('level-top') ?>
<?php if($_menu): ?>
<div class="nav-container">
    <ul id="nav">
    <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('top-navbar-before')->toHtml() ?>
       <?php echo $_menu ?>
       <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('top-navbar-after')->toHtml() ?>
    </ul>
</div>
<?php endif ?>

 

Im CMS-block muß auch berücksichtigt werden, daß KEIN öffnenedes und kein schließendes <ul>-Tag erscheinen, weil diese ja schon vom Menü geliefert werden.Also sieht der top-navbar-after-Block, zb. so aus (beim Öffnen im Wyswyg-Editor wird der Code zerstört!!, also immer abspeichern in einer externen Datei!) :


<li><a href={{store url='about-us'}}>About Us</a> </li>
<li><a href={{store url='about-us'}}>Unternehmen</a>
<ul>
<li><a href={{store url='about-us'}}>Über uns</a></li>
<li><a href={{store url='contact'}}> Kontakt</a> </li>
<li><a href={{store url='inchoo-simplecontact'}}>Inchoo SimpleContact</a></li>
</ul>
</li>