[DÜZENLE]
Aşağıdaki cevabımda yanılmışım. Ben (henüz) silmeyeceğim çünkü bu konuda 7 upvotes var :). Ama ben onu düzenliyorum, böylece hepiniz oyunuzu geri çekme şansına sahip olursunuz (hatta oy verin, çünkü bunu hak ediyorum).
Orijinal Yanıt
Ha! .. Buldum.
Kısa cevap: Yapamazsınız!
Uzun cevap : Birisi bir dizi ile bir nesne arasındaki farkı bilseydi bunu yapabilmelisiniz.
Teoride bu işe yaramalı
<field1>
....
</field1>
<field2>
....
<depends>
<field1>
<value>1|2</value>
<separator>|</separator>
</field1>
</depends>
</field2>
Ancak bağımlılığı işleyen kodda, Mage_Adminhtml_Block_System_Config_Form::initFields
366 satırı etrafında bu kod var
if (isset($dependent['separator'])) {
$dependentValue = explode((string)$dependent['separator'], $dependentValue);
}
$dependent
her zaman bir nesnedir, bu yüzden $dependent['separator']
asla ayarlanmaz.
Yukarıdaki kodu değiştirirsem
if (isset($dependent->separator)) {
$dependentValue = explode((string)$dependent->separator, $dependentValue);
}
her şey sorunsuz çalışıyor.
Ben sadece bir uzantı uğruna çekirdek değiştiremiyorum sanırım bu yüzden 1 yerine 2 alan, her değer için bir tane field1
veya bunu ele ve yapılandırma sayfasına eklemek özel bir js oluşturmak zorunda.