Alternatives Admin-Menü

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
lck
Posts: 2967
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Alternatives Admin-Menü

Post by lck » Sat Mar 04, 2017 8:33 pm

frase wrote:Es gibt aber noch ein anderes (vorher wie nachher):
- Bearbeitungsmodus
- Einstellungen -> irgendeinen Punkt anklicken
- Menü öffenen:
Es fehlt das Auge vor "Vorschau"
Für was ist denn das in der fhs_adminmenu.js ?

Code: Select all

if ((test == 2 && edit == true) || (test == 1)) {
...
}
Wenn ich das so ändere oder auch lösche, und die Icon-Erzeugung unter "// add Icons" setze dann ist das Icon da.

Code: Select all

if ((test == 2 && edit == true) || (test == 1)) {
    // $("#fhs_adminmenu a[href*='&normal']").first().prepend('<i class="fa fa-eye"></i> ');
    // $("#fhs_adminmenu > ul > li > a[href*='&normal']:not(a[href*='?&normal&'])").prepend('<i class="fa fa-eye"></i> ');
}
// add Icons
$("#fhs_adminmenu > ul > li > a[href*='&normal']:not(a[href*='?&normal&'])").prepend('<i class="fa fa-eye"></i> ');
... 
Mittendrin bekomme ich auch eine Fehlermeldung in der Browser-Konsole, konnte aber noch nicht eingrenzen wann genau:
Uncaught TypeError: Cannot read property 'parentNode' of null
at XH.adaptAdminMenu (admin.js:470)
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

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

Re: Alternatives Admin-Menü

Post by Tata » Sat Mar 04, 2017 9:10 pm

Nur ganz brutal theoretisch habe ich mit

Code: Select all

    .prepend( "<button class=\'toggle-id-1\' accesskey=\'1\'>XH-Admin [1]</button>" );
gespielt. Ich meine so etwas wie

Code: Select all

    .prepend( "<button class=\'toggle-id-1\' accesskey=\'1\'>XH-Admin [1]</button><a gref="#&edit">EDIT/PREVIEW</a>" );  
So wie ich es hier schrieb, ist es sellbstverständlich Blödsinn. Die Logik sagt mir aber, dass es so irgendwie machbar sein könnte.
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: Alternatives Admin-Menü

Post by frase » Sun Mar 05, 2017 9:28 am

@Ludwig
Sächsisch-Bayerische-Coproduktion - mal wieder ;-)
lck wrote:Für was ist denn das in der fhs_adminmenu.js ?
Das ist zum Aufblähen des Codes gedacht :lol:

Nein. Das und der ganze Abschnitt oben drüber sind jetzt überflüssig. Deine Zeile mit dem richtigen Selector hat's gebracht.
Ich muss jetzt die Danksagung erweitern ;-)
Und - glaub' es oder nicht - ich hatte testweise genau 12 Plugins reingelegt. Bis 13 bin ich nicht gekommen. :?

@Tata
Ich fürchte, das klappt so nicht. Es muss ja manchmal eine URL mit übergeben werden. Wo nehme ich die her?
Beispiel:
.prepend( "<button class=\'toggle-id-1\' accesskey=\'1\'>XH-Admin [1]</button><a href="?Languages&normal">EDIT/PREVIEW</a>" );

----------
Also, es ist immer besser, wenn mal ein Profi über den Code schaut.
Wenn ich als Programmier-Laie nach Lösungen suche, kommt es unweigerlich zu ziemlich kuriosen Code-Schnipseln. Das ist zwar erheiternd, aber deshalb noch lange nicht gut.
Jetzt fehlt noch der Updatecheck und der Debug-Modus.
Bin gespannt, wie das ausgeht.

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

Re: Alternatives Admin-Menü

Post by cmb » Sun Mar 05, 2017 10:40 am

frase wrote:Ich fürchte, das klappt so nicht. Es muss ja manchmal eine URL mit übergeben werden. Wo nehme ich die her?
Aus dem bereits existieren Element. Das entsprechende <a> kann man so selektieren:

Code: Select all

$("#fhs_adminmenu ul li a").first()
An die URL kommt man so:

Code: Select all

$("#fhs_adminmenu ul li a").first().get(0).href
Mir scheint, es bietet sich an, zumindest das <a> gleich ganz aus dem Menü herauszunehmen, z.B.

Code: Select all

$("body").prepend($("#fhs_adminmenu ul li a").first().attr("id", "fhs_adminmenu_edit_toggle"))
Dann müsste nur noch #fhs_adminmenu_edit_toggle passend gestaltet werden.
frase wrote:Jetzt fehlt noch der Updatecheck und der Debug-Modus.
UpdateCheck ist knifflig, wie ich weiter oben schon ausgeführt hatte. Zumindest die Prüfung, ob der UpdateCheck überhaupt was zu melden hat, ist aber eigentlich nicht schwer:

Code: Select all

(function () {
    var updateCheckScript = $("script").filter(function () {
        return /updatecheck/.test($(this).text());
    });
    if (updateCheckScript.length) {
        alert("Updates available");
    }
}());
Statt des alert() müsste halt irgendwas sinnvolles gemacht werden.

Debug-Meldungen sind reicht einfach, da diese in einem div.xh_debug_warnings ausgeliefert werden. Das müsste nur an eine passende Stelle verschoben werden; evtl. geht das rein per CSS; hier mal ein Entwurf per jQuery:

Code: Select all

(function () {
    var warnings = $(".xh_debug_warnings");
    
    if (warnings.length) {
        warnings.toggle(0);
        $(".fhs_xh_debug")
            .css({"color": "yellow", "cursor": "pointer"})
            .click(function () {
                warnings.toggle(0);
            });
    }
}());
Wenn also überhaupt Warnungen da sind, werden diese versteckt, und die Anzeige, dass der Debug-Modus aktiviert ist, wird umgestylt und dient als Toggle-Button für die Warnungen.
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Alternatives Admin-Menü

Post by frase » Sun Mar 05, 2017 11:26 am

Ups,
da ist aber wieder viel zu tun.
Dank erstmal für die Vorschläge.
Es wird wohl heute nichts mehr mit dem Ausprobieren.

Ein viel schwerwiegenderes Problem ist mir gerade aufgefallen.
Verwendet man ein Template, das die UL und LI irgendwie gestaltet, kommt es zu Konflikten mit dem Adminmenü.
"responsivehtml" und IE sind mir gerade aufgestoßen.
Theoretisch müsste ich jetzt alle möglichen Style-Varianten abfangen ... :cry:

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

Re: Alternatives Admin-Menü

Post by cmb » Sun Mar 05, 2017 1:12 pm

frase wrote:Ein viel schwerwiegenderes Problem ist mir gerade aufgefallen.
Verwendet man ein Template, das die UL und LI irgendwie gestaltet, kommt es zu Konflikten mit dem Adminmenü.
"responsivehtml" und IE sind mir gerade aufgestoßen.
Theoretisch müsste ich jetzt alle möglichen Style-Varianten abfangen ... :cry:
Hm, das müsste dann aber beim Standard-Adminmenü doch auch passieren. :?
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Alternatives Admin-Menü

Post by frase » Sun Mar 05, 2017 1:17 pm

cmb wrote:Hm, das müsste dann aber beim Standard-Adminmenü doch auch passieren.
Hat denn das Standard-Menü auch Icons davor und Buttons dahinter?

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

Re: Alternatives Admin-Menü

Post by Tata » Sun Mar 05, 2017 3:56 pm

frase wrote:...Verwendet man ein Template, das die UL und LI irgendwie gestaltet, kommt es zu Konflikten mit dem Adminmenü...
Wird es passieren auch wenn die UL/LI unter Adminmenu eigene einyigartige Klassen zugeordnet haben?

Andere Frage ist, aob das Menu nihct nur per css so gestaltet sein könnte, dass bevor das Menu angeklickt wird, zeigt es nicht nur "Adminmenu [1]", sondern auch das erste <LI>EDIT/PREVIEW</li>. Dass k;nnte schon machbar sein, ohne am Code selbst wasimmer zu ändern, oder? Es wäre nur, dass das Menu nicht von Links nach Rechts, sondern vom Oben nach Unten aufklappen würde.
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: Alternatives Admin-Menü

Post by frase » Sun Mar 05, 2017 11:15 pm

Bitte um Mithilfe!
Nur für Hardcore-Tester!
Bitte nur mit "dark"-Theme testen. Das andere folgt.

Version 07
Edit: Link nicht mehr verfügbar. Bitte letzte Version in diesem Thread verwenden.

Problem:
XH 1.6.9 (normal)
Mit allen mitgelieferten Templates funktioniert das Admin-Menü in allen Browsern gut.
NUR NICHT IM INTERNETEXPLORER (11)!
Im IE11 funktioniert nur das Template "gonzo-h".
Fehlerbild:
- Die Buttons zum Öffenen der Untermenüs (+) passen nicht in die LIs.
- bei Level3 (Plugins) haben die LIs einen Listenpunkt.

Bisher glaubte ich, dass ich solche Dinge lösen kann. Irrtum :oops:

BTW:
Die beiden Skriptvorschläge von Christoph habe ich eingebaut.
Updatecheck: Ist immer vorhanden, auch wenn es keine Updates gibt.
Debug-Warnung: Das Skript habe ich eingefügt. Weiß aber nicht weiter.
#fhs_adminmenu_edit_toggle: Zurückgestellt - habe ich nicht verstanden
Last edited by frase on Fri Mar 10, 2017 8:35 am, edited 1 time in total.

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

Re: Alternatives Admin-Menü

Post by frase » Mon Mar 06, 2017 8:52 am

Ich vermute, dass ich dem Problem auf die Spur gekommen bin.

Das Stylesheet (dark) wird an der falschen Stelle aufgerufen.
In der index.php wird derAufruf der entsprechenden Style-Datei an den Body gehängt ($bjs).
Eigentlich gehört es in den Header ($hjs).
Der Aufruf hat den dynamischen Teil "$admMenuTheme" - und der ist erst unten bekannt, dort wo es jetzt steht.

Hat jemand einen Tipp?

Im Moment gibt es nur eine leere stylesheet.css für das Plugin.
Je nach Konfiguration, wird ein Stylesheet "dark" oder "light" angefügt.
Besser wäre es, wenn das Plugin-eigene Stylesheet abhängig von der Konfiguration unterschiedliche Inhalte hätte. Dann wäre es auch automatisch an der richtigen Position im Dokument.

Post Reply