WebsiteBaker Support (2.13.x) > General Help & Support
Content-Blöcke, eine kleine Herausforderung
kuerbis42:
Moin Jacobi,
vielen Dank für Deine wirklich ausführlichen Ausführungen.
Und ja, ich habe das Konzept wohl verstanden - das mit dem Section-Namen hatte ich noch nie probiert, ist aber ein guter Tipp.
Ich versuche Dir meine Idee noch einmal ganz kurz zum umreißen:
Ich wollte ein Grid-Layout nutzen - und das gab es vor 25 Jahren noch nicht :)
Das Grid nimmt mir ja viele Sachen ab, und ich möchte "unendlich" viele 2 spaltige Blöcke und "linke / rechte" Blöcke kombinieren.
--- Quote --- Block Main. Diese gleichen Blöcke werden zusammengefaßt zu einem, unabhängig von der Position in der Sectionübersicht.
--- End quote ---
genau, das ist ja mein Problem.
--- Quote ---[0] => Array ( [1] =>Block 1, 2 Spalten )
[1] => Array ( [2] =>Block 2 (Spalte links) )
[2] => Array ( [3] =>Block 2 (Spalte rechts) )
[3] => Array ( [1] =>Block 4 (2 Spalten) )
[4] => Array ( [2] =>noch einmal linke spalte ) )
--- End quote ---
Das war von meiner Seite aus missverständlich dargestellt, mit "Block 2" meine ich die Position im Layout. Ich glaube, das Bild oben zeigt es besser.
Das hier:
--- Quote --- in der index.php deines Frontend-Templates wird die Funktion page_content() aufgerufen. Der Aufruf ist mit oder ohne eine Zahl möglich. Wird keine Blocknummer übermittelt, ist es immer Block 1. Das regelt diese Zeile, $Block ist der numerische Wert im Funktionsaufruf, also z.b. page_content(3) )
Code:
--- Code: ---$block = (($block < 1) ? 1 : $block);
--- End code ---
Du mußt also sicherstellen, das du nicht page_content() und page_content(1) gemeinsam im Template verwendest, sonst können Abschnitte doppelt dargestellt werden.
--- End quote ---
stimmt so nicht, weil
--- Code: ---function page_content(int $block = 1) {
--- End code ---
einen Default für $block definiert, und $block bei page_content() den Wert 1 annimmt:
--- Code: ---ausgabe page_content()
[b]Block 1, 2 Spalten
Block 4 (2 Spalten) [/b]
-------ist identisch mit -------------------
ausgabe page_content(1)
[b]Block 1, 2 Spalten
Block 4 (2 Spalten)
[/b]
--------------------------
ausgabe page_content(2)
[b]Block 2 (Spalte links)
noch einmal linke spalte [/b]
--- End code ---
wann PAGE_CONTENT definiert wird, habe ich noch nicht erschlossen.... aber das if ist "eindeutig":
Wenn NICHT PAGE_CONTENT oder block ist NICHT 1, d.h. sobald ein page_content(x) mit x !==1 kommt, dann wird die SQL-Abfrage gestartet, NUR wenn PAGE_CONTENT definiert ist und block=1,
dann kommt der else-Zweig
--- Code: --- ... } else {
// Searchresults! But also some special pages,
// e.g. guestbook (add entry), news (add comment) uses this
\ob_start(); // fetch original content
require(PAGE_CONTENT);
$sContent = ob_get_clean();
// Apply Filters
if (\is_callable('OutputFilterApi')) {
$sContent = OutputFilterApi('OpF?arg=special', $sContent);
}
echo $sContent;
}
--- End code ---
Mein Ziel ist es - und ich denke, das ist auch das Ziel von WB - es dem Backendbenutzer (nicht Designer) es möglichst einfach zu machen, wenn ich meinen Damen und Herren erklären muss, dass Sie bei den Blöcken "mitzählen" müssen, wo was dann hinkommt, dann wird das nichts.
Wenn ich denen aber sage:
"Steht das 2-Spaltig, dann ist es zentriert", steht Block links, bzw. Rechts, dann kommt es da hin. Und das kannst Du so oft wiederholen wie Du willst. Und es kommt so, wie Du die Reihenfolge "Abschnitte verwalten" erstellst.".
Dann können die die Seite mit Inhalt füllen ohne "nachzudenken".
Ich glaube, meine page_content2() liefert mir das so, wie ich es brauche.
In der index.php kann ich dann mit einer Schleife drüber gehen, die Grid-Plätze füllen und den Rest macht der Browser.
Ich melde mich noch mal persönlich mit dem Ergebnis.
jacobi22:
--- Quote from: kuerbis42 on February 28, 2026, 02:41:52 PM ---Ich glaube, meine page_content2() liefert mir das so, wie ich es brauche.
--- End quote ---
na dann, Problem gelöst
Navigation
[0] Message Index
[*] Previous page
Go to full version