Xml Magento:通过类别自定义布局更新以自定义块为目标
在local.xml中,我添加了一个名为“category_header”的块,它按预期显示Xml Magento:通过类别自定义布局更新以自定义块为目标,xml,magento,Xml,Magento,在local.xml中,我添加了一个名为“category_header”的块,它按预期显示 <catalog_category_layered> ... <reference name="root"> <block type="catalog/category_view" name="category.header" as="category_header" template="catalog/category/view_heade
<catalog_category_layered>
...
<reference name="root">
<block type="catalog/category_view" name="category.header" as="category_header" template="catalog/category/view_header.phtml" />
</reference>
...
</catalog_category_layered>
...
...
在“特定类别/自定义设计/自定义布局更新”下的“管理”中,我尝试使用以下内容将块添加到“类别标题”块中(新闻稿块只是一个示例):
那不行。如果我将引用更改为“content”(reference name=“content”),它将正常工作并显示在内容块中
所以我的问题是:我需要做什么才能以category_头块为目标?您正在将块添加到根:
<reference name="root">
<!-- ... -->
</reference>
你确定要这样做吗,这是最高级别的
如果有意将块添加到根,则还必须在基本模板文件中输出块
例如,如果您使用的是1列布局,则需要修改页面模板以输出块:
模板/page/1column.phtml
<?php echo $this->getChildHtml('category_header') ?>
当使用内容作为包含时,它起作用的原因是内容容器的所有子容器都会自动输出,但根容器的子容器不会输出,因此需要手动将其添加到模板中
如果您使用任何其他页面布局(2col left等),您还需要将输出添加到每个视图文件中
您还需要输出类别\标题视图/块内的任何块:
<?php echo $this->getChildHtml('newsletter_header') // rename.. ?>
确保catalog/category/view\u header.phtml包含
始终可以找到具有以下内容的子块:
<?php Zend_Debug::dump(array_keys($this->getChild())) ?>
我将“category_header”添加到根目录的原因是我使用的是2col左页面布局,但我希望在左/主列上方显示1列“header”。这很好,我遇到的问题是试图将块添加到“category_header”块中。谢谢,很抱歉我的回复太晚了,benmarks。实际上,我已经在view_header.phtml模板中回显了getChildHtml(“新闻稿”)。不幸的是,它没有起作用。我最终在根模板中调用了新闻稿。这不是一个很好的解决方案,但它必须持续几天,直到我回到那个部分。
<?php echo $this->getChildHtml('newsletter') ?>
<?php Zend_Debug::dump(array_keys($this->getChild())) ?>