Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Das Design admin4l: die Admin-Seite aus Layouts gebaut

Diese Seite ist für Administratoren, die die Administrationsoberfläche anordnen wollen, und für Entwickler, die Admin-Blöcke hinzufügen. admin4l ist admin4, dessen Seite von Exponential Layouts zusammengesetzt wird…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/features/6.0/admin4l.md

On this page

This page is a translation. Read the English original

Das Design admin4l: die Admin-Seite aus Layouts gebaut

Diese Seite ist für Administratoren, die die Administrationsoberfläche anordnen wollen, und für Entwickler, die Admin-Blöcke hinzufügen. admin4l ist admin4, dessen Seite von Exponential Layouts zusammengesetzt wird: Kopfbereich, linke und rechte Seitenleiste, Hauptbereich und Fußzeile sind Zonen eines Admin-Layouts, und was jede Zone zeigt, sind Blöcke. Mit den mitgelieferten Layouts sieht die Seite genau wie admin4 aus: dasselbe Markup, dieselben Klassen, dieselben Stylesheets.

Darauf umstellen

  1. In der site.ini.append.php des Admin-Siteaccess:

    [DesignSettings]
    SiteDesign=admin4l
    AdditionalSiteDesignList[]
    AdditionalSiteDesignList[]=admin4
    AdditionalSiteDesignList[]=admin3
    AdditionalSiteDesignList[]=admin2
    AdditionalSiteDesignList[]=admin

    admin4l enthält nur, was sich von admin4 unterscheidet (das Seitenlayout, das Zonen-Template und die Block-Templates); jedes andere Template und alle Stylesheets kommen aus admin4.

  2. Leeren Sie die Caches: php bin/php/ezcache.php --clear-tag=ini --allow-root-user, dann --clear-id=template,template-override,template-block,content.

Der Sicherheitsschalter

Eine Einstellung bringt jede Admin-Seite zum einfachen admin4 zurück, gleich, was die Layouts und Regeln sagen. In settings/siteaccess/<admin siteaccess>/explayouts.ini.append.php:

[AdminLayoutSettings]
Enabled=disabled

Enabled=enabled schaltet die Layouts ein. Zwei weitere Fälle greifen ohne jede Einstellung auf das eigene Template von admin4 zurück:

  • die Seite, wenn kein Admin-Layout aufgelöst wird oder das aufgelöste Layout keine Blöcke hat;
  • eine Zone, die nichts ausgibt (sie wird stattdessen aus dem eigenen Template von admin4 gezeichnet). Die Hauptzone zeigt immer das Ergebnis des Moduls, auch wenn kein Block für das Modulergebnis in ihr platziert ist.

Ein Block, der auf halbem Weg scheitert, lässt stehen, was er schon ausgegeben hat; nur eine Zone, die leer herauskommt, greift auf den Rückfall zurück.

Layouts, Zonen und Blöcke

Layout-TypZonenSeitenspalten
admin_3colheader, topmenu, left, right, main_top, main, main_bottom, footerlinks und rechts
admin_2colheader, topmenu, left, main_top, main, main_bottom, footerlinks
admin_fullheader, topmenu, main, footerkeine

Die Zonen main_top und main_bottom werden nur auf einer Seite gezeichnet, die den Rahmen #maincolumn hat: nicht auf einer Seite, die admin4 in #a4-main eingehüllt zeichnet (main_wrapped), und nicht, wenn eine Ansicht hide_left_menu setzt. admin_full deklariert sie deshalb nicht. Ein Block, der in einem früher gespeicherten Layout dort platziert ist (Installationen, die vor dieser Änderung befüllt wurden, haben einen Brotkrumenpfad in main_top von admin_full, siehe die Verhaltensänderung), bleibt gespeichert, wird aber nie angezeigt.

Die Layouts werden im Reiter Layouts bearbeitet, wie Website-Layouts. Admin-Layouts, -Regeln und -Blöcke sind eine eigene Gruppe: Der Editor führt sie nur als Admin-Layouts auf (?group=admin oder all), die Blockliste eines Website-Layouts bietet nie einen Admin-Block an, und ein Website-Layout erreicht nie die Administrationsoberfläche.

Blöcke ([AdminBlockSettings] in explayouts.ini, jeder mit Group=admin; das Ansichts-Template eines Blocks ist design:explayouts/block/<identifier>.tpl):

Teil der SeiteBlöcke
Kopfbereichadmin_logo, admin_menu_button, admin_search, admin_theme_switch (nicht nur die Theme-Schaltfläche: Er zeichnet die ganze Gruppe von Werkzeugen, die admin4 hinter die Suche setzt, den Website-Link und das Website-Menü, die Schaltfläche für den Farbmodus, die Kontexthilfe und das Benutzermenü; der Name blieb, damit gespeicherte Layouts weiter funktionieren), admin_sidebar_controls (die Seite zeichnet das Logo und die Menüschaltfläche vor dem Menübereich und den Rest der Kopfzone danach, sodass die Tab-Reihenfolge die von admin4 ist; admin_sidebar_toggles, die Menüschaltfläche und die Steuerungen der Seitenleisten in einem Block, funktioniert weiter in Layouts, die vor der Aufteilung gespeichert wurden, und wird nach den Werkzeugen gezeichnet); admin_tab_menu für die Zone topmenu: Es zeichnet nur die Listeneinträge, die Seite zeichnet den einen Menübereich darum
Linke Seitenleisteadmin_left_menu (das Menü des aktuellen Navigationsteils; der optionale Parameter part erzwingt einen), admin_content_tree
Rechte Seitenleisteadmin_toolbar_right, admin_toolbar_developer (die Werkzeugleisten admin_right und admin_developer aus toolbar.ini, wie admin4 sie zeichnet, in der Reihenfolge von admin4) oder die einzelnen Werkzeuge admin_clear_cache, admin_bookmarks, admin_current_user, admin_preferences, admin_quick_settings
Seiteadmin_breadcrumb, admin_module_result, admin_footer, admin_popup_menu, admin_overlay, admin_debug_area
Werkzeugleisteadmin_ui_switch (das Werkzeug von admin4 in der Werkzeugleiste für die Auswahl der Oberfläche, uiswitch)

Jeder Block bindet den Teil von admin4 ein, nach dem er benannt ist, mit den eigenen Bedingungen von admin4, sodass das Markup gleich bleibt. Die Hüllen (#navbar, #leftmenu, #footer-design ...) zeichnet die Seite, nicht die Blöcke. Das Kontextmenü, die Debug-Markierung und die Überlagerung werden dort gezeichnet, wo admin4 sie zeichnet (außerhalb der Fußzeile), aus den Blöcken der Fußzone, und nur von dort: In einer anderen Zone platziert, werden sie nicht gezeichnet (die Seite zeichnet jeden von ihnen einmal). Gezeichnet werden nur Blöcke, deren Definitionskennung mit admin_ beginnt; die Kennung benennt das Template, deshalb wird jede andere Definition in einem Admin-Layout übersprungen und im Debug-Log vermerkt.

admin_left_menu der Navigationsteile my, content, media und user enthält bereits die Inhaltsstruktur. Setzen Sie admin_content_tree nur dann in eine Zone, wenn Sie den Baum auf einer Seite möchten, deren eigenes Menü keinen hat; in den mitgelieferten Layouts ist er nicht platziert.

Welches Layout eine Seite bekommt

Regeln wählen nach Modul und Ansicht (Ziele module und module_view; Muster content, content/*, content/view, *). Die erste eingeschaltete Regel nach Priorität, deren Layout ein Admin-Layout ist, gewinnt; dann [AdminLayoutSettings] DefaultLayout (Standard admin_3col). Regeln gelten nur auf den Siteaccesses aus SiteAccessMatch[] (admin, admin_*, admintest_*). Mitgelieferte Regeln:

PrioritätZieleLayout
200jede Ansicht, deren Moduldefinition ui_context=edit sagt (content/edit, ...)admin_full
100content/view, content/dashboardadmin_3col
90Module setup, user, shopadmin_3col
10jedes Moduladmin_3col

Caching

Das aufgelöste Layout wird CacheTTL Sekunden lang pro Modul, Ansicht und Siteaccess gemerkt. Die Cache-Blöcke der Seite haben als Schlüssel die ID des Layouts und eine Admin-Generation, die sich ändert, wann immer ein Admin-Layout veröffentlicht oder gelöscht wird oder sich eine Regel ändert, sodass eine Bearbeitung sofort erscheint und nichts geleert werden muss. Kopfbereich und Fußzeile haben außerdem die Rollen des Benutzers als Schlüssel (das Kontextmenü zeigt Einträge nach Richtlinie). Der GET-Parameter SectionID geht als Zahl in die Schlüssel ein, sodass seltsame Werte keine Cache-Dateien erzeugen.

Unterschiede zu admin4

  • Die Tab-Reihenfolge des Kopfbereichs ist die von admin4 (Logo, Menüschaltfläche, Menü, Suche, Werkzeuge, Steuerungen der Seitenleisten): Die Seite zeichnet das Logo und die Menüschaltfläche der Kopfzone vor dem Menübereich und den Rest der Kopfzone danach. Ein Layout, das mit dem alten Block admin_sidebar_toggles gespeichert wurde (Menüschaltfläche und Steuerungen in einem), zeichnet ihn nach den Werkzeugen.
  • Auf einem Telefon fügt admin4 die Aktionen des Benutzers (parts/a4_phone_user.tpl) in das geöffnete Telefonmenü ein und blendet dort das Benutzermenü des Kopfbereichs aus. Der Tab-Menü-Block von admin4l bindet sie nicht ein: Das Benutzermenü des Kopfbereichs bleibt, deshalb hat das Telefonmenü nur die Suche, die Reiter, „Mehr“ und die Schaltfläche zum Schließen.
  • Ein Block in main_top/main_bottom wird nicht angezeigt, wo die Seite kein #maincolumn hat (siehe die Zonentabelle oben).
  • admin_left_menu mit dem Parameter part oder jeder Navigationsteil, dessen parts/<name>/menu.tpl nicht existiert, zeichnet dieses Include so, wie es ist: Die Template-Sprache kann nicht prüfen, ob ein Template existiert, deshalb gibt es keinen Rückfall. Nennen Sie nur Teile, die auf dem Siteaccess existieren.

Prüfen

php vendor/bin/phpunit --testsuite explayouts_admin

deckt die Layout-Typen, Muster, Auflösung pro Modul, den Sicherheitsschalter, die Trennung von der Website, den Cache-Schlüssel und die Generation sowie die Blockdefinitionen und -Templates ab (Live-Einstellungen und -Datenbank, nichts wird geschrieben außer der eigenen Cache-Generation des Resolvers).

Siehe die Verhaltensänderung für das, was sich von admin4 unterscheidet, und admin4 für das Design darunter.

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x