Hinzufügen einer layout-block footer in Magento
Habe ich eine .phtml Datei in /app/design/frontend/mytemplate/default/template/page/html/footer.cat.links.phtml
die im moment einfach enthält 1 html div mit text.
Ich versuche, fügen Sie die Fußzeile, aber ich habe nicht gespielt, um mit den layout-xml vor.
So, ich eröffnet /app/design/frontend/mytemplate/default/layout/page.xml und habe versucht, hinzufügen:
<block type="catalog/navigation" name="footer.cat.links" as="footerCatLinks" template="page/html/footer.cat.links.phtml" />
(Typ "catalog/navigation", da ich beabsichtige, diese zu arbeiten: http://www.magentocommerce.com/wiki/4_-_themes_and_template_customization/catalog/getting_and_using_categories_and_subcategories)
Ich habe es gerade eben in der Fußzeile block wie diesem:
<block type="page/html_footer" name="footer" as="footer" template="page/html/footer.phtml"><my block here></block>
Dann in der Fußzeile.phtml, ich habe versucht, rufen Sie den neuen Baustein mit:
<?php $this->getChildHtml('footerCatLinks') ?>
Habe ich aktualisiert, cache etc. aber es doesn ' T fügen Sie den html - < div > im footer.cat.links.phtml, wenn ich in browser anzeigen.
Habe ich endlich dachte, ich war immer meinen Kopf um Magento ein bisschen, aber von meinem Verständnis der Dokumentation sollte dies funktionieren! Wie falsch bin ich?
- Was die layout-Griff umgibt den block-tag in page.xml?
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Magento ' s layout-xml-block "type" - Attribut bestimmt das system, welche Art von block Sie sollten versuchen, zu laden, so dass die Angabe
type="catalog/navigation"
weist Magento, die es braucht, um zu laden Mage_Catalog_Block_Navigation.Es sei denn, Sie haben geschrieben, Ihre eigene block-Klasse - die ist auch völlig unnötig in diesem Fall sollten Sie einen block vom Typ
core/template
statt. Sie können dann gehen Sie zum laden der Liste Kategorie die durch die Nutzung der Kategorie-Modell (Mage::getModel('catalog/category');
) direkt in Ihre .phtml Datei.Ich in der Regel wie zu verwenden der gleiche Wert für beide
name=""
undas=""
, so fügen Sie den block, um die Fußzeile für alle Seiten, die ich verwenden würde der folgende xml-Code innerhalb des<default>
layout-Abschnitt:Sicher sein, zu aktualisieren Sie Ihre layout-xml-cache wenn Sie die Zwischenspeicherung aktiviert ist (System - >Cache-Verwaltung).
Beachten Sie, dass Sie brauchen nicht zu rufen
$this->getChildHtml('footer_cat_links');
wie der footer-block sollte schon enthalten$this->getChildHtml();
die Iteration über alle untergeordneten Elemente zugeordnet, um die footer-block.