Zitat von
bizon
Hier eine mögliche Lösung:
- Inhaltselemte, die zeitgesteuert werden sollen, in einer nicht veröffentlichten Seite erstellen.
- Neues Template erstellen - z.B. in: templates/<evtl. unterordner>/timeswitch.html5
mit folgendem Inhalt:
PHP-Code:
<?php
// templates/<evtl. unterordner>/timeswitch.html5
// WICHTIG: In der Funktion mktime() die Stunden, Minuten oder Sekunden ohne führende Nullen eintragen.
// Bei den Inserttags die Leerzeichen zwischen den geschweiften Klammern entfernen und IDs der Inhaltselemente anpassen.
$start = mktime( 9, 30, 0, date("m"), date("d"), date("Y")); // Startzeit täglich - 09:30:00 Uhr
$end = mktime(15, 0, 0, date("m"), date("d"), date("Y")); // Endzeit täglich - 15:00:00 Uhr
$now = time(); // Aktuelle Zeit
if ($now > $start && $now < $end) {
echo $this->replaceInsertTags('{ {insert_content::174} }'); // zwischen 09:30 und 15:00 Uhr
} else {
echo $this->replaceInsertTags('{ {insert_content::175} }'); // übrige Zeit
}
?>
- Der Aufruf des Templates erfolgt mit dem file-Inserttag
...im Artikel, in dem die zeitgesteuerten Inhalte angezeigt werden sollen - z.B: mit einem HTML-Element.
PHP-Code:
// Leerzeichen zwischen den geschweiften Klammern entfernen
{ {file::<evtl. unterordner>/timeswitch.html5} }
Perfekt, habe ebenfalls ein template erstellt und die gewünschte Inhaltselemente über Insert_content reingeholt. Zwar ist mein php-code etwas anders aber eventuell stelle ich das auf deine Version um.
Danke für deine Hilfe
Das war mein Code:
HTML-Code:
<?php
//für Samstag
if (date('w') == 6) {
echo $this->replaceInsertTags('{{insert_content::IDxxx1}}');
}
//In der Zeit von 6 bis 15:30 Uhr
if(date('Gi') >= 600 && date('Gi') < 1500) {
echo $this->replaceInsertTags('{{insert_content::IDxxx2}}');
}
if(date('Gi') >= 1500 && date('Gi') <= 2359) {
echo $this->replaceInsertTags('{{insert_content::IDxxx3}}');
}
?>
Lesezeichen