Erweiterungsreihenfolge von Vorlagen
Wenn Du eine Vorlage mit dem folgenden Twig erweiterst, wird ein Vorlagenbaum aller Dateien erstellt, die diese Datei ebenfalls erweitern können.
{% hw_extends 'storefront::home.twig' %}Nehmen wir als Beispiel an, dass das folgende Modul und Theme die Home-Vorlage des hostware-Basisthemes erweitern:
└── custom
├── modules
│ └── DashservVps
│ └── src
│ └── resources
│ └── views
│ └── home.twig
└── themes
└── hw
└── horizon
└── resources
└── views
└── home.twigWir sehen deutlich, dass ein Theme und ein Modul versuchen, die Vorlage "storefront::home.twig" zu erweitern. Während der Kompilierung wird der folgende unsortierte Vorlagenbaum erstellt:
array:3 [▼
"storefront" => "C:\hostware\resources\views\storefront/home.twig"
"dashservvps" => "C:\hostware\custom/modules/DashservVps\Resources/views/storefront/home.twig"
"theme.horizon" => "C:\hostware\custom\themes\hw\horizon\resources\views/storefront/home.twig"
]Du kannst die Namespaces als Schlüssel und den absoluten Pfad zur Vorlagendatei als Wert sehen. Im nächsten Schritt sortiert der hostware Template Finder diesen Baum in der folgenden speziellen Reihenfolge:
Themes
Module
Hostware Theme
Wie Du sehen kannst, werden zuerst die Twig-Erweiterungsvorlagen des installierten Themes angewendet. Danach wird jedes aktivierte Modul mit dem korrekten Dateipfad für den Vorlagenaufbau berücksichtigt. Erst am Ende werden die Twig-Blöcke des Standard-Hostware-Themes verwendet.