[EDIT]
Saya salah dalam jawaban saya di bawah ini. Saya tidak akan menghapusnya (karena) saya mendapat 7 upvotes pada ini :). Tapi saya mengeditnya sehingga Anda semua memiliki kesempatan untuk menarik kembali suara Anda (bahkan menurunkannya, karena saya layak mendapatkannya).
Jawaban Asli
Ha! .. Saya menemukannya.
Jawaban singkat: Anda tidak bisa!
Jawaban panjang : Anda harus bisa melakukannya jika seseorang tahu perbedaan antara array dan objek.
Secara teori ini harus bekerja
<field1>
....
</field1>
<field2>
....
<depends>
<field1>
<value>1|2</value>
<separator>|</separator>
</field1>
</depends>
</field2>
Tetapi dalam kode yang menangani ketergantungan, Mage_Adminhtml_Block_System_Config_Form::initFields
sekitar baris 366 ada kode ini
if (isset($dependent['separator'])) {
$dependentValue = explode((string)$dependent['separator'], $dependentValue);
}
$dependent
selalu merupakan objek jadi $dependent['separator']
tidak pernah diatur.
Jika saya mengubah kode di atas menjadi
if (isset($dependent->separator)) {
$dependentValue = explode((string)$dependent->separator, $dependentValue);
}
semuanya bekerja dengan lancar.
Saya kira saya tidak dapat mengubah inti hanya demi ekstensi jadi saya harus membuat 2 bidang, bukan 1, satu untuk setiap nilai dari field1
atau membuat js kustom yang menangani ini dan menambahkannya ke halaman konfigurasi.