Seite 1 von 1

Lokale Variablen nicht erreichbar mit we:var

Verfasst: Fr 18. Nov 2022, 16:56
von Florian
Hallo zusammen,

mir fiel im Zusammenhang mit lokalen Variablen die in WebEdition 9 ja möglich geworden sind auf, dass diese nicht über den Tag we:var ansprechbar scheinen.

Vorher hat man mit nameto + to="global"-Variablen speichern und später wieder aufrufen können
<we:field name="we_id" nameto="allowedObjectID" to="global" type="int" />
<we:var name="allowedObjectID" type="global" varType="int" to="screen" />

Müsste das mit local nicht äquivalent funktionieren? Das ich sie mit we-Tag wieder auslesen kann?
<we:field name="we_id" nameto="allowedObjectID" to="local" type="int" />
<we:var name="allowedObjectID" type="local" varType="int" to="screen" /> // (Funktioniert nicht!)
<?php echo $allowedObjectID; ?> // Funktioniert, sollte aber besser mit Tag gelöst werden

Es gibt type="local" nach Doku derzeit nicht. Schränkt dass dann nicht die sinnvolle lokalisierung der Variablen für den Scope nicht entscheidend ein?

Re: Lokale Variablen nicht erreichbar mit we:var

Verfasst: So 20. Nov 2022, 20:03
von mokraemer
Wir haben in PHP die Unterscheidung zwischen den Scopes global und local. Global ist überall und bis zum Ende von PHP verfügbar. Local, wenn es in einem Scope definiert wurde, nur so lange wie es den Scope gibt.
Lokale Variablen können gegenüber globalen einfach als $var in die Tags eingetragen werden

Code: Alles auswählen

<we:field name="we_id" nameto="allowedObjectID" to="local" type="int" />
<we:a id="$we_id">link</<we:a>
Es gibt type="local" nach Doku derzeit nicht. Schränkt dass dann nicht die sinnvolle lokalisierung der Variablen für den Scope nicht entscheidend ein?
eigentlich nicht, ich muß ja die Ausgabe nicht erst in eine Variable umleiten, wenn ich sie doch ausgeben will. Idr. macht man das ja um den Inhalt einem anderen Tag zu übergeben.