Vous pouvez donc définir dans le system.xml
fichier d'un module une dépendance entre les champs en ajoutant une <depends>
balise dans l'un des champs.
<field1>
....
</field1>
<field2>
....
<depends>
<field1>1</field1>
</depends>
</field2>
Le code ci-dessus signifie que field2
sera affiché lorsque la valeur de field1
est 1
. Je veux savoir comment / si je peux dire à Magento de montrer field2
si la valeur de field1
est1
OU 2
?
ce-1.7.0.2
system.xml
Marius
la source
la source
$dependent['separator']
renvoie la valeur de l'attributseparator
. À tous ceux qui ont rétrogradé cela, veuillez voter (deux fois si possible). Marche parfaitement. Merci. cc @benmarks[ÉDITER]
J'avais tort dans ma réponse ci-dessous. Je ne le supprimerai pas (encore) car j'ai reçu 7 votes positifs :). Mais je suis en train de le modifier pour que vous ayez tous la possibilité de retirer votre vote (même de le voter, car je le mérite).
Réponse originale
Ha! .. Je l'ai trouvé.
Réponse courte: vous ne pouvez pas!
Réponse longue : Vous devriez pouvoir le faire si quelqu'un avait connu la différence entre un tableau et un objet.
En théorie, cela devrait fonctionner
Mais dans le code qui gère la dépendance,
Mage_Adminhtml_Block_System_Config_Form::initFields
autour de la ligne 366, il y a ce code$dependent
est toujours un objet et$dependent['separator']
n'est donc jamais défini.Si je change le code ci-dessus en
tout fonctionne bien.
Je suppose que je ne peux pas changer le cœur juste pour une extension donc je dois créer 2 champs au lieu de 1, un pour chaque valeur
field1
ou créer un js personnalisé qui gère cela et l'ajouter à la page de configuration.la source