Plugin: Expandcontract_XH - Community-Projekt ???

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Plugin: Expandcontract_XH - Community-Projekt ???

Post by frase » Sun Mar 06, 2022 8:33 am

Neulich suchte ich mal wieder nach einem Plugin. Es sollte mir XH-Seiten accordion-ähnlich aufklappen.
Es gibt da ja schon einige - aber irgendwie passte mir mal das Eine nicht und mal das Andere.
Da fiel mir Svastis "Expandcontract_XH" ein.
Ich suchte galaxisweit nach irgendeiner Download-Version - fand aber nix.
In meinem eigenen Plugin-Archiv wurde ich dann aber doch noch fündig.

Das Plugin hatte eigentlich fast alles, was ich brauchte, brachte aber unter CMSimple_XH 1.7.5 ein paar Warnungen und klappte die Seiten "blitzartig" per display: none bzw. display:block aus und ein.
Das wollte ich ändern. Die Seiten sollten geschmeidig ein- und aus-"rollen".

Obwohl ich - JavaScript und PHP betreffend - eher als "Lekasteniger" zu bezeichnen bin, machte ich mich frisch ans Werk. Ich habe das Ding ein wenig aufgebohrt, angepasst und etwas erweitert.
Das Ergebnis möchte ich euch hier und heute vorstellen.

Wie wäre es denn, wenn wir dieses Plugin als "Community-Projekt" weiterführten?
Wir könnten ja hier im Forum an dieser Stelle meinen Code korrigieren und optimieren und das Plugin dann in das bisher leere Github-Repo laden.

Was meint ihr?

Hier gibt es meine vorläufige Version zum Anschauen und Herunterladen.

Ich habe Svasti noch nicht nach seiner Meinung dazu gefragt - was ich hiermit nachhole.
Auf svasti.de erklärt er aber genau, wie in solchen Fällen zu verfahren ist. Und das habe ich eingehalten.

olape
Posts: 2806
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Plugin: Expandcontract_XH - Community-Projekt ???

Post by olape » Sun Mar 06, 2022 9:46 am

Tolle Demo, tolles Plugin. Schön, wenn es wieder fehlerfrei läuft.
Schau ich mir am Rechner nochmal genauer an.

Kannst du dir ein dickes Bienchen ins Muttiheft eintragen.
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

lck
Posts: 3005
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Plugin: Expandcontract_XH - Community-Projekt ???

Post by lck » Sun Mar 06, 2022 12:00 pm

olape wrote:
Sun Mar 06, 2022 9:46 am
Tolle Demo, tolles Plugin. Schön, wenn es wieder fehlerfrei läuft.
+1
frase wrote:
Sun Mar 06, 2022 8:33 am
Wie wäre es denn, wenn wir dieses Plugin als "Community-Projekt" weiterführten?
Wir könnten ja hier im Forum an dieser Stelle meinen Code korrigieren und optimieren und das Plugin dann in das bisher leere Github-Repo laden.
+1. Spricht eigentlich nichts dagegen.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

lck
Posts: 3005
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Plugin: Expandcontract_XH - Community-Projekt ???

Post by lck » Sun Mar 06, 2022 12:06 pm

Eins möchte ich noch erwähnen. Gleiches Problem wie hier angesprochen. Bei der Suche wird der Akkordeonzweig der das Gesuchte enthält nicht geöffnet. Eventuell kannst du da noch was einbauen?
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Plugin: Expandcontract_XH - Community-Projekt ???

Post by frase » Sun Mar 06, 2022 12:11 pm

lck wrote:
Sun Mar 06, 2022 12:06 pm
Eventuell kannst du da noch was einbauen?
Bitte behalte das mal im Auge, falls ich es vergesse.
Ich hatte schon Experimente zur Lösung veranstaltet - leider ohne guten Erfolg.
Es gibt auch noch andere Problemstellen (z.B. die korrekte max-Höhe des Expand-Bereiches).
Solange mir oder anderen nichts dazu einfällt, merken wir das vor und sammeln weiter die "Problemchen".

lck
Posts: 3005
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Plugin: Expandcontract_XH - Community-Projekt ???

Post by lck » Sun Mar 06, 2022 7:40 pm

frase wrote:
Sun Mar 06, 2022 12:11 pm
... und sammeln weiter die "Problemchen".
1) Seite mit mehreren Überschriften (h2, h3, h4, ...).
Schaltet man die Anzeige der Überschriften in der Konfiguration oder im Pluginaufruf aus, so werden nur noch die letzten Absätze unter der letzten Überschrift angezeigt.

2) http://fhs.bplaced.net/expandcontract_xh/?Variante-2
Bei: Variante 2a

Code: Select all

{{{expand 'Beispiel Seite 1,Beispiel Seite 2,Verborgene Seite 3','','','','','1''}}}
Typo: Einfaches Anführungszeichen am Ende zu viel.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Plugin: Expandcontract_XH - Community-Projekt ???

Post by frase » Sun Mar 06, 2022 9:38 pm

lck wrote:
Sun Mar 06, 2022 7:40 pm
Typo: Einfaches Anführungszeichen am Ende zu viel.
Danke!
Das war beim Kopieren passiert. Ist korrigiert.
lck wrote:
Sun Mar 06, 2022 7:40 pm
1) Seite mit mehreren Überschriften (h2, h3, h4, ...).
Schaltet man die Anzeige der Überschriften in der Konfiguration oder im Pluginaufruf aus, so werden nur noch die letzten Absätze unter der letzten Überschrift angezeigt.
Jaaa, das hatte ich auch schon bemerkt. Und ich dachte: Ein Relikt aus alten Zeiten, als die Seitentrennung noch per Überschriften geschah. Im ganzen Trubel habe ich es vergessen und nur beim Beschreiben des dritten Parameters eine kleine Bemerkung fallen lassen, damit es möglichst niemand nutzt. ;-)
Vermutlich liegt es in der index.php an diesen Zeilen:

Code: Select all

        $expContent = str_replace('#CMSimple hide#', '', $c[$value]);
        if (!$withheading) {
            $expContent = preg_replace("/.*<\/h[1-".$cf['menu']['levels']."]>/isU", "", $expContent);
        }
Da blicke ich aber leider nicht durch :oops:

olape
Posts: 2806
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Plugin: Expandcontract_XH - Community-Projekt ???

Post by olape » Sun Mar 06, 2022 10:21 pm

Falls $withheading die Option zur Anzeige der Überschriften aus der config darstellt, dann scheint die Vermutung richtig.

Ich kenne jetzt nur diese 4 Zeilen.

Kurz gesagt, es wird alles entfernt bis zum Ende der Überschrift wie sie unter $cf['menu']['levels'] eingestellt ist. Standard war ja immer 3, glaube ich, also dann entsprechend alles bis </h3>. Je nachdem, was da nun eingestellt ist. Seit 1.7.0 könnte es theoretisch ja sogar 9 sein. Ich weiss, Überschriften gehen nur bis 6.

Das ist ja aber nun alles gar nicht mehr nötig. Könnte also sowohl in der config als auch im Code raus.
Also die 3 Zeilen ab if.
Und irgendwo müsste auch noch die Zuweisung für $withheading sein.
Das könnte dann auch weg. (Falls das nicht noch anderswo gebraucht / genutzt wird)
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Plugin: Expandcontract_XH - Community-Projekt ???

Post by frase » Mon Mar 07, 2022 8:32 am

olape wrote:
Sun Mar 06, 2022 10:21 pm
Das ist ja aber nun alles gar nicht mehr nötig. Könnte also sowohl in der config als auch im Code raus.
Also die 3 Zeilen ab if.
Und irgendwo müsste auch noch die Zuweisung für $withheading sein.
Das könnte dann auch weg. (Falls das nicht noch anderswo gebraucht / genutzt wird)
Die Zuweisung erfolgt in der index.php so:

Code: Select all

$withheading = $withheading!==''? $withheading : $plugin_cf['expandcontract']['show_headings'];
Weiter unten kommen dann die oben genannten Zeilen.
Steht in der Plugin-config $plugin_cf['expandcontract']['show_headings']="";, also leer statt true, dann werden sämtliche Inhalte entfernt, bis auf das, was nach der letzten vorkommenden Überschrift steht. Die Überschriften-Levels spielen dabei gar keine Rolle (scheint mir).
Diese Konfigurations-Option sollte aber eigentlich nur die Überschriften entfernen - nicht den Inhalt.
Ich kann mir vorstellen, dass das in besonderen Fällen auch wirklich sinnvoll ist.
Wenn ich (nach deinem Vorschlag) die drei Zeilen (if ...) entferne, wird wieder alles inkl. der Überschriften (h1 - h6) angezeigt.
Damit wäre die ganze Option sinnlos.

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Plugin: Expandcontract_XH - Community-Projekt ???

Post by frase » Mon Mar 07, 2022 8:59 am

So, ich habe das jetzt nochmal genauer untersucht.
Was in der CMS-Config unter $cf['menu']['levels'] steht, spielt überhaupt keine Rolle.
Es wird immer alles inkl. der letzten h2-Überschrift entfernt.
Nachfolgende h3 - h6 werden inkl. Inhalt darunter angezeigt.
Das entspricht also nicht mehr dem, was svasti (und auch ich) eigentlich wollten.
Zwei Möglichkeiten:
1. Die Option 'show_headings' komplett entfernen.
2. Die Bedingung (if ...) so ändern, dass wirklich nur Überschriften entfernt werden (unabhängig vom Level).

Tatsächlich wird das wohl kaum jemand brauchen.
Ist die aufzuklappende Seite aber eine normale Inhaltsseite mit z.B. nur einer Überschrift, kann es durchaus mal angebracht sein, eine solche Seite mit Expandcontract OHNE Überschrift anzuzeigen.

Post Reply