WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
WBCE CMS 1.6.9 verfügbar / available - wichtiges Sicherheitsudate / important security update
Hallo Miteinander,
Ich habe für Freunde bereits eine Website mit dem CMS WBCE gebaut.
Nun hatte mich ein Kollege gefragt ob man den "Text content" auch ändern könnte. Stand jetzt löse ich es so: eine Seite mit einem WYSIWYG Block, wo der Benutzer eben nur einen Text bearbeiten kann und ich die anderen im Html Code bearbeiten darf.
Erstelle ich nun einen 2. Block funktioniert "Page_Content(1)" nicht mehr so wie es soll (Ist ja auch klar mehrere Blöcke). Ich hatte anfangs versucht die Block_Abschnitte in WBCE zu bestimmen und diese dann mittels ID abzufragen <?= Page_Content('ID') ?> dies hatte leider keinen Erfolg.
Wie bekomme ich es das ich quasi mehrere Blöcke auf einer Seite erstellen kann und dann nur den spezifischen block anhand einer ID auszugeben.
So stelle ich es mir grob vor
<html-code/>
<?= Page_Content('ID_1')>
<!-- Der erste Abschnitt wird angezeigt -->
<html-code>
..
<?= Page_Content('ID_2') ?>
<!-- Der zweite Abschnitt wird angezeigt-->
usw..
Ich denke das wird ein leichtes Problem sein, das man lösen kann
. Leider hatten meine Recherchen nicht zum gewünschten Ergebnis geführt.
Kann mir einer helfen ?
Danke im Voraus.
LG 
Offline
Vom Prinzip her schon richtig...
<?php echo page_content(2); ?>usw...
Achtung: Blöcke sind nicht das gleiche wie Abschnitte.
In einem Block können mehrere Abschnitte sein.
Siehe hier:
https://help.wbce.org/pages/de/konzepte … hnitte.php
Offline
jiveee95, klawin
Oki danke das bringt mich schonmal ein wenig Weiter.
Sorry wahrscheinlich stelle ich mich gerade auch dumm an aber...
Leider Funktioniert bei mir gerade nur page_content(1); und da wird mir dann alles angezeigt
Ich gehe auf die Seite -> rechts oben Abschnitte Abschnitte verwalten und erstelle dort einen 2. Abschnitt
Ich habe dann nun 2 Abschnitte in einem Block.
Block: Hauptblock Modul: WYSIWYG ID: 26 Name: TOPIC_BLOCK1
und
Block: Hauptblock Modul: WYSIWYG ID: 30 Name: TP
Page_content(1) gibt mir beides aus.
Die Referenz auf die IDs funktionieren leider nicht also
<?php echo Page_content(26);..?>
<?php echo Page_content(30);..?>
Wo liegt hier der Fehler du hilfst mir gerade sehr Danke.
Ist wahrscheinlich ein typischer Anfängerfehler
Meine index.php sieht nur so aus
<html>
/* hier funktioniert nur die 1 in der Funktion. Zum Testen nur der 2. Abschnitt */
<p><?php echo page_content(30); ?></p>
</html>Beitrag geändert von jiveee95 (12.02.2021 18:03:21)
Offline
Die Funktion page_content lädt den jeweils angegebenen Block.
Die Blöcke werden in der info.php des Templates definiert und in der index.php dann dort aufgerufen, wo der jeweilige Inhalt erscheinen soll.
Das heißt, wenn Du ein Template hast, das vom Prinzip her so aussieht:
<html>
<head>...</head>
<body>
<div class="inhalt1">
...Slider, News, whatever...
</div>
<div class="inhalt2">
...Galerie, Formular, whatever...
</div>
usw.
</body>
</html>dann musst Du für jeden Inhaltsbereich in der info.php einen Block definieren und diesen dann mit page_content an der gewünschten Stelle aufrufen. Also:
info.php
$block[1]="Hauptinhalt";
$block[2]="Weiterer Inhalt";
usw.
Woraus sich dann ergibt:
<html>
<head>...</head>
<body>
<div class="inhalt1">
<?php echo page_content(1); ?>
</div>
<div class="inhalt2">
<?php echo page_content(2); ?>
</div>
usw.
</body>
</html>Wie gesagt, in einem Block können mehrere Abschnitte sein.
Wenn also im Block 1 zwei Abschnitte sind, würden beide - um beim obigen Beispiel zu bleiben - in <div class="inhalt1">...</div> erscheinen.
Willst Du, dass ein Abschnitt in <div class="inhalt1">...</div> und ein anderer <div class="inhalt2">...</div> erscheint, so musst Du die Abschnitte den jeweiligen Blöcken zuweisen (die Du zuvor definiert hast) - das geht über "Abschnitte verwalten".
Genau definierte Abschnitte anhand ihrer ID im Template aufzurufen geht auch, das führt dann aber dazu, dass erstens der betr. Abschnitt auf allen Seiten des Auftritts erscheint - das kann gewünscht sein, z.B. für eine immer wieder kehrende Fußzeile o.ä. - und zweitens, dass, falls dieser Abschnitt aus irgendwelchen Gründen gelöscht wird, an der betr. Stelle auf der Seite dann logischerweise nichts mehr erscheint.
D.h. Wenn Du folgendes baust:
<html>
<head>...</head>
<body>
<div class="inhalt1">
[[sectionpicker?sid=23]]
</div>
<div class="inhalt2">
[[sectionpicker?sid=42]]
</div>
usw.
</body>
</html>hättest Du immer und überall auf allen Seiten nur die Inhalte des Abschnitts mit der ID 23 in <div class="inhalt1"> und die Inhalte des Abschnitts mit der ID 42 im <div class="inhalt2">.
Das ganze lässt sich beliebig verkomplizieren... es ist natürlich denkbar, sowohl mit page_content(1) usw. die Blöcke als auch mit [[sectionpicker?sid=23]] usw. bestimmte Abschnitte auszugeben oder anhand der Page-ID (auch die gibt es ja auch noch) zu steuern, welche definierten Abschnitte wo auf welcher Seite erscheinen sollen.
Ich sag mal so, WBCE ist nicht das optimale CMS für Onepager. Ist machbar, aber vergleichsweise umständlich.
Offline
jiveee95
Danke für deine Hilfe.
Offline