我在社区模块中找到的某个xml文件中定义了一个布局。不知何故,我想添加一个条件(ifconfig),通过该条件呈现块的内容或完全删除该句柄并自己创建一个,以便我可以访问该块。
更具体地说,这是我在udprod.xml中的句柄
<_udprod_catalog_product_edit>
<reference name="content">
<block type="core/template" template="udprod/product_edit.phtml" />
</reference>
</_udprod_catalog_product_edit>
<adminhtml_catalog_product_edit>
<update handle="_udprod_catalog_product_edit" />
</adminhtml_catalog_product_edit>
如您所见,该块没有我可以依赖的名称。有什么办法可以删除&lt; _udprod_catalog_product_edit&gt;从xml文件处理?
谢谢
答案 0 :(得分:0)
我不确定这是否可行,但我有一个工作,我用它来修复错误的第三方扩展:
创建新模块
非常简单,只需要2个文件。
app/etc/modules/Namespace_Fixer.xml
:
<?xml version="1.0"?>
<config>
<modules>
<Namespace_Fixer>
<active>true</active>
<codePool>local</codePool>
<depends>
<Broken_Module/>
</depends>
</Namespace_Fixer>
</modules>
</config>
注意依赖,这非常重要,以便在之后加载。
app/code/local/Namespace/Fixer/etc/config.xml
:
<?xml version="1.0"?>
<config>
<modules>
<Namespace_Fixer>
<version>0.1.0</version>
</Namespace_Fixer>
</modules>
<global>
</global>
<frontend>
<layout>
<updates>
<broken_module> <!-- update this -->
<file>namespace/module_fixed.xml</file>
</broken_module>
</updates>
</layout>
</frontend>
</config>
覆盖布局文件以指向我们的新文件。
复制布局XML
你想指向新的XML,在那里你可以做正确的事情并在块中添加name
并在任何你想要的地方调用它。