그룹/필드 세트 간의 system.xml 종속성
-
13-12-2019 - |
문제
system.xml을 사용하면 개별 필드의 가시성이 다른 필드의 값에 따라 달라지도록 할 수 있습니다.goto 기사는 물론 Alan Storm의 글입니다. 심층적인 Magento 시스템 구성
이는 다음과 같습니다(여기서 그의 예제 코드를 빌리고 있습니다).
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>
이는 동일한 그룹/필드 세트 내의 필드에서만 작동하는 것 같기 때문에(<notes>
이 예에서는) 다음 사항을 알고 싶습니다.만드는 방법이 있나요 <hello_message>
~로부터 <messages>
의존하는 그룹 <enabled>
~로부터 <notes>
그룹?
해결책
후에 적절한 코어 파일을 참조하세요. 크로스 그룹/필드셋 <depends>
다음과 같습니다:
<!-- … -->
<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>
<!-- … -->
제휴하지 않습니다 magento.stackexchange