WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 21.02.2020 16:02:25

klawin
Member

Ziehharmonika ("Accordion")

In diesem Beitrag https://forum.wbce.org/viewtopic.php?id=3089 von florian wird beschrieben,  wie sich die Skripte für eine Ziehharmonika sehr einfach in das Modul Itemz integrieren lassen.  Natürlich habe ich es sofort ausprobiert :-)

Da ich es auch als alleinstehendes Modul haben wollte,  habe ich mir das Modul 'Ziehharmonika' gebaut und möchte es hier nun zur Verfügung stellen.

Viel Spaß mit dem Modul Ziehharmonika.

Neue Version 1.0.6 angehangen

  • Verschieben der Einträge in der Listenübersicht jetzt mit 'Drag & Drop'. 'Rauf-und-Runter' - Buttons sind entfallen

Viele Grüße
klawin

Last edited by klawin (13.03.2021 17:38:59)


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

#2 21.02.2020 16:54:25

florian
Administrator

Re: Ziehharmonika ("Accordion")

Kurz getestet. Funktioniert schon recht gut, aber bei den ganzen Nur-Text-Eingabefeldern (Titel, Einstellungen > Symbole) müssten dringend die Eingaben noch escaped werden, sonst gibt es Probleme, wenn ein Hochkomma enthalten ist oder es lässt sich da mit <script> Schindluder treiben.

Bei den Einstellungen sollten die Eingabefelder für die offen/geschlossen-Zeichen mit maxlength="1" nur die Eingabe eines einzigen Zeichens zulassen.

Kleiner Tipp noch am Rande: Module brauchen keine für die Standards wie Hinzufügen, bearbeiten usw. nicht unbedingt eigene Icons mitzubringen, es können entweder FontAwesome-Symbole verwendet werden oder die Symbole eingebunden werden, die vom BE-Theme bereitgestellt werden (<img src="<?php echo THEME_URL; ?>/images/up_16.png" border="0" alt="^" /> usw).

Last edited by florian (21.02.2020 16:56:39)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

klawin

#3 21.02.2020 18:55:34

klawin
Member

Re: Ziehharmonika ("Accordion")

Vielen Dank für diese Hinweise.

Ich habe jetzt alles so umgesetzt und das Archiv oben ausgetauscht.

Viele Grüße
klawin


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

#4 22.02.2020 08:34:48

giz
Member

Re: Ziehharmonika ("Accordion")

Hallo,
beim Einfügen von Text, und/oder Bildern im Backend-Editor wird daraus in der Frontendansicht nur Quelltext.


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Offline

#5 22.02.2020 10:06:04

bernd
Developer

Re: Ziehharmonika ("Accordion")

@klawin:
da biste beim "cleanen" bischen über's Ziel hinausgeschossen ;-)
Für $wysiwwyg reicht in der save_line.php ein einfaches

$wysiwyg = $admin->get_post_escaped('wysiwyg');

Um die "evil_pieces" kümmert sich bereits der CKE ...


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#6 22.02.2020 10:17:45

klawin
Member

Re: Ziehharmonika ("Accordion")

giz wrote:

Hallo,
beim Einfügen von Text, und/oder Bildern im Backend-Editor wird daraus in der Frontendansicht nur Quelltext.

Danke für den Hinweis. Ich hab's gerade nachgebessert.

Bitte tausche Deine Datei save_line.php einfach gegen die aus dem neuen Archiv aus. Dann geht es.

Gruß
klawin

Last edited by klawin (22.02.2020 10:21:40)


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

#7 22.02.2020 10:19:14

klawin
Member

Re: Ziehharmonika ("Accordion")

Guten Morgen,

bernd wrote:

@klawin:
da biste beim "cleanen" bischen über's Ziel hinausgeschossen ;-)
Um die "evil_pieces" kümmert sich bereits der CKE ...

ja, zuviel des Guten.

Ist jetzt 'repariert'.

Gruß
Klawin


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

#8 22.02.2020 11:09:42

giz
Member

Re: Ziehharmonika ("Accordion")

klawin wrote:
giz wrote:

Hallo,
beim Einfügen von Text, und/oder Bildern im Backend-Editor wird daraus in der Frontendansicht nur Quelltext.

Danke für den Hinweis. Ich hab's gerade nachgebessert.

Bitte tausche Deine Datei save_line.php einfach gegen die aus dem neuen Archiv aus. Dann geht es.

Gruß
klawin

thumb_up

Noch was:

Die Titelformatierung h3 führt zu einem nicht gewünschten weiteren (natürlich!) nicht nutzbaren Akkordion im wysiwyg-abschnitt, wenn man dort h3 für die Textformatierung nutzt... wink
Bild: das "eigener text mit <h3> formatiert" ist der wysiwyg-Abschnitt des Titel 2-Akkordions.


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Offline

#9 22.02.2020 11:46:21

bernd
Developer

Re: Ziehharmonika ("Accordion")

Jepp, das passiert halt, wenn Scripte auf generische Tags triggern  tongue
Dann sind halt alle "h3" dran, ohne wenn und aber.

Da hilft nur den Ziehharmonika h3's eine explizite Klasse zu geben:
view.php Zeile 30

echo '<h3 class="zh-entry">'.stripslashes($row['title']).'</h3>'.PHP_EOL;

frontend.js Zeile 10

headline: 'h3.zh-entry',

frontend.css Zeile 3

.ziehharmonika h3.zh-entry {

... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#10 22.02.2020 12:05:06

giz
Member

Re: Ziehharmonika ("Accordion")

Danke, läuft! thumb_up


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Offline

#11 22.02.2020 13:38:58

klawin
Member

Re: Ziehharmonika ("Accordion")

bernd wrote:

Jepp, das passiert halt, wenn Scripte auf generische Tags triggern  tongue  ...

diese gemeinen Scripte wink

Vielen Dank für die sehr guten Hinweise und Tipps.

Reparierte Version hängt oben an der Ursprungsnachricht.

Gruß
klawin


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

#12 22.02.2020 14:19:54

bernd
Developer

Re: Ziehharmonika ("Accordion")

Na wäre doch gelacht, wenn wir dein Erstlingswerk nicht erwachsen kriegen  lol

Keinigkeit noch:
in der modify_settings.php fehlt bei der ersten Tabelle der table-Tag aussenrum.

Und kleiner Tipp: ruhig bei den Fixes in der info.php deine Versionsnummer an der letzten Stelle hochzählen, dann kann man - wenn man keine lokale Testumgebung hat - beim testen einfach drüberinstallieren und muss nicht die Dateien per FTP rumschaufeln.


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

Liked by:

klawin

#13 22.02.2020 14:29:49

Slugger
Member

Re: Ziehharmonika ("Accordion")

OT:
Was für ein Traffic am Fasching/ Karneval und sonst wie es sich nennt.

Nettes buntes Treiben hier und vielen Dank an alle für die nützlichen Informationen.


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

Offline

#14 22.02.2020 14:51:48

klawin
Member

Re: Ziehharmonika ("Accordion")

Hallo Bernd,

bernd wrote:

... in der modify_settings.php fehlt bei der ersten Tabelle der table-Tag aussenrum.

Vielen Dank, dass Du es so genau nimmst. Habe ich natürlich gleich gefixt.
Ich erlebe gerade Qualitätssicherung, wie sie im Lehrbuch steht. Gefällt mir sehr gut.

bernd wrote:

Und kleiner Tipp: ruhig bei den Fixes in der info.php deine Versionsnummer an der letzten Stelle hochzählen, dann kann man - wenn man keine lokale Testumgebung hat - beim testen einfach drüberinstallieren und muss nicht die Dateien per FTP rumschaufeln.

Oben ist dann auch schon die entsprechend angepasste Version 1.0.1

Viele Grüße
klawin


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

Liked by:

bernd, florian

#15 22.02.2020 14:52:16

klawin
Member

Re: Ziehharmonika ("Accordion")

Slugger wrote:

OT:
Was für ein Traffic am Fasching/ Karneval und sonst wie es sich nennt.
Nettes buntes Treiben hier und vielen Dank an alle für die nützlichen Informationen.

Gerne.


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

#16 22.02.2020 18:13:44

florian
Administrator

Re: Ziehharmonika ("Accordion")

Eine Kleinigkeit noch:
modify.php, Zeile 27, am Ende fehlt der / bei </a>, dadurch ist der Link nicht geschlossen. Ändern zu:

echo '<a href ="'.$mod_url.'/modify_settings.php?page_id='.$page_id.'&section_id='.$section_id.'">'.$ZIEHTEXT['SETTINGS'].'</a>';

Code allein macht nicht glücklich. Jetzt spenden!

Offline

#17 04.03.2020 07:58:37

florian
Administrator

Re: Ziehharmonika ("Accordion")

Zur Info: Ich habe das hier nicht vergessen, ich bin noch am Überlegen, wie sich ein kleiner Bug bei den Eingabefeldern für die Geöffnet/Geschlossen-Symbole am besten lösen lässt.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#18 06.03.2020 09:47:20

klawin
Member

Re: Ziehharmonika ("Accordion")

Hallo florian,

florian wrote:

Zur Info: Ich habe das hier nicht vergessen, ich bin noch am Überlegen, wie sich ein kleiner Bug bei den Eingabefeldern für die Geöffnet/Geschlossen-Symbole am besten lösen lässt.

was ist das denn für ein Bug, Anomalie?

Gruß
klawin


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

#19 06.03.2020 09:55:22

klawin
Member

Re: Ziehharmonika ("Accordion")

florian wrote:

Eine Kleinigkeit noch:
modify.php, Zeile 27, am Ende fehlt der / bei </a>, dadurch ist der Link nicht geschlossen. Ändern zu:

Eine neue Version v1.0.2 ist oben gleich angehangen.

Viele Grüße
Klawin


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

#20 06.03.2020 10:54:44

florian
Administrator

Re: Ziehharmonika ("Accordion")

was ist das denn für ein Bug, Anomalie?

Das Problem tritt auf, wenn im Feld für das Geöffnet/Geschlossen-Symbol ' oder " eingegeben wird. Die Felder werden noch nicht escaped, aber selbst mit Escaping kommt es im Frontend dann dazu, dass das Accordion wegen eines JS-Fehlers dann nicht mehr funktioniert.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#21 06.03.2020 11:14:07

klawin
Member

Re: Ziehharmonika ("Accordion")

florian wrote:

Das Problem tritt auf, wenn im Feld für das Geöffnet/Geschlossen-Symbol ' oder " eingegeben wird. Die Felder werden noch nicht escaped, aber selbst mit Escaping kommt es im Frontend dann dazu, dass das Accordion wegen eines JS-Fehlers dann nicht mehr funktioniert.

Ich kann es gar nicht speichern. Wenn ich es versuche kommt: "You have an error in your SQL syntax; check the ....."

Wie bekommst Du es in die Datenbank :-)

Nachtrag: Wenn ich es direkt in die Db schreibe (phpmyadmin) dann kommt der Fehler. Ok, aber ich bekomme es nicht über das Backend da rein. Sicherheitshalber kann man diese Zeichen ja generell sperren.

Gruß
klawin

Last edited by klawin (06.03.2020 11:21:43)


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

#22 06.03.2020 11:43:58

florian
Administrator

Re: Ziehharmonika ("Accordion")

Du brauchst in der save_settings.php nur die Zeilen

$direction    = $_POST['direction'];
$highlander   = $_POST['highlander'];
$openfirst    = $_POST['openfirst'];
$openedsymbol = $_POST['openedsymbol'];
$closedsymbol = $_POST['closedsymbol'];

zu ändern in

$direction    = $admin->add_slashes($_POST['direction']);
$highlander   = $admin->add_slashes($_POST['highlander']);
$openfirst    = $admin->add_slashes($_POST['openfirst']);
$openedsymbol = $admin->add_slashes($_POST['openedsymbol']);
$closedsymbol = $admin->add_slashes($_POST['closedsymbol']);

dann ist jeglicher SQL-Syntax-Error-Ärger schonmal ausgeschlossen.

Dann müsste da in der Tat noch eine Abfrage rein, die das Speichern von ', ", evtl. auch ´,` verhindert.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#23 06.03.2020 12:18:44

klawin
Member

Re: Ziehharmonika ("Accordion")

florian wrote:

Dann müsste da in der Tat noch eine Abfrage rein, die das Speichern von ', ", evtl. auch ´,` verhindert.

Es ist nur das Zeichen -> ' welches die Probleme verursacht. Die anderen Zeichen haben (hier) keine Auswirkungen und werden einfach so angezeigt.

Oder ist das jetzt Systemabhängig?

Gruß
klawin

Last edited by klawin (06.03.2020 12:19:18)


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

#24 06.03.2020 12:28:50

florian
Administrator

Re: Ziehharmonika ("Accordion")

" geht zwar im Frontend, verschwindet aber nach dem Speichern in der BE-Ansicht.
\ (Backslash) verursacht im FE auch JS-Fehler.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#25 06.03.2020 13:21:15

klawin
Member

Re: Ziehharmonika ("Accordion")

florian wrote:

" geht zwar im Frontend, verschwindet aber nach dem Speichern in der BE-Ansicht.
\ (Backslash) verursacht im FE auch JS-Fehler.

Die 'boesen' Zeichen werden jetzt durch die Standardvorgabe ersetzt.

// 'Boese' Zeichen ausfiltern und durch Standardzeichen ersetzen
if ($closed == "'" or $closed == "\\" or $closed == "\"") {$closed="+";}
if ($opened == "'" or $opened == "\\" or $opened == "\"") {$opened="-";}
$closedsymbol = $admin->add_slashes($closed);
$openedsymbol = $admin->add_slashes($opened);

Neue Version oben angehangen.

Vielen Dank für Deine Unterstützung und die vielen Tipps!

Gruß
klawin


Egal wie du es machst, du machst es falsch! Also mache es!

Offline

Board footer

up