Ich möchte die Erweiterung eines Drittanbieters ändern und deren Funktionalität mit der neuen Erweiterung überschreiben. Aber mein Hauptanliegen ist, was passiert, wenn die Erweiterung eines Drittanbieters nicht aktiviert ist oder in meinem Magento-Ordner vorhanden ist? Ich möchte die Abhängigkeit mithilfe von ifconfig in system.xml oder config.xml festlegen, bin mir jedoch auf Erweiterungsebene nicht sicher, wie überprüft werden soll, ob die Erweiterung im Ordner vorhanden ist. TIA.
EDIT: Danke an @Sander Mangel für die Abhängigkeitsantwort. Lassen Sie mich jetzt klarer sein.
Ich kann die Abhängigkeit einfach mit app / etc / modules / MyNameSpace_MyModule.xml festlegen, aber wenn meine Drittanbietererweiterung aus dem System entfernt wird, wird ein Fehlerbericht generiert und die Anzeige "Modul" MyNameSpace_MyModule "erfordert das Modul" 3rdPartyExtension " und hat die weitere Ausführung gestoppt, da dies der Fall ist generierte Ausnahme, aber was ist, wenn ich weiter ausführen möchte, ohne eine Ausnahme zu generieren? Einfach MyExtension wird nicht wirksam, wenn 3rdpartyextension nicht vorhanden ist, ohne die Ausführung von magento zu stoppen. Deshalb frage ich, ob es irgendeine Möglichkeit gibt, wie wir es bei Layoutdateien getan haben Überprüfen Sie dies. HINWEIS ifconfig hier.
<reference name="sales.order.print">
<action method="setTemplate" ifconfig="3rdparty/config">
<template>mytemplate.phtml</template>
</action>
</reference>
Zweite Bearbeitung: Danke an Zyava. Ich habe getan, was ich will, aber gesagt, wenn ich meine Drittanbieter-Erweiterung zu Testzwecken gelöscht habe, um zu sehen, was passiert. Ich habe meine system.xml wie folgt erstellt
<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>
Sie sehen also, dass ich einfach eine Registerkarte angegeben habe, die auf der Aktivierung der Drittanbietererweiterung basiert. Aber ich habe die Erweiterung eines Drittanbieters vollständig aus meinem System gelöscht, aber es werden immer noch andere Optionen für Erweiterungen von Drittanbietern angezeigt? Warum werden sie angezeigt, obwohl ich meinen Cache geleert habe?