Grâce à la réponse de Zifius, j'ai enroulé ma tête autour d'elle.
De nombreux modules font cette erreur lors de l'ajout d'un groupe de configuration à une section existante (ici: ajout de "orderexport" à "advanced> admin"):
<config>
<sections>
<admin translate="label" module="export">
<label>Admin</label>
<tab>advanced</tab>
<frontend_type>text</frontend_type>
<sort_order>0</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>0</show_in_website>
<show_in_store>1</show_in_store>
<groups>
<orderexport translate="label">
où il devrait être juste
<config>
<sections>
<admin>
<groups>
<orderexport translate="label">
Les fichiers de configuration sont fusionnés, il n'est donc pas nécessaire de redéfinir les valeurs qui existent déjà si vous ne souhaitez pas les remplacer.
Dans l'exemple ci-dessus, le remplacement n'a pas seulement un sens, il nuit en fait:
- la portée de la traduction de la section entière est modifiée (de
module="core"
)
- le
sort_order
est mis à0
Le plus délicat est que l'ordre de tri des sections ne spécifie pas seulement l'ordre d'affichage dans son onglet, mais aussi quelle section sera ouverte en premier. De cette façon, il est possible d'avoir une section comme page par défaut qui ne fait pas partie du premier onglet.
Je suis sûr que dans 99% des cas, il s'agit simplement de copier-coller et de ne pas savoir mieux.
Pour définir la page par défaut comme je le veux, je vais créer une propre system.xml
qui définit la sort_order
section existante sur une -1
qui sera inférieure à tous les "zéros accidentels"