我想修改第三方扩展,并想用新扩展覆盖其功能。但是我主要担心的是,如果我的Magento文件夹中未启用或存在第3方扩展名怎么办?我想在system.xml或config.xml中使用ifconfig设置依赖关系,但是我不确定在扩展级别如何检查文件夹中是否存在扩展名。TIA。
编辑:感谢@Sander Mangel的依赖关系答案。现在让我更加清楚。
我可以使用app / etc / modules / MyNameSpace_MyModule.xml轻松设置依赖项,但是当我的第三方扩展名从系统中删除时,会生成错误报告,并且其显示的“模块“ MyNameSpace_MyModule”需要模块“ 3rdPartyExtension”并停止进一步执行,原因是生成了异常,但是如果我想进一步执行而不生成异常怎么办?如果不存在不停止magento的情况下不存在3rdpartyextension,那么MyExtension就不会生效。这就是为什么我要问有没有像我们对布局文件所做的那样的设施检查,在此处注意ifconfig。
<reference name="sales.order.print">
<action method="setTemplate" ifconfig="3rdparty/config">
<template>mytemplate.phtml</template>
</action>
</reference>
第二编辑:感谢Zyava。我做了我想要的,但是说如果我出于测试目的删除了我的第三方扩展,以查看会发生什么。.我如下创建了system.xml
<config>
<sections>
<payment>
<groups>
<3rdparty extension translate="label" module="payment">
<label>3rd Party</label>
<frontend_type>text</frontend_type>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<fields>
<disallowedcustomergroups translate="label comment">
<label>Disallowed Customer Groups</label>
<frontend_type>multiselect</frontend_type>
<sort_order>120</sort_order>
<source_model>adminhtml/system_config_source_customer_group</source_model>
<config_path>mymodule/disallowed_customer_groups</config_path>
<comment><![CDATA[Press control and select multiple groups]]></comment>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<depends><active>1</active></depends>
</disallowedcustomergroups>
</fields>
</3rdpartyextension>
</groups>
</payment>
</sections>
</config>
因此,您可以看到我只是基于激活第三方扩展名指定了一个选项卡。但是我已经从系统中完全删除了第三方扩展,但是它仍然显示第三方扩展的其他选项吗?尽管清除了缓存,为什么为什么要显示它们?