Fhs_adminmenu

Third Party Plugins to CMSimple - how to install, use and create plugins

Moderator: Tata

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

Re: Fhs_adminmenu

Post by frase » Tue Nov 07, 2017 8:01 am

lck wrote:Deswegen bitte bei Gelegenheit ändern:

Code: Select all

.xh_debug_warnings
zu

Code: Select all

#fhs_adminmenu_fixed ~ .xh_debug_warnings
Ah, du meinst, wenn das Plugin im Plugin-Ordner liegt, aber unter Einstelleungen nicht aktiviert ist.
Hm. Wer macht denn sowas?
Aber klar. Das sollte geändert werden.
Hier musst du mir aber auf die Sprünge helfen. Die Änderung WO?
Und was bewirkt das eigentlich?
Hartmut wrote:Wird es auch für "fhs_adminmenu-without-fa" eine Version 1.2.1 geben, bleibt dieses Plugin unverändert, oder wird dessen Entwicklung eingestellt?
Sorry, das ist tatsächlich etwas verwirrend.
Es wird in Zukunft (und auch jetzt schon) keine Version mehr mit FA_XH geben. Holger hat ja schon erklärt ...
Das Besondere ist halt, dass dieses Plugin von einem anderen Plugin abhängig ist. Deshalb wird an einigen Stellen darauf hingewiesen.
Das FA-Plugin ist aber in den neueren XH-Versionen Standard. Für ältere Versionen muss es eben nachinstalliert werden.
Holger wrote:Was mich etwas stört ist, dass sich das Menü nicht den letzten Stand merkt. Das wäre hilfreich, wenn man z.B. mehrere Unterpunkte des gleichen Plugins bearbeiten muss oder den gleichen Unterpunkt mehrmals aufrufen muss.
Ja. Das störte mich vom ersten Moment an auch :(
Wie du aber sicher schon gemerkt hast, ist das Plugin nur mit kräftiger Unterstützung von isometric und cmb entstanden. Meine PHP-Kenntnisse reichen dazu nicht ansatzweise. Ich tappe mich mehr oder weniger blind durch den Code - und freue mich dann, wenn es mal klappt :o
Zum Problem selbst:
Ich sehe da nur zwei Möglichkeiten.
1. Mittels Cookie den Zustand nach einem Seitenwechsel wieder herstellen.
2. Den ganzen Menü-Bereich immer stehen lassen. Der Seitenwechsel findet dann in einem eigenen Bereich statt (iFrame?).

Für beide Versionen habe ich nichtmal eine Grundidee, wie man das machen könnte.

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

Re: Fhs_adminmenu

Post by frase » Tue Nov 07, 2017 8:21 am

@Ludwig

Code: Select all

#fhs_adminmenu_fixed ~ .xh_debug_warnings
Habe es jetzt verstanden.
Die Warnings nur verändern, wenn ein Eltern-Element (#fhs_adminmenu_fixed) vorhanden ist.
Funktioniert!

Vermerkt in meinen privaten "Issues". Kommt in die nächste Version.

Danke!

Hartmut
Posts: 553
Joined: Sat Nov 05, 2011 6:13 pm
Location: Butzbach, Deutschland
Contact:

Re: Fhs_adminmenu

Post by Hartmut » Tue Nov 07, 2017 11:27 am

frase wrote:
Hartmut wrote:Wird es auch für "fhs_adminmenu-without-fa" eine Version 1.2.1 geben, bleibt dieses Plugin unverändert, oder wird dessen Entwicklung eingestellt?
Sorry, das ist tatsächlich etwas verwirrend.
Es wird in Zukunft (und auch jetzt schon) keine Version mehr mit FA_XH geben. Holger hat ja schon erklärt ...
Das Besondere ist halt, dass dieses Plugin von einem anderen Plugin abhängig ist. Deshalb wird an einigen Stellen darauf hingewiesen.
Das FA-Plugin ist aber in den neueren XH-Versionen Standard. Für ältere Versionen muss es eben nachinstalliert werden.
Danke für die Bestätigung und ich habe es in der CMSimple_XH Plugin Dokumentation dokumentiert. :-)
An diesem "Beispiel" (Version 1.2 wird durch 1.2.1 abgelöst) ist die künftige Plugin Dokumentation erkennbar, das bei Bedarf auch ältere Pluginversionen eingesehen werden können.
Die anderen Anforderungen an ein Plugin Repository werden "nach und nach" realisiert und mit Inhalt gefüllt.
(Der CMSimple_XH Plugin (Mirror) Download wurde von mir gerade einrichtet.)

Viele Grüße
Hartmut

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Fhs_adminmenu

Post by cmb » Tue Nov 07, 2017 11:42 am

frase wrote:Mittels Cookie den Zustand nach einem Seitenwechsel wieder herstellen.
Im Prinzip sollte es so gehen. Statt eines Cookies bietet sich allerdings Window.sessionStorage an. Folgender Code am Ende von fhs_adminmenu.js geht schon mal in eine passende Richtung:

Code: Select all

(function () {
	var lastHref;

	$("#fhs_adminmenu a").click(function () {
		sessionStorage.setItem("fhs_adminmenu_last_href", $(this).attr("href"));
	});
	if (lastHref = sessionStorage.getItem("fhs_adminmenu_last_href")) {
		$("#fhs_adminmenu a[href=\"" + lastHref + "\"]").parents("ul").prevAll("button").click();
	}
}());
Fehlt ggf. noch das Scrolling zum entsprechenden Menüpunkt.
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Fhs_adminmenu

Post by frase » Tue Nov 07, 2017 12:03 pm

Hartmut wrote:An diesem "Beispiel" (Version 1.2 wird durch 1.2.1 abgelöst) ist die künftige Plugin Dokumentation erkennbar, das bei Bedarf auch ältere Pluginversionen eingesehen werden können.
Die anderen Anforderungen an ein Plugin Repository werden "nach und nach" realisiert und mit Inhalt gefüllt.
(Der CMSimple_XH Plugin (Mirror) Download wurde von mir gerade einrichtet.)
ältere Pluginversionen:
Find ich gut. Ist so 'ne Art History oder Changelog.
Mirror:
Auch super. Da kommt zusammen, was zusammen gehört.
cmb wrote:Im Prinzip sollte es so gehen. Statt eines Cookies bietet sich allerdings Window.sessionStorage an. ...
Kann ich erst heute abend testen.
Danke erstmal.

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

Re: Fhs_adminmenu

Post by frase » Tue Nov 07, 2017 4:49 pm

@Christoph
Der Code funktioniert schon mal super!
Danach stellte sich die Frage, was passiert, wenn man Ansicht/Bearbeiten umschaltet. Da ist es nicht gut, wenn das Menü im alten Status bleibt.
Also Code erweitert (2. Function):

Code: Select all

// menu status: hold [thanks cmb]
(function () {
   var lastHref;

   $("#fhs_adminmenu a").click(function () {
      sessionStorage.setItem("fhs_adminmenu_last_href", $(this).attr("href"));
   });
   if (lastHref = sessionStorage.getItem("fhs_adminmenu_last_href")) {
      $("#fhs_adminmenu a[href=\"" + lastHref + "\"]").parents("ul").prevAll("button").click();
      $("#fhs_adminmenu a[href=\"" + lastHref + "\"]").attr("id","currentMenuItem");
   }
}());

// menu status: clear
(function () {
   var lastHref;

   $("#fhs_adminmenu_edit_toggle").click(function () {
      sessionStorage.setItem("fhs_adminmenu_last_href", $(this).attr(""));
   });
}());
Außerdem ist dann nicht ganz klar, wo man sich gerade befindet.
Um das sichtbar zu machen, habe ich dem aktiven Menüpunkt eine ID verpasst, die dannn gestyled werden kann.
Ich hoffe, dass ich die ID auch noch zum "Anscrollen" verwenden kann.
Das schaue ich nachher mal.

Für mich stellt sich jetzt die Frage, ob das Adminmenü nicht vielleicht standardmäßig geöffnet/sichtbar sein sollte - und erst bei Klick verschwindet.
Will man nämlich z.B. einige Einstellungen hintereinander "abarbeiten", ist es lästig, es immer wieder öffnen zu müssen.
Evtl. könnte man auch eine Config-Option einführen: Menü geöffnet/geschlossen ...
Was meinen bisherige Nutzer?

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

Re: Fhs_adminmenu

Post by lck » Tue Nov 07, 2017 7:57 pm

frase wrote:Was meinen bisherige Nutzer?
Ich bin zwar kein Nutzer, eher ein Tester, aber ich sag dir mal meine Meinung ;)
Mit dem zusätzlichen Code wird das Menü wesentlich benutzerfreundlicher, erspart doch eine Menge Klickerei.
frase wrote:Danach stellte sich die Frage, was passiert, wenn man Ansicht/Bearbeiten umschaltet. Da ist es nicht gut, wenn das Menü im alten Status bleibt.
Also ich könnte mit der Variante von Christoph gut leben. Was sollte da nicht gut sein?
frase wrote:Um das sichtbar zu machen, habe ich dem aktiven Menüpunkt eine ID verpasst, die dannn gestyled werden kann.
Sehr gut, das sollte auf alle Fälle sein!
frase wrote:Für mich stellt sich jetzt die Frage, ob das Adminmenü nicht vielleicht standardmäßig geöffnet/sichtbar sein sollte - und erst bei Klick verschwindet.
Will man nämlich z.B. einige Einstellungen hintereinander "abarbeiten", ist es lästig, es immer wieder öffnen zu müssen.
Evtl. könnte man auch eine Config-Option einführen: Menü geöffnet/geschlossen ...
Eine Config-Option wäre wohl am vernünftigsten, da ein dauerhaft geöffnetes Menü bei manchen Templates Bereiche überdecken könnte.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Tata
Posts: 3586
Joined: Tue May 20, 2008 5:34 am
Location: Slovakia
Contact:

Re: Fhs_adminmenu

Post by Tata » Tue Nov 07, 2017 8:06 pm

Ich würde wohl die Präsenz in sehr schmalem Design mit eher "MouseOver" haben. Es sprt zwar fast keine Zeit vergleichend Click/MoseOver, aber ganz psychologisch scheint es mir zeitsparend und platzsparend.
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.

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

Re: Fhs_adminmenu

Post by frase » Wed Nov 08, 2017 10:25 am

Danke für euer Feedback.

Ich kann euch aber noch nicht in Ruhe lassen - ich bitte um weitere Tests ;-)

Ich habe eine neue Testversion fabriziert.
  • Konfigurationsoption: Menü permanent geöffnet/geschlossen
  • Menübutton mit neuen Icons (schließen/öffnen)
  • Menü merkt sich die Position
  • current-Menüpunkt hervorgehoben
  • auf sämtliche (slide)Animationen wurde verzichtet -> flüssigeres Arbeiten
Kleines Problem:
Ich habe es nicht geschafft, zum aktiven Menüpunkt zu scrollen (für Menüpunkte, die sich evtl. ganz weit unten befinden)

Großes Problem:
Verwendet man Menüpunkte außerhalb des Adminmenüs, bekommt das Adminmenü das nicht mit.
z.B. bei Klick auf einen Punkt in einem "klassischen Pluginmenü" oben in der Tabelle.

[attachment=0]fhs_adminmenu-testversion01.zip[/attachment]
Bitte nur zu Testzwecken verwenden!
Edit:
Bitte neue Testversion verwenden.
You do not have the required permissions to view the files attached to this post.
Last edited by frase on Wed Nov 08, 2017 11:47 am, edited 1 time in total.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Fhs_adminmenu

Post by cmb » Wed Nov 08, 2017 11:28 am

frase wrote:Ich habe es nicht geschafft, zum aktiven Menüpunkt zu scrollen (für Menüpunkte, die sich evtl. ganz weit unten befinden)
Ich auch nicht. Keine Ahnung welche Tricks mCustomScrollbars nutzt. Ohne dieses (aber mit #fhs_adminmenu_fixed {overflow-y:scroll)) liefert $("#fhs_adminmenu_fixed").scrollTop() die gewünschten Werte. Evtl. bietet mCustomScrollbars eine entsprechende API, um zur gewünschten Stelle zu scrollen.
frase wrote:Verwendet man Menüpunkte außerhalb des Adminmenüs, bekommt das Adminmenü das nicht mit.
z.B. bei Klick auf einen Punkt in einem "klassischen Pluginmenü" oben in der Tabelle.
Anstatt den letzten Anker (lastHref) zu speichern, und zu diesem zu navigieren, könnte man natürlich auch im Adminmenü nach der aktuellen URL suchen, und den entsprechenden Menüpunkt aktivieren. Also vielleicht so:

Code: Select all

$("#fhs_adminmenu a").each(function () {
	if (this.href === location.href) {
		$(this).parents("ul").prevAll("button").click();
		this.id = "currentMenuItem";
		return false;
	}
});
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply