Das Vererbungssystem von alphaNEXT

alphaNEXT baut deine Website aus verschiedenen Einzelteilen ("Template-Bausteinen") zusammen. 


Informationsstand

alphaNEXT v3.2.3

Stand: 01/2023

Die Gesamte Templatestruktur besteht dabei aus insgesamt drei Teilen:

  1. Default-Template
  2. Plugins
  3. Custom Template (Dein Template)

Diese drei Teile werden der Reihe nach aufgerufen und geladen, sobald jemand das Frontend deiner alphaNEXT Website öffnet.

Das sog. Default-Template wird als erstes geladen und enthält die komplette Grundstruktur des Templates von alphaNEXT für das Frontend. Die hier enthaltenen Template Blöcke (Blöcke = Abschnitte innerhalb einer Templatedatei) können nun von den Templates die als nächstes geladen werden überschrieben, verändert oder entfernt werden.

Als nächstes folgen die Templatedaten der installierten Plugins und anschließend deines Templates.

Hinweis für bestehende alphaNEXT Installationen

Das Vererbungssystem wurde mit dem alphaNEXT Update auf v3.2.3 umstrukturiert, um Custom-Templates optimal zu verarbeiten und nutzen zu können! 

Die Templates wurden zuvor in einer anderen Reihenfolge geladen, wodurch teilweise manche Template-Blöcke im Custom-Template nicht überschrieben werden konnten. Ab sofort wird das Custom-Template als letztes (nach den Plugins) geladen. Zusätzlich wurde eine Variable (in der index.php im Hauptverzeichnis von alphaNEXT) zur Verfügung  gestellt, mit der die Vererbungsreihenfolge manuell wieder umgedreht werden kann.

Die Variable lautet: $injectBeforePlugins.

Weitere Informationen in der Entwickler Dokumentation von alphaNEXT!

FAQ zum Vererbungssystem

Dieser Fall kann unterschiedliche Auslöser haben:

  1. Der Block-Name ist falsch oder enthält Tippfehler?
  2. Die Templatedatei enthält einen falschen Dateinamen oder Tippfehler darin?
  3. Die Templatedatei enthält keine Anweisung dafür, welchen Templateteil sie erweitert (Smarty: "extends")?
  4. Eventuell sprichst du mit deinem Template einen Block an, der von einem Plugin ebenfalls angesprochen wird und das dadurch deinen Block überschreibt. Prüfe ob du deine Anweisungen auch an einen anderen Block hängen kannst.