WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 28.03.2021 09:37:48

wasi
Member

Blockrocker: PHP-Code ausführen

Hallo,
könnte man für Blockrocker auch php Code (mittels Code2) ermöglichen?

gruß wasi

Offline

#2 29.03.2021 07:49:09

florian
Administrator

Re: Blockrocker: PHP-Code ausführen

Nein, dafür müsste das Modul komplett umgeschrieben werden.
Du kannst aber den auszuführenden PHP-Code in einen Code2-Abschnitt auslagern und dann mit [[sectionpicker?sid=23]] (23 = Abschnitts-ID des Abschnitts mit dem Code) reinholen oder ein eigenes Droplet für den Code erstellen.

Offline

#3 29.03.2021 09:43:42

wasi
Member

Re: Blockrocker: PHP-Code ausführen

Das mit dem Sectionpicker funktioniert schon mal nicht..irgendwie.

1. habe den php code ausgelagert (neue Abschnitsnummer: 109)
2. habe den dann reingeholt mit [[sectionpicker?sid=109]]
    (d.h. in den WYSIWYG-Inhalt 1 von Blockrocker eingetragen)

Ergebnis: leere Seite

Offline

#4 29.03.2021 09:48:03

florian
Administrator

Re: Blockrocker: PHP-Code ausführen

Steht was im errorlog?
Was soll der Code erzeugen?
Meinst Du mit "Leere Seite" komplett leer oder nur "fehlender Inhalt"?
Wenn letzteres: Abschnitts-ID korrekt? (Nicht mit Seiten-ID verwechseln)
Funktioniert der Code, wenn Du ihn direkt aufrufst?
Ist der Abschnitt auf derselben Seite? (Eventuell ungünstig wegen doppelten Variablendefinitionen/Funktionsaufrufen)

Offline

#5 29.03.2021 19:41:49

wasi
Member

Re: Blockrocker: PHP-Code ausführen

Hallo Florian.
1. Im Errorlog steht nichts
2. Der Code generiert unterschiedlichen Text in Abhängikeit festgelegter Uhrzeit (Öffnungszeiten: geschlossen, geöffnet)
3. komplett leere Seite -
4. .
5. Der Code funktioniert. Direkt über einen Code-Abschnitt, und auch über den Sectionpicker an einer anderen Stelle.
6. Nein.  Der Code ist auf Page-ID 26 Abschnitt-ID 109
Der Blockrocker ist Page-ID 38 Abschnitt-ID 108

Mir ist auch aufgefallen das die Ausrichtung vom WYSIWYG-Inhalt vom Blockrocker nicht exakt zu einem normalen WYSIWYG-Abschnitt passt.
Der  WYSIWYG-Inhalt vom Blockrocker rückt zetrierten Inhalt etwas mehr ein. Als ob ein Leerzeichen davor gesetzt wird.

Offline

#6 29.03.2021 21:40:42

florian
Administrator

Re: Blockrocker: PHP-Code ausführen

Ich habe jetzt mal versucht, das Problem zu reproduzieren. Ich nehme an, es geht um den Code von hier. Wenn ich den so von der genannten Seite (ohne öffnendes <?php und schließendes  ?>) in eine Code2-Section einfüge und diese dann mittels sectionpicker in Blockrocker aufrufe, funktioniert das problemlos.
Möglicherweise liegt es am Sectionpicker-Droplet. Wenn es sich um eine WBCE-Installation handelt, die schon länger existiert, also von <1.4.x immer geupdated wurde, ist das sectionpicker-Droplet noch auf dem alten Stand. Bitte gehe in diesem Falle auf Admintools > Droplets > sectionpicker und ersetze alles, was derzeit darin steht, durch folgenden Code:

$sid = isset($sid) ? intval($sid) : 0;
$anchor = isset($anchor) ? (string) $anchor : '';
return get_section_content($sid, false, $anchor); 

und prüfe dann noch einmal, ob das gewünschte Ergebnis erscheint.

Zur Einrückung: das liegt am CSS-Grid, das verwendet wird, um die Blöcke nebeneinander darzustellen. Das setzt rechts und links etwas Abstand.

Last edited by florian (29.03.2021 21:42:08)

Offline

#7 30.03.2021 05:10:19

wasi
Member

Re: Blockrocker: PHP-Code ausführen

Hallo Florian,

Ja. es geht um diesen Code.
Ich habe die WBCE Version 1.4.3
Im Sectionpicker Droplet steht der gleiche Code, wie Du gepostet hast.

Habe es nochmal neu angelegt.
Nun mit [[SectionPicker?sid=112]]

Funktioniert leider nicht.
Habe einen HTTP ERROR 500 Error Log ist leer sad

Sobald ich [[SectionPicker?sid=112]] aus dem WYSIWYG-Inhalt 1 vom Blockrocker wieder entferne geht die Seite wieder.

Last edited by wasi (30.03.2021 05:10:55)

Offline

#8 30.03.2021 06:56:58

screamindan
Member

Re: Blockrocker: PHP-Code ausführen

Unterschiedliche Schreibweise des Dropletaufrufs (SectionPicker / sectionpicker?

Offline

#9 30.03.2021 07:00:45

dorfli0211
Member

Re: Blockrocker: PHP-Code ausführen

Muss so: [[sectionpicker?sid=xyz]]

Offline

#10 30.03.2021 07:05:55

florian
Administrator

Re: Blockrocker: PHP-Code ausführen

Nein, die Schreibweise hat damit nichts zu tun.

Ich kann's auch mit 1.4.3 nicht reproduzieren.
@wasi: Was passiert, wenn Du aus dem Code die Zeile

date_default_timezone_set('Europe/Berlin');

entfernst?

Hast Du ggfs. Änderungen an dem Zenk-Script vorgenommen?
Wo ist die Seite gehostet?
Welche PHP-Version?

Offline

#11 30.03.2021 16:28:24

berny
Member

Re: Blockrocker: PHP-Code ausführen

Warum über sectionpicker aufrufen und nicht ein eigenes Droplet dafür schreiben?

Offline

#12 30.03.2021 22:59:17

wasi
Member

Re: Blockrocker: PHP-Code ausführen

Hallo Florian,

1. date_default_timezone_set('Europe/Berlin'); entfernt   -> keine Besserung
2. nutze mitlerweile das Original Zenk-Script wegen der Problematik
3. All-inkl.com -> WBCE Installation bereitgestellt von von All-inkl.
4. PHP 7.1.33

Habe jetzt etwas im Error-Log stehen.
[Exception] There was an unknown exception: syntax error, unexpected ';' in line (132) of /temp/modules/code2/section_109.php.inc

Last edited by wasi (30.03.2021 23:59:45)

Offline

#13 31.03.2021 01:16:07

wasi
Member

Re: Blockrocker: PHP-Code ausführen

Also jetzt funktioniert es...nachdem ich das Modul Droplets auf 2.2.9 aktualisiert habe.
Zufall?
Weiß aber nicht mehr was die Version davor war.
@florian evtl. kannst Du das nachstellen?

Offline

#14 31.03.2021 07:06:08

florian
Administrator

Re: Blockrocker: PHP-Code ausführen

Ich hatte es ja mit WBCE 1.4.3 und der Original-Droplets-Version dieser WBCE-Version (allerdings PHP 7.4) getestet. Aber wenn's jetzt funktioniert, ist es ja auch gut.
Der Eintrag im Errorlog: prüfe bitte, ob im Zenk-Script am Ende der angegebenen Zeile (132) das Semikolon fehlt bzw. ob dort etwas anderes inkorrekt ist (fehlendes Hochkomma am Ende eines Strings, fehlende schließende Klammer o.ä.)

Offline

Board footer

Powered by FluxBB

up