Page 1 of 1

Themeswitcher nur im Adminmodus

Posted: Tue Feb 20, 2018 10:21 am
by Tata
Ich habe themeswitcher nur im Adminmodus aufgerufen

Code: Select all

<?php if(XH_ADM){echo themeswitcher();}else{echo '';}?>
Es macht, was erwartet. Nur speichert es die Templateänderung nicht und nach dem Ausloggen wird die Webseite mit dem Konfigurierten Template geöffnet. Das scheint mir ganz logisch zu sein. Geht es aber nicht auch die Veränderung vom Adminmodus gespeichert zu haben?
Ich möchte nicht, dass die Besucher die Templates wechseln, sondern nur ich - Admin - besonders im Fall, dass ich erst testen möchte, welches Template das richtige ist, oder nach bedarf das Template ändern (Jahreszeit, Fest, besondere Datums usw.)

Re: Themeswitcher nur im Adminmodus

Posted: Tue Feb 20, 2018 10:54 am
by cmb
Tata wrote:
Tue Feb 20, 2018 10:21 am
Ich habe themeswitcher nur im Adminmodus aufgerufen

Code: Select all

<?php if(XH_ADM){echo themeswitcher();}else{echo '';}?>
Es macht, was erwartet. Nur speichert es die Templateänderung nicht und nach dem Ausloggen wird die Webseite mit dem Konfigurierten Template geöffnet. Das scheint mir ganz logisch zu sein. Geht es aber nicht auch die Veränderung vom Adminmodus gespeichert zu haben?
Das einfachste dürfte sein, wenn du die Funktion immer aufrufst, aber deren Rückgabe nur ausgibst, wenn man Admin ist. Also etwa:

Code: Select all

<?php
$themeswitcher_result = themeswitcher();
if (XH_ADM) echo $themeswitcher_result;
?>

Re: Themeswitcher nur im Adminmodus

Posted: Tue Feb 20, 2018 11:34 am
by Tata
Super. Das ist das.

Re: Themeswitcher nur im Adminmodus

Posted: Tue Feb 20, 2018 4:36 pm
by Tata
Sollte es nicht etwa so aussehen?

Code: Select all

  <?php $themeswitcher_result = themeswitcher(); 
    if (XH_ADM) echo $themeswitcher_result;
    $cf['site']['template'] = $themeswitcher_result;
  ?>
So, wie es ich verstehe, wird im config.php nichts geändert und der Auswahl des Templates bleibt g[ltig nur bis der Admin nicht ausloggt, oder? Nachdem ich Cache lösche (als ob new User die Webseite geöffnet hat), kommt die wieder mit dem vorgestellten Template. Wenigstens bei mir.

Re: Themeswitcher nur im Adminmodus

Posted: Tue Feb 20, 2018 5:05 pm
by cmb
Tata wrote:
Tue Feb 20, 2018 4:36 pm
So, wie es ich verstehe, wird im config.php nichts geändert und der Auswahl des Templates bleibt g[ltig nur bis der Admin nicht ausloggt, oder? Nachdem ich Cache lösche (als ob new User die Webseite geöffnet hat), kommt die wieder mit dem vorgestellten Template. Wenigstens bei mir.
Ja, so ist das gedacht. Andere Besucher bekommen von den Template-Änderungen also nichts mit, was vermutlich auch sinnvoll ist, solange der Admin noch ausprobiert, welches Template er denn verwenden will. Hat sich der Admin entschieden, dann müsste er eben das Standard-Template in der Konfiguration von Hand ändern.
Tata wrote:
Tue Feb 20, 2018 4:36 pm
Sollte es nicht etwa so aussehen?

Code: Select all

  <?php $themeswitcher_result = themeswitcher(); 
    if (XH_ADM) echo $themeswitcher_result;
    $cf['site']['template'] = $themeswitcher_result;
  ?>
Zusätzlich müsste noch config.php gespeichert werden. Aber ich würde von solchen programmatischen Änderungen der Konfiguration abraten. $cf ist als read-only dokumentiert, und wenn man das ignoriert, könnte es eben in einer zukünftigen CMSimple_XH Version zu Inkompatibilitäten kommen (vgl. $plugin_cf bei XH 1.7).

Re: Themeswitcher nur im Adminmodus

Posted: Tue Feb 20, 2018 5:09 pm
by Tata
Ja, nachdem ich den Post gesendet habe, bin ich auch dazu gekommen, dass die Idee Qutsch war.