Jak zdefiniowana jest strona początkowa konfiguracji systemu (admin / system_config / index)?

12

Często zauważam, że strona początkowa konfiguracji systemu ( System > Configurationw panelu administracyjnym) różni się w zależności od instalacji. Zamiast pokazywać General > Generalsekcję, zawsze widzę sekcję tego lub innego rozszerzenia.

Jak to się stało? To nie jest kolejność sortowania, ponieważ dzieje się tak również w sklepach, w których General > Generalwciąż jest pierwsza karta.

A co ważniejsze: jak temu zapobiec lub zdefiniować własną „stronę główną” konfiguracji systemu?

Fabian Schmengler
źródło

Odpowiedzi:

10

Zależy to sort_orderod sekcji w pliku system.xml, niektóre rozszerzenia nadają temu bardzo niską wartość, dzięki czemu ich „ważna” konfiguracja otwiera się zamiast strony „Ogólne”

Zifius
źródło
9

Dzięki odpowiedzi Zifiusa owinąłem głowę.

Wiele modułów popełnia ten błąd podczas dodawania grupy konfiguracji do istniejącej sekcji (tutaj: dodawanie „orderexport” do „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">

gdzie powinno być sprawiedliwie

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

Pliki konfiguracyjne są scalane, więc nie ma potrzeby ponownego definiowania wartości, które już istnieją, jeśli nie chcesz ich zastąpić.

W powyższym przykładzie zastąpienie nie tylko nie ma sensu, ale w rzeczywistości szkodzi:

  1. zakres tłumaczenia całej sekcji został zmieniony (z module="core")
  2. sort_orderjest ustawiony na0

Problem polega na tym, że kolejność sortowania sekcji nie tylko określa kolejność wyświetlania w zakładce, ale także która sekcja zostanie otwarta jako pierwsza. W ten sposób można ustawić sekcję jako stronę domyślną, która nie jest częścią pierwszej karty.

Jestem pewien, że w 99% jest to po prostu rozwój i kopiowanie i wklejanie oraz brak wiedzy.

Aby ustawić domyślną stronę tak, jak chcę, utworzę własną, system.xmlktóra ustawi sort_orderistniejącą sekcję na wartość -1niższą niż wszystkie „przypadkowe zera”

Fabian Schmengler
źródło