[EDITAR]
Me equivoqué en mi respuesta a continuación. No lo eliminaré (todavía) porque obtuve 7 votos a favor :). Pero lo estoy editando para que todos tengan la oportunidad de retractarse de su voto (incluso desestimarlo, porque me lo merezco).
Respuesta original
¡Ja! .. Lo encontré.
Respuesta corta: ¡ No puedes!
Respuesta larga : debería poder hacerlo si alguien hubiera sabido la diferencia entre una matriz y un objeto.
En teoría esto debería funcionar
<field1>
....
</field1>
<field2>
....
<depends>
<field1>
<value>1|2</value>
<separator>|</separator>
</field1>
</depends>
</field2>
Pero en el código que maneja la dependencia, Mage_Adminhtml_Block_System_Config_Form::initFields
alrededor de la línea 366 hay este código
if (isset($dependent['separator'])) {
$dependentValue = explode((string)$dependent['separator'], $dependentValue);
}
$dependent
siempre es un objeto, por $dependent['separator']
lo que nunca se establece.
Si cambio el código anterior a
if (isset($dependent->separator)) {
$dependentValue = explode((string)$dependent->separator, $dependentValue);
}
Todo funciona sin problemas.
Supongo que no puedo cambiar el núcleo solo por el bien de una extensión, así que tengo que crear 2 campos en lugar de 1, uno para cada valor field1
o crear un js personalizado que maneje esto y agregarlo a la página de configuración.