Quantcast
Channel: phpBB.de
Viewing all articles
Browse latest Browse all 559

Coding & Technik • Ersetzung von DEFINE durch Twig syntax

$
0
0
Tatsächlich hatte ich erwartet dass Twig von sich aus Globale Variablen händeln kann.
Dem ist nicht so, jedenfalls nicht Vanillla. Das muss Twig explizit beigebracht werden, phpBB macht das eben über definition..

Nur um das zu präzisieren: Ich hatte ja geschrieben von Template A und B, also wenn es 2 separate Templates sind. Das gilt aber genauso wenn dasselbe Template mehrfach aufgerufen wird. Templates kann man als separate "Instanzen" betrachten. Eine lokale Variable die beim ersten Aufruf (Instanz A) eines Templates gesetzt wird, ist beim zweiten Aufruf (Instanz B) des gleichen Templates nicht mehr existent.

Beispiel Toggle Control:

Die Template Variable TOGGLECTRL_TYPE liegt im globalen Scope und hat deshalb das Präfix TOGGLECTRL_ wie alle Variablen bei TC, die in einem globalen Scope liegen. Ich verwende konsequent ein Präfix bei Namen von globalen Variablen, um Kollisionen mit phpBB und anderen Exts zu vermeiden. Leider ist vielen Ext Codern nicht bewusst, dass sie mit globalen Scopes hantieren.

Dagegen habe ich bei der Template Variable switch_type kein Präfix verwendet, weil sie im lokalen Scope definiert wird. Und das entspricht dann wieder deinem zweiten Code.

Statistik: Verfasst von LukeWCS — 15.12.2023 16:42 — Antworten 4 — Zugriffe 177



Viewing all articles
Browse latest Browse all 559