在不使用Magento管理仪表板的情况下指定特定于类别的布局更新

Ant*_*ony 5 magento

有没有办法为特定类别指定布局更新(例如使用类别ID),而无需使用管理仪表板,并设置[自定义设计>自定义布局更新].

我确信我可以创建一个查找类别ID的模块并根据它来切换布局,但我很好奇是否有布局文件的命名或其他类型的约定允许这种类型的粒度控制,因为Zend Framwork有时允许这样的命名约定.

也许在catalog.xml文件本身中还有其他"布局",允许这样的粒度,更具体的 <catalog_category_layered />

Ala*_*orm 16

在标准的Magento安装(1.4.2,但它应该适用于其余部分)中,Magento发出以下布局句柄(句柄告诉Magento从包布局加载哪些布局更新XML片段)

<default />
<catalog_category_layered_nochildren />
<STORE_default />
<THEME_frontend_default_default />
<catalog_category_view />
<catalog_category_layered />
<CATEGORY_4 />
<customer_logged_out />
Run Code Online (Sandbox Code Playgroud)

以下布局句柄

<CATEGORY_4 />
Run Code Online (Sandbox Code Playgroud)

是基于类别的ID生成的.这意味着您应该能够向您local.xml或通过自定义模块添加的自定义布局XML文件中添加以下内容

<layouts>
    <CATEGORY_4>
        <!-- your UPDATE xml here -->
    </CATEGORY_4>
</layouts>
Run Code Online (Sandbox Code Playgroud)