Page 3 of 12

Re: Code - Fragen

Posted: Tue Nov 28, 2017 1:57 pm
by frase
lck wrote:a, bitte nicht umsetzen. Mit obigen Code ist es relativ einfach das Backend anders zu gestalten.
Na ja.
cmb on Github wrote:Therefore it appears to be sensible to introduce respective abstractions as soon as possible.
Dann gäbe es vielleicht noch etwas eleganteres (einfacheres).
(Quelle: cmb on Github "... detect where we are")

Re: Code - Fragen

Posted: Tue Nov 28, 2017 2:07 pm
by cmb
lck wrote:
cmb wrote:Ja. So in dieser Art ist es auch bei hi_admin gelöst. Das ganze ist im Core ganz fürchterlich gelöst, und wenn wir viewtopic.php?f=29&t=13071 umsetzen würden, dann würden solche Lösungen nicht mehr möglich sein.
Ja, bitte nicht umsetzen. Mit obigen Code ist es relativ einfach das Backend anders zu gestalten. Und man kann sogar bestimmte Bereiche davon ausnehmen, wenn man vor der Variable ein ! setzt. Also zum Beispiel man möchte den Pagemanager im Vorschau-Modus anzeigen, dann braucht man nur $xhpages zu !$xhpages ändern.
Hm, so wie es ist, ist es aber dennoch fragil. Z.B. wurde in XH 1.7 ein eigenständiger Password-Ändern-Screen eingeführt – konsistent zum Rest mit der neuen Variable $xh_change_password. Wenn weitere solche Funktionen eingeführt werden, müsste immer wieder extern nachgebessert werden. Oder wenn z.B. der Linkchecker mal als Plugin ausgelagert wird, dann würde die Verwendung von $validate eine Notice erzeugen. Da sollte also schon eine Abstraktion angeboten werden. Die Frage ist halt wie detailliert diese nutzbar sein müsste. Mir sieht es so aus als ob das was hi_admin bezüglich des Admintemplates konfigurierbar macht, schon eher die Obergrenze darstellt.

Re: Code - Fragen

Posted: Tue Nov 28, 2017 2:17 pm
by frase
cmb wrote:Mir sieht es so aus als ob das was hi_admin bezüglich des Admintemplates konfigurierbar macht, schon eher die Obergrenze darstellt.
Wobei hi_admin im Originalzustand zum Beispiel 'xh_plugins' und 'xh_change_password' noch gar nicht berücksichtgt.
Auch da müsste jeweils nachgebessert werden (bei Neueinführung/Weglassen von Admin-Seiten).

Re: Code - Fragen

Posted: Tue Nov 28, 2017 3:58 pm
by lck
frase wrote:Wobei hi_admin im Originalzustand zum Beispiel 'xh_plugins' und 'xh_change_password' noch gar nicht berücksichtgt.
Auch da müsste jeweils nachgebessert werden (bei Neueinführung/Weglassen von Admin-Seiten).
Eben, Änderungen wird es immer wieder geben (hoffe ich auch) und die Nachbesserung wäre ja dann, in meinem Code, wirklich minimal.

Aber mal andersrum, Umkehrschluss. Ich binde die adminedit.css standardmäßig zwingend ein, wenn man im Admin-Bereich ist und nicht, wenn ich in der Vorschau bin. Ist das möglich. Problem hierbei ist wahrscheinlich, dass in der Vorschau zwei URL's vorkommen können z.B. ?Start&normal und Start.

Re: Code - Fragen

Posted: Tue Nov 28, 2017 4:16 pm
by frase
Verstehe ich das richtig?
Du möchtest immer adminedit.css aktiv haben, solange du im Admin-Modus bist?

Dann wäre die Vorschau allerdings anders, als für den Besucher ...

if (XH_ADM && ($normal || $edit || $xhpages || $settings || $action || $validate || $xh_backups || $xh_pagedata || $xh_change_password || $sysinfo || $xh_plugins || wantsAnyPluginAdministration())) {

Re: Code - Fragen

Posted: Tue Nov 28, 2017 4:32 pm
by lck
frase wrote:Verstehe ich das richtig?
Du möchtest immer adminedit.css aktiv haben, solange du im Admin-Modus bist?
Ja, ausser halt in der Vorschau und das ist halt nicht einfach so zu lösen, indem man $normal hinzufügt. Genau das möchte ich ja nicht!

Re: Code - Fragen

Posted: Tue Nov 28, 2017 4:37 pm
by frase
if (XH_ADM && ($edit || $xhpages || $settings || $action || $validate || $xh_backups || $xh_pagedata || $xh_change_password || $sysinfo || $xh_plugins || wantsAnyPluginAdministration()) && !($xh_pagedata && $normal)) {

Besser?

Re: Code - Fragen

Posted: Tue Nov 28, 2017 4:41 pm
by cmb
lck wrote:Eben, Änderungen wird es immer wieder geben (hoffe ich auch) und die Nachbesserung wäre ja dann, in meinem Code, wirklich minimal.
Ja, wäre minimal. Aber zumindest mich nerven solche kleine Nachbesserungen, vor allem wenn sie an mehreren Stellen durchgeführt werden müssen. Die Plugin-Administrationsinkompatibilität habe ich schon gefühlte 231 mal gefixt, und es gibt immer noch Plugins, bei denen das noch aussteht …
lck wrote:
frase wrote:Verstehe ich das richtig?
Du möchtest immer adminedit.css aktiv haben, solange du im Admin-Modus bist?
Ja, ausser halt in der Vorschau und das ist halt nicht einfach so zu lösen, indem man $normal hinzufügt. Genau das möchte ich ja nicht!
Im Template könntest du prüfen, ob $s >= 0 ist; falls ja, dann ist eine reguläre Seite gewählt. Bzw. halt umgekehrt, ob $s < 0 ist; dann handelt es sich um eine spezielle Seite.

Re: Code - Fragen

Posted: Tue Nov 28, 2017 4:42 pm
by lck
Also, meine Vorstellung wäre so:

Code: Select all

if (XH_ADM && ($edit || $normal || "ausser Vorschau")) {
    echo '<link rel="stylesheet" type="text/css" href="'.$pth['folder']['template'].'adminedit.css">'."\n";
} 
Nachtrag, nicht ganz richtig, eigentlich so (global und nicht in der Vorschau) :

Code: Select all

if (XH_ADM && ("ausser Vorschau")) {
    echo '<link rel="stylesheet" type="text/css" href="'.$pth['folder']['template'].'adminedit.css">'."\n";
} 

Re: Code - Fragen

Posted: Tue Nov 28, 2017 5:04 pm
by frase
Mit meinem 2. Code sieht es bei mir so aus:
Überall das Admin-Template - außer bei Vorschau.

http://fhs.bplaced.net/down/code-2-lck.mp4