WebsiteBaker Support (2.13.x) > Modules

Accordion überarbeitet

(1/8) > >>

sternchen8875:
Accordion-Module, neueste Version -> https://addon.WebsiteBaker.org/pages/en/browse-add-ons.php?id=00CB2195

In den letzten Tagen haben wir uns zusammengesetzt und das bekannte Accordion-Modul überarbeitet. Die Funktionsweise im Frontend bleibt unverändert. Auf Grund des Posts von Lara wurden ein paar Sortiermöglichkeite n eingebaut.

Stark verändert hat sich die Optik im Backend. Basis sind hier TWIG-Templates und ein neues Konzept, das wohl nach und nach bei den Modulen Einzug halten wird. Dieses Konzept ermöglicht es, für jede Section eigene Templates zu erstellen. Mitgeliefert wird ein Basis-Template, das der Ausgabe in den älteren Versionen entspricht. Das gilt auch für das CSS der alten Version. Wer die Optik über das CSS in der Datei frontend.css an seine Webseite angepasst hat, sollte sich diesen Code vor dem Modul-Upgrade in eine neu anzulegende Datei frontendUser.css kopieren, damit alles erhalten bleibt. Diese Datei wird bei späteren Modul-Upgrades nicht überschrieben (gilt seit Längerem für alle Module und Templates in WebsiteBaker)

Das Backend
- funktioniert wie in der alten Version. Frage/Antwort hinzufügen, Moduleinstellungen - wie gehabt
- Neu wäre die Option, Einträge durch Klick auf den grünen Punkt aktiv bzw passiv zu schalten. So lassen sich Einträge ausblenden, ohne, das sie gleich gelöscht werden müßten.
- in den Moduleinstellungen kann die Sortierfolge eingestellt werden, nach Position, alphabetisch nach Frage sowie nach Datum der letzten Änderung (z.b. Neueste zuerst), alle Methoden natürlich auf- und abwärts
- ist eine aufsteigende Methode gewählt (A-Z bzw 0 - 9), können die Beiträge über den Doppelpfeil links per Drag&Drop sortiert werden. Für die absteigenden Methode wurde diese Funktion deaktiviert, weil es in der Bedienung absolut verwirrend ist. Immer möglich ist aber eine Verschiebung per Pfeiltasten am rechten Rand.
- das Modulkonzept sieht vor, das es neben den altbekannten Dateien frontend.css und backend.css für jedes eingesetzte Frontend-Template eine Kopie des mitgelieferten default-Themes geben wird. Inklusive der User-eigenen Datei frontendUser.css sind das dann 5 CSS-Dateien, die über einen eingebauten Editor direkt im Addon bearbeitet werden können.

für versierte Nutzer gibt es in den Moduleinstellungen zwei Schalter, einer schaltet den internen Templateeditor ein, der zweite legt fest, ob und welches der in der Datenbank gespeicherten Templates man benutzen möchte. Auszeichnungssprach e für die Templates ist TWIG. Ist der Templateeditor aktiviert, erscheint unten in der Übersicht eine Liste der bereits angelegten Templates und ein Menü-Button zum Anlegen neuer Templates. Aktuell wird noch an den Übersetzungen für ein paar Erklärungen zum Modul-Editor gearbeitet, für TWIG-Kenner ist das bereits vorinstallierte Template aber selbsterklärend.

Das Modul ist getestet bis PHP 8.2.2, ein Test mit der neuesten Version PHP 8.2.3 erfolgt über das Wochenende. Getestet wurde mit allen WB 2.13er Versionen inkl. der aktuellen Testversion für die kommende WB 2.14

Noch ein Nachtrag: Das Modul-Konzept ermöglicht es, in allen aktiven Frontend-Templates, für die im Ordner /templates eine Kopie angelegt wurde, eigene Sprachvariablen zu verwenden, die bei einem Upgrade nicht überschrieben werden. Wer es also im Backend lieber bayrisch oder sächsisch mag, kopiert sich den Ordner languages in das jeweilige Theme und passt die Sprachvariablen entsprechend an.



Noch ein kleines Gimmick zum Abschluß: Mitgeliefert werden 24 Farb-Themes. Langfristiger Plan ist hier, das irgendwann mal eine zentrale Umschaltung der Farben möglich ist. Wer damit spielen möchte, die Einbindung erfolgt in der Datei /themes/default/css/backend_default.css. Die Themes sind dann im Unterordner wb_themes. Eigene Themes können unter W3-CSS Themes ausgesucht werden oder mit dem Color-Theme-Generator selbst erstellt werden

dbs:
Erstmal super, dass sich jemand um das Modul kümmert, setze es öfter ein. Danke dafür.
Kleines Feedback nach einem Upgrade, bin ich mir nicht sicher ob es so sein soll:
Latest WB, PHP8.1, keine Fehlermeldungen im Modul.
- Auswahl Accordion oder Toggle, hat im Frontend immer Accordion Effekt. 
  Accordion = eins öffnen schließt das andere
  Toggle = man könnte alle nacheinander öffnen oder schließen, je nachdem was der vorherige Zustand war
- "Neuen Abschnitt hinzufügen" passt nicht ganz in den Button
- ein "Drag'N'Drop" Effekt ist bei mir immer da, also auch bei absteigender Standardsortierung.
  Allerdings greift man hier gleich alle Einträge gleichzeitig und kann sie hin- und her bewegen auf der Seite.
- Bei Auswahl der Sortierung könnte auch kleiner Hinweis bei aufsteigend stehen, dass damit DragDrop möglich ist 
  Ich persönlich finde es verwirrender, dass DragDrop nicht immer möglich ist.
- "Diese Frage ist aktiv?" - Der Abstand zwischen Ja / Nein ist gefühlt riesig

Schön, dass die nicht mehr benötigten Ordner/Dateien automatisch entfernt wurden. Ich musste nur noch meine backendUser.css deaktivieren um die Speichern/Abbrechen Buttons ordentlich sehen zu können.
Habe noch nicht alles getestet. Läuft erstmal. Gute Arbeit.  (Y)

sternchen8875:
Zuerst Danke für's Testen und berichten

- die Toggle-Funktion ist scheinbar an uns vorbei gegangen und hat in der Ausgabe komplett gefehlt - ist repariert in v2.6.0
- beim Button-Text zeigt sich wohl, wie verwöhnt man schon mit großen Monitoren ist. :-(
 habe zur Lösung media-queries für die Buttons angelegt, am Ende mußten aber doch die langen Texte weichen
- Radio-Button-Abstand ist nun überall korrigiert
- Drag&Drop-Hinweis war in der Übersicht hinter dem Fragezeichen, ist in den Modulsettings jetzt dauerhaft sichtbar

Zum Drag&Drop allgemein - das gleiche Problem besteht ja auch z.b. im News-Modul oder überall dort, wo man die Sortierfolge ändern kann und Drag&Drop einsetzt, egal, mit welcher Methode. Die ORDER-Klasse aus dem Core kennt nur die Richtungen auf und ab. Mehr braucht es ja auch nicht. In der Datenbank gibt es aber nur eine Reihenfolge: der erste Eintrag steht oben, alle weiteren werden darunter angeordnet. Wir haben zwar die Möglichkeit, unsere Ansicht einer Tabelle bzw ihre Kopie in der Modulübersicht nach unseren Erfordernissen anzupassen, es ändert aber nicht die reale Reihenfolge in der Datenbank. Ein zuletzt hinzugefügter Eintrag steht dort immer unten. Drehen wir nun die Sortierung um und lassen uns den letzten Eintrag oben anzeigen, ist dieser immernoch Letzter in der MySQL-Tabelle. Verschiebt man diesen dann nach unten, gibt es einen Fehler, weil dieser Eintrag ja in der Mysql-Tabelle schon letzter ist.
Das Problem besteht bei den älteren Module wie z.b. Accordion v 2.4.1 (mit der nachgerüsteten Sortierfunktion) auch bei den Pfeilen. Im News-Modul wurde zur Lösung eine Kombination mehrerer PHP-Abfragen eingebaut, mit TWIG reicht da eine Abfrage, um die Bedingung umzukehren

Zum Drag&Drop-Fehler (alle Fragen mit einmal gegriffen)
Das Drag&Drop ist eine modernisierte Form der OFA-Lösung und arbeitet über CSS-Klassen, die innerhalb von Listenelementen (ul->li) angegeben sind - jede Frage ein Listenelement und jedes Listenelement ein unikater IDKey. Ausschauen sollte es so wie im Bild unten, der Mouse-Cursor ist im Bild ausgeblendet.



Wäre es möglich, mit den Tasten STRG + F5 noch einmal den Browsercache zu löschen?

Zu den Drag&Drop-Pfeilen, die immer erscheinen:
die 6 verschiedenen Sortiermöglichkeite n (siehe Moduleinstellungen) sind von 1-6 durchnumeriert, 1 = nach Position abwärts, 2 = nach Position aufwärts usw.
Bei den geraden Zahlen 2, 4 und 6 soll der Drag&Drop-Pfeil nicht erscheinen, nur bei den ungeraden Werten, da darf er .
Habe aber gesehen, das bei den unteren Fragen beim Überfahren des Bereichs der (ausgeblendeten) Doppelpfeile der Cursor doch zum MOVE wechselt und ein Verschieben somit möglich war. Zur Lösung habe ich die settings-Abfrage auf diese CSS-Klassen erweitert.
Kam es vorher zu einer Fehlfunktion, muß nun aber der Browser-Cache gelöscht werden.

Zum Module-Upgrade:

Da niemand beim Upgrade weiß, ob der Anwender nicht schon das in die Datenbank geschriebene Template für sich angepasst hat, möchte ich das nicht überschreiben. Wer aber das Template aus der Datenbank benutzt, hat in diesem Template keine Toggle-Funktion.
Abhilfe wäre das Löschen dieses Templates in der Templateliste - es wird dann automatisch neu installiert

Info: ist der Stern nicht gelb, ist dieses Template nicht als aktives Frontend-Template. Der Inhalt des Frontends kommt dann aus der view.twig im templates-Ordner des Addons.

dbs:
Moin, nach Upgrade 2.6.0 zeigt das BE nun:
(Template Einstellungen hatte ich nach dem ersten Upgrade 2.5.9 nicht verändert)


--- Quote ---There was an uncatched exception
 Table '"meine_test_db".wb_mod_accordion_templates' doesn't exist
 in line (821) of (/framework/class.database.php):
--- End quote ---

errorlog:
[E_USER_NOTICE] /framework/frontend.functions.php:[319]  from /framework/frontend.functions.php:[319] trigger_error "[319] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1"



Anschließendes manuelles Upgrade zeigt:

'Accordion backup old settings' FAILED
 'Accordion has no old settings' FAILED
 'Accordion couldn't updated' FAILED
 [230] 'Accordion backup old settings' FAILED

 'Accordion has no old settings' FAILED

 'Accordion couldn't updated' FAILED

 
    [220] upgrade accordion konnte nicht ausgeführt werden
'Accordion backup old settings' FAILED
 'Accordion has no old settings' FAILED
 'Accordion couldn't updated' FAILED

ruebenwurzel:
Hallo,

ein Neuinstall der Version 2.6.0 unter WB 2.13.3 r174 und PHP 8.2 wirft folgende Fehlermeldung raus:



in der install-data.sql.php steht in Zeile 21:


--- Code: ---INSERT INTO `wb_mod_accordion_templates`
--- End code ---

Das "wb_" müsste meiner Meinung nach ersetzt werden durch sowas wie {TABLE_PREFIX}

Navigation

[0] Message Index

[#] Next page

Go to full version