Spezial-Menü - Hilfe gesucht

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
knollsen
Posts: 266
Joined: Wed Nov 06, 2013 2:28 pm

Re: Spezial-Menü - Hilfe gesucht

Post by knollsen » Thu Jul 11, 2019 1:48 pm

Alles Gut! Alles andere ist Feinarbeit. Es sollten sich aber paar mehr User dazu äußern als nur wir paar Hansels.
Richtig wäre, das die Ausgabe der Menüs in CMSimple mal erweitert werden könnten. so wie xtoc.php … etc . Einfach im toc() paar Parameter mehr ein zu pflanzen die gewisse Funktionen steuern! Normal, All-Click, All-Menüs, … usw. Die Zeit dazu wäre reif.
Der Rest erledigt dann der Style.

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

Re: Spezial-Menü - Hilfe gesucht

Post by frase » Thu Jul 11, 2019 1:57 pm

Ja und Nein.
Ich weiß nicht inwieweit es dann alles noch "simple" ist - und da legen doch einige Stamm-User viel Wert drauf.
Die andere Seite ist, dass XH zurzeit kaum noch Programmierer hat, die über genügend Zeit verfügen um überhaupt mal die Issues zu bearbeiten und 'ne neue Version rauszuhauen. Da gibt es ja auch noch einige Baustellen, und für 1.8 gibt es ebenfalls viele angedachte Veränderungen. Wie das Leben selbst: Alles schwierig.
Da ist eine Plugin-Version schon leichter zu realisieren.

Holger
Site Admin
Posts: 3092
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Spezial-Menü - Hilfe gesucht

Post by Holger » Fri Jul 12, 2019 9:37 am

knollsen wrote:
Thu Jul 11, 2019 1:48 pm
Richtig wäre, das die Ausgabe der Menüs in CMSimple mal erweitert werden könnten. so wie xtoc.php … etc . Einfach im toc() paar Parameter mehr ein zu pflanzen die gewisse Funktionen steuern! Normal, All-Click, All-Menüs, … usw. Die Zeit dazu wäre reif.
Eigentlich geht das doch schon total einfach, indem man sich eine passende Li-Klasse ableitet. Das ist sehr flexibel und kann über das Template gemacht werden, wohin es im Zweifel auch hin gehört.
Anpassungen, wie z.B. eine zusätzliche CSS-Klasse oder eine ID etc., lassen sich ebenfalls leicht realisieren.
Es gibt auch schon viele Beispiele / Lösungen dafür. Wir müssten einfach mal sammeln und dokumentieren.

Holger
Site Admin
Posts: 3092
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Spezial-Menü - Hilfe gesucht

Post by Holger » Sun Jul 14, 2019 9:14 pm

Okay, ich habe jetzt mal schnell die "umfangreiche" Lösung gebastelt:
  • L1-Seiten werden, wenn sie Unterseiten haben, im Menü zu Kategorien
  • Inhalte der L1-Seite werden als Kategorie-Beschreibung im Menü übernommen (Split-Marker ausgefiltert)
  • Alle L1-Seiten, wenn sie Unterseiten haben, werden bei direktem Aufruf automatisch auf die erste Kind-Seite weitergeleitet (nicht im Admin-Mode). Manuelle Weiterleitungen entfallen.
  • Bei L1-Seiten wird, wenn sie Unterseiten haben, ein Hinweis "keine Inhaltsseite" für den User über dem Editor angezeigt. Der Text sollte vielleicht besser in einer Template-Sprachvariable gespeichert werden
  • Sitemap: Kategorie-Seiten werden nicht mehr verlinkt. Die Seitennamen werden von einem zusätzlichem Div mit der Klasse "bwSitemapCategory" (wie beim Menü) eingeschlossen
  • Die Suche ignoriert alle L1-Seiten (hier wird nicht geprüft, ob sie Unterseiten haben -- was wir aber noch nachrüsten könnten)
Die beiliegende templatefunctions.php muss lediglich per include() / require() oben in der template.htm eingebunden werden.
Im Template dann noch den Aufruf des Menüs anpassen:

Code: Select all

bwMenu($hc,1)
Außerdem muss der alte Code, der bisher die Funktion bwMenu() definiert hat, natürlich aus der template.htm gelöscht werden.

Für Sitemap und Suche sind keine Manipulationen per JS nötig.
Die bisherigen CSS-Klassen sind beibehalten worden. Einige zusätzliche Klassen sind noch dazu gekommen.

Zum Menü:
im Edit-Mode habe ich für die Kategorie-Seiten, wie sonst auch üblich, die Links gelassen. Hier passt dann natürlich das Styling, im Gegensatz zum Vorschau-Modus, nicht. Man sollte die Seiten im Admin-Mode mMn. aber auch per "normalem" Menü erreichen können.

Zur Suche:
Hier werden einfach erst 'mal alle L1-Seiten ignoriert, unabhängig davon ob sie Kind-Seiten haben oder nicht. Ob das okay ist, weiß ich nicht. Im Prinzip passt das aber, da die sonstigen L1-Seiten (News..) versteckt und von der Suche ausgeschlossen sind (wenn nicht anders konfiguriert). Allein stehende L1-Seiten machen im konkreten Fall in diesem Menü auch nicht wirklich Sinn.
Prinzipiell ist das mit der Suche auch nicht so toll, denn man braucht, auch für so eine kleine Anpassung, eine komplette Kopie der Search-Klasse des Cores. Das liegt daran, dass die relevanten Methoden alle als "private" deklariert sind und deshalb in einer abgeleiteten Klasse nicht nutzbar sind.
Da sollten wir mal nachdenken, ob das nicht anders zu machen geht.
Oder @cmb (falls Du mitliest): habe ich da einen Denkfehler? Geht das vielleicht eleganter?

Ich sehe ein, dass der Code nun deutlich länger ist. Aber:
dafür ist alles Gewünschte realisierbar und auch noch einfach weiter anpassbar.
Und es kann noch immer alles ausschließlich per Template realisiert werden.
You do not have the required permissions to view the files attached to this post.

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

Re: Spezial-Menü - Hilfe gesucht

Post by frase » Mon Jul 15, 2019 12:27 am

Das hat man nun davon, wenn man nachts kurz vor dem Schnarchen nur nochmal schnell gucken will, was in der Welt so los ist.
Man findet den fleißigen Holger ;-)

Also: Zunächst habe ich 'ne ganze Weile vor einem weißen Bildschirm gesessen, der mir nur den Header zeigte und sonst nix.
Keine Debugmeldung, keine Meldung in der Konsole. Ratlosigkeit.
Bis ich dann das gesehen habe: bwMenu($hc,1) :P
Läuft!
Super, Holger! Gute Arbeit!
Funktioniert alles (soweit ich das in der Kürze der Zeit feststellen konnte).
Holger wrote:
Sun Jul 14, 2019 9:14 pm
Split-Marker ausgefiltert
Sehr gut. Nur ein Effekt im gerenderten Quellcode - aber sehr gut!
Holger wrote:
Sun Jul 14, 2019 9:14 pm
Manuelle Weiterleitungen entfallen.
Super! (Ich habe meine manuellen Weiterleitungen extra entfernt um das zu prüfen ;-) )
Holger wrote:
Sun Jul 14, 2019 9:14 pm
Bei L1-Seiten wird, wenn sie Unterseiten haben, ein Hinweis "keine Inhaltsseite" für den User über dem Editor angezeigt. Der Text sollte vielleicht besser in einer Template-Sprachvariable gespeichert werden
Gute Idee. Vielleicht ein büschen viel Text, aber hilfreich. Sprachvariable ist empfehlenswert, wenn man es an Unbekannt weitergeben will. Hier gehört vielleicht auch noch der Hinweis hin, dass beim Umschalten von Bearbeiten zu Vorschau bei L1-Seiten keine Weiterleitung erfolgt.
Holger wrote:
Sun Jul 14, 2019 9:14 pm
Die Suche ignoriert alle L1-Seiten (hier wird nicht geprüft, ob sie Unterseiten haben -- was wir aber noch nachrüsten könnten)
Ich glaube, L1-Seiten ohne Unterseiten machen in einem solchen Template wirklich keinen Sinn (wie du schon geschrieben hast).
Holger wrote:
Sun Jul 14, 2019 9:14 pm
Zum Menü:
im Edit-Mode habe ich für die Kategorie-Seiten, wie sonst auch üblich, die Links gelassen. Hier passt dann natürlich das Styling, im Gegensatz zum Vorschau-Modus, nicht. Man sollte die Seiten im Admin-Mode mMn. aber auch per "normalem" Menü erreichen können.
Ganz wichtiger Punkt!
Es funktioniert nun alles mit alternativem Adminmenü und auch im normalen Adminmodus. Sehr gut!
Mit minimalen Eingriffen im Stylesheet sieht das Menü in allen Modi identisch aus.
Holger wrote:
Sun Jul 14, 2019 9:14 pm
Zur Suche:
Hier werden einfach erst 'mal alle L1-Seiten ignoriert, unabhängig davon ob sie Kind-Seiten haben oder nicht. Ob das okay ist, weiß ich nicht.
Ich denke, das ist vollkommen okay. Zu L1-Seiten ohne Kind-Seite siehe oben.
Holger wrote:
Sun Jul 14, 2019 9:14 pm
Ich sehe ein, dass der Code nun deutlich länger ist. Aber:
dafür ist alles Gewünschte realisierbar und auch noch einfach weiter anpassbar.
Und es kann noch immer alles ausschließlich per Template realisiert werden.
Ja. Aus der guten, kleinen und smarten knollsen-Idee ist ein "ziemlicher Klopper" geworden. Aber nun muss man nicht mehr dranschreiben: "Nicht in produktiven Umgebungen einsetzen!" :D

Ich werde nach dem Schnarchen noch ein wenig rumtesten und dann meine Online-Demo aktualisieren. Und einen neuen Download bauen.

Zwischendurch hatte ich das Menü selbst noch mit ein paar jQuery-Skripten vollgestopft - nur wegen ein paar einfacher Slide-Effekte. Das habe ich alles wieder entfernt. Die jetzige Menü-Version ist, so wie sie ist, gut - finde ich. Klar und übersichtlich.
Alle anderen Spielchen könne wir dann in die Plugin-Version einbauen.

Apropos:
Eine Test-Version ohne Inhalt für dein MultiOnepage-Plugin kommt auch in den nächsten Tagen. Da gibt es auch noch einiges zu bereden. Mir sind da ein paar Dinge aufgefallen. -> Demnächst in diesem Theater.

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

Re: Spezial-Menü - Hilfe gesucht

Post by frase » Mon Jul 15, 2019 7:52 am

Holger wrote:
Sun Jul 14, 2019 9:14 pm
Die bisherigen CSS-Klassen sind beibehalten worden.
Kleines (großes) Problem aufgetaucht.
Die Klasse "bwCurrent" wurde bei mir auf den aktuellen Link angewendet.
Bei dir geht die Klasse an <li>.
Das bringt einige Probleme mit sich. Der aktive Link lässt sich bei Vorhandensein von Unterseiten nicht mehr ansprechen. Zumindest habe ich jetzt keine schnelle Lösung finden können. Die Formatierungen von li .bwCurrent wirken sich auf alle folgenden Level aus.

Ich fürchte, dass das gar nicht so einfach zu ändern ist - oder?

Holger
Site Admin
Posts: 3092
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Spezial-Menü - Hilfe gesucht

Post by Holger » Mon Jul 15, 2019 8:16 am

frase wrote:
Mon Jul 15, 2019 7:52 am
Holger wrote:
Sun Jul 14, 2019 9:14 pm
Die bisherigen CSS-Klassen sind beibehalten worden.
Kleines (großes) Problem aufgetaucht.
Die Klasse "bwCurrent" wurde bei mir auf den aktuellen Link angewendet.
Bei dir geht die Klasse an <li>.
Das bringt einige Probleme mit sich. Der aktive Link lässt sich bei Vorhandensein von Unterseiten nicht mehr ansprechen. Zumindest habe ich jetzt keine schnelle Lösung finden können. Die Formatierungen von li .bwCurrent wirken sich auf alle folgenden Level aus.

Ich fürchte, dass das gar nicht so einfach zu ändern ist - oder?
Das sollte machbar sein, indem man noch die Methode renderAnchorStartTag($i) entsprechend anpasst.
Das liefere ich dir aber erst heute Abend nach. Lass das CSS also erstmal so.
Vielleicht kommen bis dahin noch auch ein paar Wünsche, oder du findest noch ein paar Fehler ;) .

Und ja:
Holger wrote:
Sun Jul 14, 2019 9:14 pm
Zur Suche:
...
Da sollten wir mal nachdenken, ob das nicht anders zu machen geht.
Oder @cmb (falls Du mitliest): habe ich da einen Denkfehler? Geht das vielleicht eleganter?
Das geht wohl doch simpler :? ... Das schau' ich mir auch nochmal an.

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

Re: Spezial-Menü - Hilfe gesucht

Post by frase » Mon Jul 15, 2019 8:34 am

Holger wrote:
Mon Jul 15, 2019 8:16 am
Das sollte machbar sein, indem man noch die Methode renderAnchorStartTag($i) entsprechend anpasst.
Das liefere ich dir aber erst heute Abend nach. Lass das CSS also erstmal so.
Okay.
Bevorzugt: nur <a> nicht <li> erhält die Klasse.

Holger
Site Admin
Posts: 3092
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Spezial-Menü - Hilfe gesucht

Post by Holger » Mon Jul 15, 2019 5:06 pm

frase wrote:
Mon Jul 15, 2019 8:34 am
Holger wrote:
Mon Jul 15, 2019 8:16 am
Das sollte machbar sein, indem man noch die Methode renderAnchorStartTag($i) entsprechend anpasst.
Das liefere ich dir aber erst heute Abend nach. Lass das CSS also erstmal so.
Okay.
Bevorzugt: nur <a> nicht <li> erhält die Klasse.
Anbei die überarbeitete templatefunctions.php.
Aus <li> ist die Klasse raus und dafür ins <a> - Tag gewandert.
Ansonsten habe ich noch etwas aufgeräumt.

Bzgl. der Suche geht es aber leider nicht kürzer.
Entweder müssten die Methoden von "private" zu "protected" geändert werden, oder wir sollten eine Möglichkeit zum Ausschluss einer Seite von der Suche per PD-Tab im Core realisieren (was vielleicht nicht schlecht wäre).
You do not have the required permissions to view the files attached to this post.

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

Re: Spezial-Menü - Hilfe gesucht

Post by frase » Mon Jul 15, 2019 5:29 pm

Holger wrote:
Mon Jul 15, 2019 5:06 pm
Anbei die überarbeitete templatefunctions.php.
Danke. Klappt wie gewünscht.

Post Reply