Im Template Substring ermitteln

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Truelli
Mitglied
Beiträge: 50
Registriert: 13.06.2003 11:59

Im Template Substring ermitteln

Beitrag 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
Benutzeravatar
Nuramon
Mitglied
Beiträge: 250
Registriert: 05.02.2012 21:45
Wohnort: Solingen
Kontaktdaten:

Re: Im Template Substring ermitteln

Beitrag 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...
Das Pinke Forum
Das Pinke Forum - werde Teil einer freundlichen Community, die dir bei Fragen rund um Liebe, Sex, Ernährung, Schule oder bei Problemen aller Art zur Seite steht! Verfasse Beiträge, erstelle Threads und lern nette Leute kennen; kostenlos und toll betreut.
Truelli
Mitglied
Beiträge: 50
Registriert: 13.06.2003 11:59

Re: Im Template Substring ermitteln

Beitrag 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
Benutzeravatar
Nuramon
Mitglied
Beiträge: 250
Registriert: 05.02.2012 21:45
Wohnort: Solingen
Kontaktdaten:

Re: Im Template Substring ermitteln

Beitrag 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.
Das Pinke Forum
Das Pinke Forum - werde Teil einer freundlichen Community, die dir bei Fragen rund um Liebe, Sex, Ernährung, Schule oder bei Problemen aller Art zur Seite steht! Verfasse Beiträge, erstelle Threads und lern nette Leute kennen; kostenlos und toll betreut.
Truelli
Mitglied
Beiträge: 50
Registriert: 13.06.2003 11:59

Re: Im Template Substring ermitteln

Beitrag 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:

Code: Alles auswählen

<!-- IF ALA3 -->
// some code
<!-- ENDIF -->
oder

Code: Alles auswählen

<!-- IF MA4 -->
// some code
<!-- ENDIF -->
dann wäre mein Problem gelöst und ich muss mich nichtmal mehr um die Teilstrings kümmern...

Truelli
Truelli
Mitglied
Beiträge: 50
Registriert: 13.06.2003 11:59

Re: Im Template Substring ermitteln

Beitrag 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
Benutzeravatar
Nuramon
Mitglied
Beiträge: 250
Registriert: 05.02.2012 21:45
Wohnort: Solingen
Kontaktdaten:

Re: Im Template Substring ermitteln

Beitrag von Nuramon »

Freut mich, dass es so klappt (:
Das Pinke Forum
Das Pinke Forum - werde Teil einer freundlichen Community, die dir bei Fragen rund um Liebe, Sex, Ernährung, Schule oder bei Problemen aller Art zur Seite steht! Verfasse Beiträge, erstelle Threads und lern nette Leute kennen; kostenlos und toll betreut.
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“