зависимость от полей adminhtml
Я изучаю функцию генерации форм Magento, и у меня есть вопрос, связанный с файлом system.xml
. Вот пример кода:
<days translate="label">
<label>Days</label>
<frontend_type>multiselect</frontend_type>
<source_model>adminhtml/system_config_source_locale_weekdays</source_model>
<sort_order>10</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<comment>Days</comment>
</days>
<sunday translate="label">
<label>Sunday</label>
<frontend_type>multiselect</frontend_type>
<source_model>xxx_xxx_Model_System_Config_Source_Hours</source_model>
<sort_order>100</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<comment>Hours in Sunday</comment>
<depends>
<days>0</days>
</depends>
</sunday>
<monday translate="label">
<label>Monday</label>
<frontend_type>multiselect</frontend_type>
<source_model>xxx_xxx_Model_System_Config_Source_Hours</source_model>
<sort_order>110</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<comment>Hours in Monday</comment>
<depends>
<days>1</days>
</depends>
</monday>
Исходная модель возвращает список часов - от 0 до 23.
Почему, когда я выбираю воскресенье и понедельник, появляется зависимость только по воскресеньям, но когда я выбираю только понедельник, зависимость по понедельникам отображается так, как должна, но как заставить работать несколько зависимостей с полем множественного выбора?
1 answers
Почему, когда я выбираю Воскресенье и понедельник, появляется зависимость только от воскресенья, но когда я выбираю только понедельник, зависимость от понедельника отображается так, как должна
В PrototypeJS/JavaScript$('multiselect').value
всегда возвращает в порядке появления только первый выбранный параметр. Этот первый выбранный параметр затем сравнивается со значением, заданным в виде зависимости:
- Воскресенье + понедельник = Воскресенье
- Понедельник = Понедельник
- Понедельник + Вторник + Среда= Понедельник
Как заставить работать несколько зависимостей с полем множественного выбора?
Единственное решение, которое я могу придумать, - это замена исходной функции JavaScript, которая используется для обработки зависимостей. В настоящее время он не может определить несколько выбранных значений.