Designs

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.twig

Wir 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:

  1. Themes

  2. Module

  3. 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.

War das hilfreich?