Seite 1 von 1

[3.3] Template-Abfrage "<!-- IF U_USER_PROFILE|split('u=')[1] funktioniert nicht immer

Verfasst: 24.04.2024 08:25
von A.Maverick
Hallo,

ich nutze in einigen Templates folgenden Code,
<!-- IF U_USER_PROFILE|split('u=')[1] eq 10 -->
um den Inhalt User-spezifisch (z.B. für User mit der ID 10) zu steuern.

Jetzt habe ich festgestellt, dass die Abfrage nur funktioniert, wenn der User "Standard"-Rechte besitzt. Sobald ich die o.g. Abfrage auf einen User anwenden möchte, der nur "Lese"-Rechte besitzt, funktioniert es nicht mehr. Die entsprechende User-ID wird einfach ignoriert.

Hat jemand eine Idee woran das das liegt, bzw. ob/wie die Abfrage geändert werden muss?

Viele Grüße
Andreas

Re: [3.3] Template-Abfrage "<!-- IF U_USER_PROFILE|split('u=')[1] funktioniert nicht immer

Verfasst: 24.04.2024 14:08
von LukeWCS
Bei so "speziellem" Code, sollte man auch angeben, wo der herkommt: viewtopic.php?p=1421322#p1421322

Das ist insbesondere deswegen relevant, weil es nicht viele Ext Coder gibt, die sich mit Twig soweit beschäftigt haben, um diesen Code sofort verstehen zu können.
A.Maverick hat geschrieben: 24.04.2024 08:25 wenn der User "Standard"-Rechte besitzt.
Hat damit nur bedingt zu tun, wichtig ist das Recht "Kann Profile, die Mitglieder- und die Wer-ist-online-Liste ansehen". Wenn der Benutzer dieses Recht im Kontext nicht hat, ist es klar warum das nicht funktioniert, weil die Template Variable U_USER_PROFILE an das besagte Recht gebunden ist.

Lösen kannst du das Problem, indem du, wie ich damals auch empfohlen habe, bei S_USERNAME bleibst:
LukeWCS hat geschrieben: 27.01.2023 23:03 Vorteil von USERNAME ist, dass man auch noch ein Jahr später weiss, für welchen Benutzer man da ne Extrawurst im Template gebraten hat. :wink:
Denn das funktioniert immer und ist nicht an das Profilrecht gebunden. Nachteil ist, dass das eine Namensänderung des Benutzers nicht "überlebt". Aber das dürfte ja wohl eher selten vorkommen.

Re: [3.3] Template-Abfrage "<!-- IF U_USER_PROFILE|split('u=')[1] funktioniert nicht immer

Verfasst: 24.04.2024 18:58
von A.Maverick
Vielen Dank für Deine Hilfe !

Re: [3.3] Template-Abfrage "<!-- IF U_USER_PROFILE|split('u=')[1] funktioniert nicht immer

Verfasst: 24.04.2024 19:44
von LukeWCS
Kein Ding.

Dann noch etwas anderes, hab ich vergessen; du verwendest noch die alte Template Syntax. Diese gibt es schon seit phpBB 3.1.0 nicht mehr und wird lediglich "simuliert", indem im Hintergrund die alte Syntax automatisch nach Twig konvertiert wird. Die alte Syntax ist schon seit damals als deprecated eingestuft und sollte für alles ab 3.1.0 nicht mehr verwendet werden. Das gilt insbesondere auch für Ext Coder und Styler, diese sollten möglichst nur noch Twig nutzen.