Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Template-Syntax

Einklappen
X
Einklappen
Momentan aktive Benutzer in diesem Thema: 1 (0 Benutzer und 1 Gäste)

  • PHP Template-Syntax

    In den Templates können gewisse PHP-Funktionen abgerufen werden. Hierzu könnt Ihr die Methode vb:php anwenden.
    Im folgenden ein paar Beispiele:

    Erzeugt ein Array:
    Code:
    {vb:set Array, {vb:php array}}
    Hier kommt raus: alles klein geschrieben
    Code:
    {vb:php strtolower, 'ALLES KLEIN GESCHRIEBEN'}
    Unter den Funktionen noch ein vollständiges Beispiel mit erläterungen!


    Erlaubte Funktionen:
    • implode() - Verbindet Array-Elemente zu einem String
    • explode() - Teilt einen String anhand einer Zeichenkette
    • array_merge() - Führt zwei oder mehr Arrays zusammen
    • array_intersect() - Ermittelt die Schnittmenge von Arrays
    • array_intersect_key() - Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht
    • array_keys() - Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays
    • array_push() - Fügt ein oder mehr Elemente an das Ende eines Arrays an
    • array_pop() - Liefert und entfernt das letzte Element eines Arrays
    • array_shift() - Liefert und entfernt das erste Element eines Arrays
    • array_unshift() - Fügt ein oder mehr Elemente am Anfang eines Arrays ein
    • array_unique() - Entfernt doppelte Werte aus einem Array
    • array() - Erstellt ein Array
    • current() - Liefert das aktuelle Element eines Arrays
    • str_repeat() - Wiederholt einen String
    • str_pad() - Erweitert einen String unter Verwendung eines anderen Strings auf eine bestimmte Länge
    • strip_tags() - Entfernt HTML- und PHP-Tags aus einem String
    • strtolower() - Setzt einen String in Kleinbuchstaben um
    • strtoupper() - Wandelt alle Zeichen eines Strings in Großbuchstaben um
    • trim() - Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
    • substr() - Gibt einen Teil eines Strings zurück
    • vbstrtolower() - Konvertiert A-Z zu a-z und ändert keine anderen Zeichen.
    Nicht in der Templatesyntax angegeben, aber trotzdem verfügbar sind die folgenden PHP-Funktionen:
    • range() - Erstellt ein Array mit einem Bereich von Elementen
    • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück

    Quelle: PHP.net

    Nun kommen wir mal zu einem kleinen Beispiel, welches Ihr einfach in einem Template anwenden könnt.

    HTML-Code:
    <vb:comment>Wir erstellen uns ein Array</vb:comment>
    {vb:set Array1, {vb:php array}}
    {vb:set Array1.1, 'Das ist'}
    {vb:set Array1.2, 'ein'}
    <vb:comment>Nun ein noch ein Array</vb:comment>
    {vb:set Array2, {vb:php array}}
    {vb:set Array2.1, 'zusammengesetzter'}
    {vb:set Array2.2, 'Satz'}
    <vb:comment>Kommen wir zur Ausgabe der Arrays</vb:comment>
    <vb:comment>
    Wenn Ihr euch nicht sicher seid was hier genau entsteht, dann kommentiert die beiden vb:debugvardump aus!
    {vb:debugvardump $Array1}
    {vb:debugvardump $Array2}
    </vb:comment>
    
    <vb:comment>Die einzelnen Strings anzeigen</vb:comment>
    Dies sind einzelne Strings:<br />
    {vb:raw Array1.1}<br />
    {vb:raw Array1.2}<br />
    {vb:raw Array2.1}<br />
    {vb:raw Array2.2}<br />
    <br />
    Da wir diese nun in einer Variable benötigen versuchen wir folgendes:<br />
    <br />
    <vb:comment>Die einzelnen Arrays miteinander verketten und in einer Variable ausgeben:</vb:comment>
    Dies ist die Ausgabe in einem Array:<br />
    {vb:set Array0, {vb:php array_merge, {vb:raw Array1}, {vb:raw Array2}}}
    {vb:debugvardump Array0}<br />
    <br />
    {vb:strcat ArrayText, {vb:raw Array1.1}}
    <vb:comment>Wir benötigen ein Leerzeichen!</vb:comment>
    {vb:strcat ArrayText, ' '}
    {vb:strcat ArrayText, {vb:raw Array1.2}}
    {vb:strcat ArrayText, ' '}
    {vb:strcat ArrayText, {vb:raw Array2.1}}
    {vb:strcat ArrayText, ' '}
    {vb:strcat ArrayText, {vb:raw Array2.2}}
    Dies ist die Ausgabe in einem String:<br />
    {vb:raw ArrayText}
      Das Verfassen von Kommentare wurde deaktiviert.

    Tutorial-Tags

    Einklappen

    Neuste Tutorials

    Einklappen

    • PHP Template-Syntax
      delicjous
      In den Templates können gewisse PHP-Funktionen abgerufen werden. Hierzu könnt Ihr die Methode vb:php anwenden.
      Im folgenden ein paar Beispiele:

      Erzeugt ein Array:
      :
      {vb:set Array, {vb:php array}}
      Hier kommt raus: alles klein geschrieben
      :
      {vb:php strtolower, 'ALLES KLEIN GESCHRIEBEN'}
      Unter den Funktionen noch ein vollständiges Beispiel mit erläterungen!


      Erlaubte Funktionen:
      • implode() - Verbindet Array-Elemente zu einem
      ...
      25.12.2017, 15:41
    • Warum ein Add-on besser ist als eine manuelle Anlage im AdminCP
      delicjous
      Möchtet Ihr über einen Hook verschiedene Funktionen, oder einfach nur ein paar Zeilen HTML-einfügen, ist in vielen Anleitung die Rede von "Template erstellen und über einen HOOK an der entsprechenden Stelle einblenden."

      Warum dies zwar sehr gut funktioniert, aber meiner Meinung nach nicht die beste Art der Erweiterung ist, hier kurz erläutert.
      Als Beispiel nehme ich die Erweiterung der Breadcrumbs, welche ich bereits als kleines Modul (.XML) erstellt habe.
      ...
      25.10.2017, 15:42
    Lädt...
    X