Über Abschnitte und Blöcke

Bekannt: Unter Abschnitte verwalten kann man die Abschnitte auch Blöcken zuordnen. Die Blöcke sind wiederum im Template festgelegt.

Jedes Template kann individuell Blöcke haben: Die Namen dieser stehen in der info.php, aber sie müssen natürlich auch im Template festgelegt sein.

Lange Zeit waren mehrere Blöcke „verpönt“, weil zu kompliziert. Oft gab es auch ziemlich Wildwuchs, vor allen dadurch, dass Designs aus diversen Quellen portiert wurden, ohne die Struktur von WB(CE) zu berücksichtigen.

Standard: 1 + optionale 3 Blöcke

Mittlerweise gibt es so etwas wie einen Standard, an den sich die meisten modernen Templates halten.

Dabei gilt vor allem: Alles außer dem 1. Block ist optional, dh kann genutzt werden, muss aber nicht. Ist kein 2. Block (Sidebar) in Verwendung, ist der Hauptinhalt eben etwas breiter.

Block 3 (Wide Top) und Block 4 (Wide Bottom) können für besondere Module verwendet werden, etwa Grid-Boxen oder Teaser.

Manchmal gibt es einen Block 10, der immer den Header komplett ersetzt.

Diese Blöcke ab 3 werden kaum mit dem WYSIWYG-Editor bedient, sondern eben für spezielle Fälle, etwa um die Startseite individueller zu gestalten.

Zum Schluss sei noch Block 99 (None) erwähnt, der nicht direkt ausgegeben wird.

Klingt kompliziert? Nein, ist es nicht

Legt man eine Seite an, wird als Standard zunächst Block 1 = Hauptinhalt verwendet. Einen weiteren Abschnitt im Block „Sidebar“ anzulegen, ist einfach – und damit haben wir 99,9% aller Fälle abgedeckt, die nicht ohnehin schon der Webdesigner bedient hat.

Tipps

Häufig ist es so, dass es eine „Standard-Sidebar“ geben soll, wenn nichts anderes angegeben ist. Wenn also kein Abschnitt im Block Sidebar angegeben ist und auch Topics nichts ausspuckt.

Das übliche Vorgehen: Man legt eine neue Seite „Besondere Inhalte“ mit Sichtbarkeit „Keine“ oder „versteckt“ an. In den ersten Abschnitt schreibt man gleich einmal eine dicke Warnung, dass diese Seite nicht gelöscht werden darf und wofür die folgenden Abschnitte gut sind.

Dann legt man einen zweiten (bzw weiteren) Abschnitt an, der den Inhalt der Sidebar bekommt. Das muss nicht zwangsläufig ein WYSIWYG-Abschnitt sein, aber es sollte keiner sein, der von einem „großen Modul“ bedient wird.

Von diesem Abschnitt notiert man sich die section_id (zb 45)

Nun ergänzt man in der index.php des Templates die Zeilen:

if(defined('TOPIC_BLOCK2') AND TOPIC_BLOCK2 != '') { 
	$page_content2 = TOPIC_BLOCK2; 
} else {
	ob_start();
	page_content(2);
	$page_content2 = ob_get_contents();
	ob_end_clean();
}

Mit dieser winzigen Ergänzung:

if ($page_content2 == '') {$page_content2 = '[[ SectionPicker?sid=45]]';}

Diese sagt: Wenn Block 2 jetzt immer noch leer ist, hole bei der Ausgabe den Abschnitt 45 hier her.

Hinweis: Das Droplet SectionPicker muss verfügbar sein. Leerzeichen im Droplet entfernen!

Prinzipiell könnte man sich die spezielle Seite mit dem Abschnitt sparen und stattdessen den Block überall angeben – und dann eben von dort holen. Der Nachteil: Das vergisst man dann gerne mal und sucht dann wie ein Trottel, wo der verflixte Abschnitt 45 ist.

Der Section-Picker ist praktisch, aber man muss Ordnung halten.

Block „Wide Top“ und Block „Wide Bottom“

Diese 2 Blöcke haben keine Abstände zum Rand. Das ist wichtig, damit man hier bündig dargestellte Bilder oder Module einhängen kann. Bilder müssen dabei das Absatzformat Normal (div) haben, sonst haben sie einen kleinen Abstand nach oben oder unten.

Wenn man einfach Text reinschreibt, kann der fehlende Abstand zum Rand unschön wirken. Das lässt sich aber leicht korrigieren.

Block „None“

Es gibt 2 Möglichkeiten, einen Abschnitt schnell mal zu verstecken: Man kann ihm ein Ablaufdatum in der Vergangenheit geben oder man kann ihn dem Block „None“ zuweisen.

Der feinen Unterschied: Ist er per Ablaufdatum versteckt und gibt es keine weiteren aktiven Abschnitte auf der Seite, taucht die ganze Seite nicht mehr im Menü auf.

Ist er hingegen dem Block „None“ zugewiesen -  und es gibt keine weiteren Blöcke – bleibt die Seite im Menü, ist beim Aufruf aber leer.

Ähnliches gilt auch für die Suchfunktion: Ein „abgelaufener“ Block taucht in der Suche nicht auf, ein Block „none“ hingegen schon, wenn auch nur als Auszug (Excerpt)

Ein Nachteil des Blocks „None“ ist, dass die ursprüngliche Block-Zuordnung verloren geht.

Ein Vorteil ist hingegen, dass man manchmal unbedacht das Ablaufdatum löscht, und das kann dann peinlich werden.

In der Praxis sind das aber Fälle, die nur einmal in 100 Jahren einen Unterschied machen.

Immerhin: Will man einen Abschnitt aber „ganz wirklich“ verstecken, kann man beide Methoden verwenden.

Ein Hinweis in diesem Zusammenhang: Egal wie ein Abschnitt versteckt ist: Ein Section-Picker holt ihn trotzdem.

Block „Header“

Dieser wird nur sehr selten tatsächlich verwendet, weil die Nutzung dann ohnehin erweiterte Kenntnisse voraussetzt. 

Zurück