|
|
Template Vererbung
|
|
|
======
|
|
|
|
|
|
In der Version 1.3 erscheint QUIQQER mit der Möglichkeit der Template Vererbung. Durch die Template Vererbung ist es dir nun möglich dein erstelltes Template von einem anderen Template erben zu lassen.
|
|
|
|
|
|
Hierzu können im zuerbenden Template Einzelteile / Blöcke des Eltern-Templates überschrieben werden. Besitzt das Kind-Template gewisse HTML / CSS Dateien nicht, werden diese vom Eltern-Template bezogen.
|
|
|
|
|
|
Du musst also Templates nicht von null anfangen.
|
|
|
|
|
|
|
|
|
Was muss beachtet werden?
|
|
|
------
|
|
|
|
|
|
Das Eltern-Template sollte Asset URL's mit `{$Template->getTemplateUrl('URL')}` einbinden. Durch die Verwendung von `getTemplateUrl` lassen sich auch diese Dateien ersetzen.
|
|
|
|
|
|
**Beispiel:**
|
|
|
|
|
|
```html
|
|
|
<link rel="stylesheet" href="{$Template->getTemplateUrl('bin/css/style.css')}"/>
|
|
|
<link rel="stylesheet" href="{$Template->getTemplateUrl('bin/css/buttons.css')}"/>
|
|
|
```
|
|
|
|
|
|
*Assets sind in diesem Falle, CSS, JavaScript und Bild Dateien die vom Template mitgeliefert werden.*
|
|
|
|
|
|
Zusätzlich sollte, wenn andere Templates eingebunden werden, immer die Smarty {fetch} Funktion von QUIQQER verwendet werden.
|
|
|
|
|
|
**Beispiel:**
|
|
|
|
|
|
```html
|
|
|
{fetch template="template/footer.html"}
|
|
|
```
|
|
|
|
|
|
|
|
|
Kind Template erstellen
|
|
|
------
|
|
|
|
|
|
Als erstes musst du in deiner `composer.json` natürlich deine Abhängigkeit festlegen damit das Elterntemplate auch im System vorhanden ist. Möchtest du also von `quiqqer/template-cologne` erben, musst du in der Paket `composer.json` Datei den require Teil um dieses Template erweitern.
|
|
|
|
|
|
```json
|
|
|
"require": {
|
|
|
"quiqqer/template-cologne": "1.*|dev-master|dev-dev"
|
|
|
},
|
|
|
```
|
|
|
|
|
|
Danach musst du deinem Template Paket noch mitteilen das dies ein Parent Template besitzt. Das ganze machst du in der `package.xml` deines Paketes indem du ein `<template_parent>` Eintrag hinzufügst.
|
|
|
|
|
|
```xml
|
|
|
<template_parent>quiqqer/template-cologne</template_parent>
|
|
|
```
|
|
|
|
|
|
```xml
|
|
|
<quiqqer>
|
|
|
<package>
|
|
|
<!-- package stuff -->
|
|
|
|
|
|
<template_parent>quiqqer/template-cologne</template_parent>
|
|
|
|
|
|
<!-- package stuff -->
|
|
|
</package>
|
|
|
</quiqqer>
|
|
|
```
|
|
|
|
|
|
Wenn diese zwei Sachen erledigt sind kannst du nun mit dem Überschreiben der Templates beginnen. Damit du einzelne Dateien des Elterntemplates überschreiben kannst, musst du nur die gleiche Ordnerstruktur aufbauen wie von deinem Ausgangstemplate.
|
|
|
|
|
|
Ein gutes Beispiel wie so etwas aussieht findest du unter https://dev.quiqqer.com/quiqqer/template-inheritance-example |
|
|
\ No newline at end of file |