Wie ist die Startseite der Systemkonfiguration (admin / system_config / index) definiert?

12

Ich stelle oft fest, dass die Startseite der Systemkonfiguration ( System > Configurationim Admin-Bereich) von Installation zu Installation unterschiedlich ist. Anstatt den General > GeneralAbschnitt anzuzeigen, sehe ich immer den Abschnitt der einen oder anderen Erweiterung.

Wie kommt es dazu? Dies ist nicht die Sortierreihenfolge, da dies auch in Geschäften der Fall ist, in denen General > Generalnoch der erste Tab vorhanden ist.

Und was noch wichtiger ist: Wie würden Sie dies verhindern oder Ihre eigene "Homepage" für die Systemkonfiguration definieren?

Fabian Schmengler
quelle

Antworten:

10

Dies hängt sort_ordervon den Abschnitten in der Datei system.xml ab. Einige Erweiterungen legen sehr wenig Wert darauf, sodass ihre "wichtige" Konfiguration stattdessen auf der Seite "Allgemein" geöffnet wird

Zifius
quelle
9

Dank der Antwort von Zifius wickelte ich meinen Kopf darum .

Viele Module machen diesen Fehler beim Hinzufügen einer Konfigurationsgruppe zu einem vorhandenen Abschnitt (hier: Hinzufügen von "orderexport" zu "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">

wo es eben sein soll

<config>
    <sections>
        <admin>
            <groups>
                <orderexport translate="label">

Die Konfigurationsdateien werden zusammengeführt, sodass bereits vorhandene Werte nicht neu definiert werden müssen, wenn Sie sie nicht überschreiben möchten .

Im obigen Beispiel macht das Überschreiben nicht nur keinen Sinn, es schadet auch tatsächlich:

  1. der Übersetzungsumfang des gesamten Abschnitts wird geändert (von module="core")
  2. das sort_orderist eingestellt auf0

Das Knifflige ist, dass die Sortierreihenfolge der Abschnitte nicht nur die Anzeigereihenfolge in der Registerkarte angibt, sondern auch, welcher Abschnitt zuerst geöffnet wird. Auf diese Weise ist es möglich, einen Abschnitt als Standardseite festzulegen, der nicht Teil der ersten Registerkarte ist.

Ich bin mir sicher, dass dies zu 99% nur das Kopieren und Einfügen ist und es nicht besser weiß.

Um die Standardseite so einzustellen, wie ich es möchte, erstelle ich eine eigene, system.xmldie den Wert sort_ordereines vorhandenen Abschnitts auf einen -1Wert setzt, der niedriger ist als alle "zufälligen Nullen".

Fabian Schmengler
quelle