зависимость от полей 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.

Почему, когда я выбираю воскресенье и понедельник, появляется зависимость только по воскресеньям, но когда я выбираю только понедельник, зависимость по понедельникам отображается так, как должна, но как заставить работать несколько зависимостей с полем множественного выбора?

Author: 7ochem, 2015-11-06

1 answers

Почему, когда я выбираю Воскресенье и понедельник, появляется зависимость только от воскресенья, но когда я выбираю только понедельник, зависимость от понедельника отображается так, как должна

В PrototypeJS/JavaScript$('multiselect').value всегда возвращает в порядке появления только первый выбранный параметр. Этот первый выбранный параметр затем сравнивается со значением, заданным в виде зависимости:

  • Воскресенье + понедельник = Воскресенье
  • Понедельник = Понедельник
  • Понедельник + Вторник + Среда= Понедельник

Как заставить работать несколько зависимостей с полем множественного выбора?

Единственное решение, которое я могу придумать, - это замена исходной функции JavaScript, которая используется для обработки зависимостей. В настоящее время он не может определить несколько выбранных значений.

 2
Author: mam08ixo, 2015-11-06 16:52:11