Beliebige Elemente dynamisch mit PHP einbinden

Nutzbar ab: Version

Ein Weblic® liefert hierzu die erforderliche Basis.

Über das BASE Mobile First Weblic® "Element mit dynamischen Platzhaltern einbinden" sind Sie in der Lage, beliebige Elemente mit Hilfe von PHP direkt in der Seite zu dynamisieren.

Beispiel 1: Bild per Zufall setzen

Soll z.B. ein Bildelement mit Zufallsbilder angezeigt werden, kann statt dem Bildpfad der Platzhalter wElementdata:src eingetragen werden, welcher dann im vorangestellten PHP-Skriptbereich festgelegt wird.

PHP-Quelltext, um den Bildpfad für das nachfolgende Beispiel dynamisch zu setzen.

$imagesDir = wRepository::grepDocumentsDir('/devAssets/img/devblog/lurchi', '(jpg|png)');
$elementdata['src']   = $imagesDir[rand(1, count($imagesDir) - 1)];
$elementdata['title'] = 'Lurchi in einer Zufallsfarbe';

Wenn Sie die Seite aktualisieren, ändert sich das Bild zufällig.

Lurchi in einer Zufallsfarbe
Lurchi in einer Zufallsfarbe

Beispiel 2: Abhängig von der Tageszeit begrüßen

Text und Hintergrundbild werden abhängig von der Tageszeit ausgegeben

if(date('H') < 12){
  $elementdata['backgroundImage']   = '/devAssets/img/devblog/daytime/morning.jpg';
  $elementdata['text'] = 'Guten Morgen';
}
else if(date('H') < 18){
  $elementdata['backgroundImage']   = '/devAssets/img/devblog/daytime/day.jpg';
  $elementdata['text'] = 'Guten Tag';
}
else if(date('H') < 22){
  $elementdata['backgroundImage']   = '/devAssets/img/devblog/daytime/evening.jpg';
  $elementdata['text'] = 'Guten Abend';
}
else{
  $elementdata['backgroundImage']   = '/devAssets/img/devblog/daytime/night.jpg';
  $elementdata['text'] = 'Gute Nacht';
}

Guten Morgen

Beachten Sie, dass dynamisch eingebundene Weblics ggf. aktualisiert werden müssen, damit sich diese dynamisch einbinden lassen.

FAQs
Wie kann ich mit PHP beliebige Elemente dynamisch in eine Weblic-Seite einbinden?
Über die Funktion „Element mit dynamischen Platzhaltern einbinden“ können beliebige Elemente mithilfe von PHP direkt in der Seite dynamisiert werden.
Wie setze ich ein Bild per Zufall in einem dynamisch eingebundenen Element?
Statt eines festen Bildpfads wird der Platzhalter „wElementdata:src“ verwendet. Im PHP-Skriptbereich wird dann ein zufälliger Dateipfad aus dem entsprechenden Bilderordner in <code class="codeInline">$elementdata['src']</code> gesetzt. Nach dem Aktualisieren der Seite wird das Bild zufällig geändert.
Welches PHP-Schema wird im Beispiel „Bild per Zufall setzen“ verwendet?
Im Beispiel werden die Bilddateien über <code class="codeInline">wRepository::grepDocumentsDir(...)</code> ermittelt und anschließend ein zufälliges Element ausgewählt: - <code class="codeInline">$imagesDir = wRepository::grepDocumentsDir('/devAssets/img/devblog/lurchi', '(jpg|png)');</code> - <code class="codeInline">$elementdata['src'] = $imagesDir[rand(1, count($imagesDir) - 1)];</code> - Optional: <code class="codeInline">$elementdata['title'] = 'Lurchi in einer Zufallsfarbe';</code>
Wie kann ich Text und Hintergrundbild abhängig von der Tageszeit ausgeben?
Im PHP-Skript prüfst du die aktuelle Stunde mit <code class="codeInline">date('H')</code> und setzt je nach Bereich die Werte für <code class="codeInline">$elementdata['backgroundImage']</code> und <code class="codeInline">$elementdata['text']</code> (z.B. Morgen, Tag, Abend, Nacht).
Welche Logik nutzt das Beispiel „Abhängig von der Tageszeit begrüßen“ genau?
Das Beispiel unterscheidet anhand der Stunde: - <code class="codeInline">date('H') < 12</code>: „Guten Morgen“ (morning.jpg) - <code class="codeInline">date('H') < 18</code>: „Guten Tag“ (day.jpg) - <code class="codeInline">date('H') < 22</code>: „Guten Abend“ (evening.jpg) - sonst: „Gute Nacht“ (night.jpg)
Müssen dynamisch eingebundene Weblics nach Änderungen aktualisiert werden?
Ja. Dynamisch eingebundene Weblics müssen gegebenenfalls aktualisiert werden, damit sich diese dynamisch einbinden lassen bzw. Änderungen wirksam werden.
Woher bekomme ich die Basis, um Inhalte dynamisch einzubinden?
Laut Seite liefert ein „Weblic®“ die erforderliche Basis. Zusätzlich wird über „Element mit dynamischen Platzhaltern einbinden“ die Dynamisierung per PHP ermöglicht.