Das Vererbungssystem von alphaNEXT

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


Informationsstand

alphaNEXT v3.3.0

Stand: 02/2024

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 verarbeitet, 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 die deines Templates.

$injectBeforePlugins (bis alphaNEXT v3.2.9)

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.


Standardmäßig ist $injectBeforePlugins auf false eingestellt. In dem Fall werden die Templates wie oben beschrieben geladen. Wird die Variable auf true gestellt, wird zuerst das Default-Template, anschließend das Custom-Template und zuletzt die Plugin-Templates geladen.

CUSTOMTEMPLATE_BEFORE_PLUGINS (av alphaNEXT v3.3.0)

Das Vererbungssystem wurde mit dem alphaNEXT Update auf v3.3.0 um eine neue Konfiguration ergänzt. Dafür wurde die bisherige Konfiguration entfernt.

Um die Reihenfolge der zu verarbeitenden Templates zu ändern, kannst du von nun an in den Konfigurationen im Backend deiner alphaNEXT Installation die Option "CUSTOMTEMPLATE_BEFORE_PLUGINS" auf "true" stellen. Dadurch wird dein Custom-Template nach dem Default-Template und erst zum Schluss die Templates der Plugins verarbeitet.

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?
  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. Ist das der Fall kannst du die Reihenfolge der Template-Verarbeitung in den Konfigurationen ändern.

Wenn du in deinem Template etwas ändern möchtest, kannst du dir das i.d.R. gut von dem Default-Template abgucken. 

Du solltest allerdings in keinem Fall Änderungen an dem Default-Template selbst durchführen, da diese bei der nächsten Softwareaktualisierung überschrieben werden würden!

Suchst du z.B. nach einem Bereich im Header, so kannst du den Quelltext aus dem Browser mit dem Default-Template abgleichen und so den passenden Block finden, den du anschließend in dein Template übernehmen kannst.