WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 26.11.2025 12:58:24

kleo
Member

sectionpicker zeitgesteuert

Moin!

Ich glaube, ich habe irgendwo im Forum etwas über zeitgesteurte SectionPicker Droplet gelesen, kann es aber nicht wieder finden.

Ich möchte auf einer Seite mitten in einem Text eine Zusatzinformation platzieren, die aber nur in einem bestimmten Zeitrahmen gezeigt wird.

Ich habe mir gedacht, dass ich da im Text SectionPicker Droplet platziere und die darauf verweisende Section mittels Start- und Enddatum anzeigen kann.

Gibt es so was oder irre ich mich?

Offline

#2 26.11.2025 13:11:04

florian
Administrator

Re: sectionpicker zeitgesteuert


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#3 26.11.2025 13:15:43

florian
Administrator

Re: sectionpicker zeitgesteuert

als Droplet gibt's das wohl nicht


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#4 26.11.2025 13:25:26

kleo
Member

Re: sectionpicker zeitgesteuert

Danke Florian!

"Timebased" - das war das Schlusselwort.
Es ist leider ein Modul und kein Droplet, was mitten im Text platziert werden kann..
Hm..

Kann man vielleicht SectionPicker Droplet so modifizieren, dass Start- und Enddatum der jeweiligen Section berücksichtigt werden?
(Bei jeder Section sind die Start- und Enddatum schon sowieso vorhanden)

Offline

#5 26.11.2025 13:35:43

florian
Administrator

Re: sectionpicker zeitgesteuert

Du kannst das doch so machen:

WYSIWYG-Abschnitt (wie bisher - bis zum zeitgesteuerten Inhalt)
TB Section Picker
WYSIWYG-Abschnitt (neu - Rest vom bisherigen)

Last edited by florian (26.11.2025 13:35:54)


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#6 26.11.2025 13:41:38

kleo
Member

Re: sectionpicker zeitgesteuert

Das habe ich mir schon gedacht.
Wollte aber nicht so gerne so machen, weil die Seite wird normallerweise von einem Vereinsmitglid verwaltet, der da "schnell Überblick verliert".
;-)

Ich überlege es mir das Modul globalblocks von Ruud dazu zu verwenden, das Start- und Enddatums von den Sectionen berücksichtigt. Der Aufruf muss man aber im Text an eine bestimmter Stelle platzieren...

Last edited by kleo (26.11.2025 13:42:33)

Offline

#7 26.11.2025 14:41:43

Slugger
Member

Re: sectionpicker zeitgesteuert

Ich habe mehrere Abschnitte mit TB Picker auf eine versteckte Seite angelegt und lasse sie mit dem Droplet "SectionsPicker" im Abschnitt WYSYWYG anzeigen.

Vielleicht hilft dir das weiter. wink

Last edited by Slugger (26.11.2025 14:50:12)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.6.5 • BE: 2.1.0 • PHP: 8.3.29 * 1. Projekt: FE: Simple responsive * 2. Projekt: FE: hortal * 3. Projekt: FE: WBCEZon * 4. Projekt: FE: WBCETik * Alle • BE: Argos
Status Projekt 1-4:  OK

Offline

#8 26.11.2025 17:12:18

kleo
Member

Re: sectionpicker zeitgesteuert

Hallo Slugger,

jetzt  habe ich es auch so umgesetzt.
Danke für den Tipp!

Offline

#9 20.12.2025 22:29:56

kleo
Member

Re: sectionpicker zeitgesteuert

Ein Droplet dafür namens TimeSectionPicker habe trotzgem gebastelt.
;-)

hier ist der Code:

// Zeitzone
date_default_timezone_set('Europe/Berlin');
$sid     = isset($sid) ? intval($sid) : 0;
$anchor  = isset($anchor) ? (string)$anchor : '';
$startRaw = isset($start) ? trim($start) : '';
$endRaw   = isset($end) ? trim($end) : '';
$altSid   = isset($altsid) ? intval($altsid) : 0;
$startTs = null;
$endTs   = null;
if ($startRaw !== '') {
    $dt = DateTime::createFromFormat('!H:i, d.m.Y', $startRaw);
    if ($dt instanceof DateTime) {
        $dt->setTime(
            (int)$dt->format('H'),
            (int)$dt->format('i'),
            0
        );
        $startTs = $dt->getTimestamp();
    }
}
if ($endRaw !== '') {
    $dt = DateTime::createFromFormat('!H:i, d.m.Y', $endRaw);
    if ($dt instanceof DateTime) {
        $dt->setTime(
            (int)$dt->format('H'),
            (int)$dt->format('i'),
            0
        );
        $endTs = $dt->getTimestamp();
    }
}
$now = time();
$inTimeWindow = true;
if ($startTs !== null && $now < $startTs) {
    $inTimeWindow = false;
}
if ($endTs !== null && $now > $endTs) {
    $inTimeWindow = false;
}
if ($inTimeWindow) {
    return get_section_content($sid, false, $anchor);
}
if ($altSid > 0) {
    return get_section_content($altSid, false, '');
}
return '';

Der Aufruf ist:

[[TimeSectionPicker?sid=123&start=01:00, 01.01.2025&end=01:00, 01.01.2026&altsid=456]]

Wobei:
sid= die Section, die zeitgesteuert angezeigt werden soll
start= die Startzeit und Datum
end=  die Endzeit und Datum
altsid= die Section, die alternativ angezeigt werden soll, wenn das Zeitfenster für die Hauptsection inaktiv ist.

Man kann nur start oder nur end eingeben, altsid ist auch optional.
Werden keine start, end und altsid eingegeben, verhält sich Droplet wie der klassische Sectionpicker.

Offline

Board footer

up