在尝试调试几个小时后,我没有想法,希望得到一些澄清(我想我在某些时候想念一个概念).
背景故事:一些基类需要一个"概述页面",它应该从子类别和产品中自动生成.所以我的方法是在每个基类别中添加一个子类别,并创建一个从所有这些子类别中使用的自定义页面布局.对于我的客户来说,这很容易在Magento后端管理,因为他只需要在一个下拉列表中更改值.所以我创建了一个定义新页面布局的简单模块.在后端我也可以选择这个.
模块配置:
<?xml version="1.0"?>
<config>
<modules>
<Company_Layouts>
<version>0.1.0</version>
</Company_Layouts>
</modules>
<global>
<page>
<layouts>
<company_category_overview module="page" translate="label">
<label>Kategorie-Übersicht</label>
<template>page/1column.phtml</template>
<layout_handle>company_category_overview</layout_handle>
</company_category_overview>
</layouts>
</page>
</global>
<frontend>
<layout>
<updates>
<company_layouts>
<file>company_layouts.xml</file>
</company_layouts>
</updates>
</layout>
</frontend>
</config>
Run Code Online (Sandbox Code Playgroud)
由于这些特殊的概述页面需要进行一些布局更改,我希望在特定的布局文件中引用布局(company_layouts.xml)...这里我的逻辑离开了我:
随着<layout_handle>company_category_overview</layout_handle>我希望定义一个手柄,我可以用它来改变时,才使用这种特定的页面模板布局.确切情况并非如此.我company_category_overview只是忽略了句柄内部的布局更新.
深入挖掘后,我意识到,它似乎不是我的代码,而更像是一般问题.在旧的Magento 1.4安装中,页面布局句柄被传送到所有站点,例如page_one_column.在Magento 1.7和(我现在使用的)1.8这只是在主页上的情况.我正在使用Commerce Bug进行调试.我刚尝试了一个全新的1.7和一个freh 1.8安装.
这是一些我不理解的概念还是一个普通的错误?
另外,我知道布局更新可以在后端实现,但这只是我的最后一个选项,因为我觉得在一个单独的文件中更清晰,而不需要复制/粘贴这些东西.