[EDIT]
Я помилився у своїй відповіді нижче. Я не буду його видаляти (поки), тому що я отримав 7 оновлень щодо цього :). Але я це редагую, щоб у вас був шанс відкликати свій голос (навіть відмовились від нього, бо я цього заслуговую).
Оригінальний відповідь
Га! .. Я знайшов це.
Коротка відповідь: Не можна!
Довга відповідь : Ви повинні мати можливість це зробити, якби хтось знав різницю між масивом та об'єктом.
Теоретично це має працювати
<field1>
....
</field1>
<field2>
....
<depends>
<field1>
<value>1|2</value>
<separator>|</separator>
</field1>
</depends>
</field2>
Але в коді, який обробляє залежність, Mage_Adminhtml_Block_System_Config_Form::initFields
біля рядка 366 є цей код
if (isset($dependent['separator'])) {
$dependentValue = explode((string)$dependent['separator'], $dependentValue);
}
$dependent
завжди є об'єктом, тому $dependent['separator']
він ніколи не встановлюється.
Якщо я змінити код вище на
if (isset($dependent->separator)) {
$dependentValue = explode((string)$dependent->separator, $dependentValue);
}
все працює без проблем.
Я думаю, що я не можу змінити ядро лише заради розширення, тому мені доведеться створити 2 поля замість 1, по одному для кожного значення з field1
або створити спеціальний js, який обробляє це, і додати його на сторінку конфігурації.