System.XML-Abhängigkeiten über Gruppen / Feldsets hinweg
-
13-12-2019 - |
Frage
System.xml ermöglicht es uns, die Sichtbarkeit einzelner Felder von Werten aus anderen Feldern abhängig zu machen.Der Goto-Artikel stammt natürlich von Alan Storm: Detaillierte Magento-Systemkonfiguration
Es sieht ungefähr so aus (ich leihe mir hier seinen Beispielcode aus):
Location: app/code/local/Alanstormdotcom/Helloworld/etc/system.xml
<config>
<tabs>
<helloconfig translate="label" module="helloworld">
<label>Hello Config</label>
<sort_order>99999</sort_order>
</helloconfig>
</tabs>
<sections>
<helloworld_options translate="label" module="helloworld">
<label>Hello World Config Options</label>
<tab>helloconfig</tab>
<frontend_type>text</frontend_type>
<sort_order>1000</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<groups>
<notes translate="label">
<label>Demo Of Config Fields NOTES</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>
<enabled translate="label">
<label>Enabled</label>
<frontend_type>select</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>
</enabled>
<hello_note>
<label>Message</label>
<frontend_type>text</frontend_type>
<sort_order>2</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<depends>
<enabled>1</enabled>
</depends>
</hello_note>
</fields>
</notes>
<messages translate="label">
<label>Demo Of Config Fields MESSAGES</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>
<hello_message>
<label>Message</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>
</hello_message>
<hello_time>
<label>Time to Say Hello</label>
<frontend_type>time</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>
</hello_time>
</fields>
</messages>
</groups>
</helloworld_options>
</sections>
Da dies nur mit Feldern innerhalb derselben Gruppe / Feldgruppe zu funktionieren scheint (<notes>
in diesem Beispiel) möchte ich wissen:gibt es eine Möglichkeit zu machen <hello_message>
von der <messages>
gruppe abhängig von <enabled>
von der <notes>
gruppe?
Lösung
Nach einsehen der entsprechenden Stammakte eine übergreifende Gruppe / Feldgruppe <depends>
sieht so aus:
<!-- … -->
<hello_message>
<label>Message</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>
<depends>
<enabled>
<fieldset>notes</fieldset>
<value>1</value>
</enabled>
</depends>
</hello_message>
<!-- … -->
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange