Seite 1 von 1
Im Template Substring ermitteln
Verfasst: 28.09.2012 15:42
von Truelli
Hallo zusammen,
In meinem Template steht mir auf allen Seiten die Variable {UP} zur Verfügung. Der Inhalt dieser Variable ist unterschiedlich, je nach dem, welcher User gerade angemeldet ist.
Beispiel für den Inhalt von {UP} (stark gekürzt):
ALA2|STVA2|ALA3|STVA3|MA4|ZA8|MOA7|MA8|BSFW
Nun suche ich eine Möglichkeit im Template auf Basis dieses Strings eine Fallunterscheidungen zu bauen. Diese sollte aber nur einen Teilstring beinhalten. Also beispielsweise sowas wie:
<!-- IF UP eq ALA3 -->
// some code
<!-- ENDIF -->
Mein Problem ist, dass man scheinbar die Variable {UP} nicht mit einem Teilstring durchsuchen kann...
Gibts dafür eine Lösung, ohne den String {UP} zuvor in den php-Dateien anhand des Trenners | zu zerlegen und einzelnd an das Template zu übergeben? Die Lösung sollte möglichst wenig Code haben, da ich diese Funktion oft benötige.
Lieben Dank für Eure Anregungen!
Truelli
Re: Im Template Substring ermitteln
Verfasst: 28.09.2012 15:51
von Nuramon
Versuchs mal mit
<!-- IF UP contains 'ALA3' -->
Das sollte, soweit ich es noch im Kopf habe, funktionieren.
EDIT:
Pardon, das wird wohl so nicht gehen...
Schau mal hier für Anregungen, was du alles mit den Template-Variablen machen kannst.
https://wiki.phpbb.com/Tutorial.Template_syntax
Sonst hab ich keine Idee, außer die Übergabe an das Template ein wenig anders zu regeln...
Re: Im Template Substring ermitteln
Verfasst: 28.09.2012 16:11
von Truelli
mist
Danke für Deine Antwort... habs mir schon fast gedacht, denn ich konnte auch Google nicht zu einer Lösung überreden.
Nun muss ich wohl den Weg gehen und doch in allen php-Seiten die Geschichte auswerten, hatte gehofft, dass ich das nur in den Templates machen muss.
LG
Truelli
Re: Im Template Substring ermitteln
Verfasst: 28.09.2012 16:18
von Nuramon
Hmm.
Beschreib uns/mir doch mal genauer, was in dieser Variable drin steht.
Und vor allem, was genau du damit erreichen willst.
Ich hatte mal ein ähnliches Problem und hatte eine Lösung gefunden.
Re: Im Template Substring ermitteln
Verfasst: 28.09.2012 16:39
von Truelli
Ich habe glaube ich ein Workaround gefunden... sagt mir, ob das so funktionieren kann...
also in meiner Variable stehen 1-20 verschiedene unique Teilstrings durch eine Pipe | getrennt. Alle Teilstrings bestehen aus einer Mischung von Buchstaben und Zahlen (Grossschrift). Die Teilstrings baute ich bisher in einer Funktion zu einem String zusammen.
Meine Idee wäre nun, in der functions.php meine Funktion so zu bauen, dass ich gar nicht erst eine Zeichenkette baue, sondern gleich die Teilstrings quasi als Name der Variable mit dem Wert 1 übergebe... also quasi so:
Code: Alles auswählen
$sql="Select Teilstrings from Table";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)){
$template->assign_vars(array(
''.$row[Teilstrings'].'' => 1,
));
}
Dadurch müssten doch eigentlich alle gesplitteten Teilstrings als Variable mit dem Inahlt 1 zur Verfügung stehen oder?
Die Funktion baut dann ja sowas:
Code: Alles auswählen
'ALA2' => 1,
'ALA3' => 1,
'ALA4' => 1,
...
'MA4' => 1,
Wenn dem so ist, könnte ich in den Templates folgendes machen:
oder
dann wäre mein Problem gelöst und ich muss mich nichtmal mehr um die Teilstrings kümmern...
Truelli
Re: Im Template Substring ermitteln
Verfasst: 28.09.2012 16:55
von Truelli
FUNKTIONIERT
wie geil...
Meine User haben unterschiedliche, aber immer feste Eigenschaften:
User1: ALA2, ALA2, STVA4, usw...
User2: ALA6, MA4, RAT, usw...
User3: STVA6, SRAT, ZA5, usw...
Dadurch dass ich nun direkt im Template unterscheiden kann, ob ein User z.B. "ALA2" hat, spare ich mir die komplette Gruppenschubserei von Usern.
... ein sich selbst administrierendes Rechtesystem
Lieben dank!
Truelli
Re: Im Template Substring ermitteln
Verfasst: 28.09.2012 17:31
von Nuramon
Freut mich, dass es so klappt (: