Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 28. Oktober 2014 16:47
- rage_all
- kennt CMS/ms

- Ort: Augsburg
- Registriert: 09. März 2011
- Beiträge: 288
Admin sieht ein anderes Frontend
Hallo zusammen,
der Titel ist sicher verwirrend, aber mir fiel nichts besseres ein...
Immer wieder stand ich vor dem Problem eines Relaunch und hab hin- und her überlegt, wie ich das am Besten umsetzen kann. Meistens waren die Systeme ohnehin schon einige Monate, wenn nicht gar Jahre alt - oder gar nicht CMSMS, sondern was anderes - so hab ich guten Gewissens auf ww2.example.de neu installiert und einfach alles frisch aufgesetzt.
Wenn alles fertig und fehlerfrei — switch auf dem Server von ww2 auf www, ggf. noch die config anpassen und fertig.
Nun habe ich eine wirklich junge Installation eines Kollegen vor mir, die ich lediglich updaten soll.
Der Kunde fummelt dual auch noch im Content umher, so dass ich nie sicher sagen könnte, ob mein neues Template gerade online ist oder nicht, oder ob er gerade mit Inhaltsupdates was zerschießt (ein etwas älterer Kunde, das...).
Deswegen würde ich gerne, am liebsten via Cookie oder URL-get das andere Template nur Einzel-Fallweise anfordern um die Fehler auszumerzen.
Quasi in der Form von: example.de/normale-seite.html?template=new
War das schon je ein Thema? Hätte das je ein Mensch gewollt?
Ich denke halt, dass ich so alle Seiten komplett auf Fehler durchtesten kann und dann erst allen Seiten das neue Template zuweisen kann - ohne großes Risiko oder Differenzen beim Ausgabe-Code.
Offline
#2 28. Oktober 2014 22:50
- nockenfell
- Moderator

- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.935
- Webseite
Re: Admin sieht ein anderes Frontend
Du könntest dies mit Includes lösen:
{content assign="inhalt"}
{title assign="titel"}
<html>
<head>
{....}
{/head>
<body>
{if $smarty.get.newTemplate}
{include file="/pfad/zur/template/datei.html"}
{else}
{include file="/pfad/zum/normalen/template.html"}
{/if}
</body>
</html>In den jeweiligen Templates kannst du die Smarty-Variablen {$inhalt} und {$titel} für den Inhalt nutzen.
Das ganze ist ungetestet und ein Proof-of-Concept. Ich habe den Include-Befehl jedoch auch schon für Wartungsmeldungen genutzt. Deshalb müsste es so funktionieren.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#3 29. Oktober 2014 09:30
- rage_all
- kennt CMS/ms

- Ort: Augsburg
- Registriert: 09. März 2011
- Beiträge: 288
Re: Admin sieht ein anderes Frontend
Huh.
Ich glaub, ich bastel das besser mal auf meinem Test-System bevor ich das auf der Live-Seite ausprobiere...
Aber jetzt mal ganz, ganz anders gedacht (die Idee kommt mir gerade jetzt eben):
Wenn ich ein neues Template anlege und allen Seiten zuweise,
in diesem Template (jetzt nur mal ganz rudimentär) schreibe:
[== Smarty / Template ==]
{if $admin.login == true}
{NeuesTemplate}
{else}
{AltesTemplate}
{/if}Müsste das doch technisch gehen ... vielleicht?
Dafür müsste ich nur die Variablen kennen für den eingeloggten Admin, oder eine extra zufügen, wie GET-Parameter oder so.
Weil, es geht ja nicht alleine nur um die HTML-Struktur, sondern auch um das CSS.
Der Kollege hat eines der älteren Standard-Templates variiert, allerdings (in meinen Augen) nicht zum Guten. Jedes einzelne div innerhalb hat eine Pixel-genaue Breitenangabe, zum Teil kommen Hintergrundfarben irgendwoher, und ich kann sie im CSS nirgendwo finden und im Firebug weder in dem Element noch in einem der Elternelemente finden, etc.
Deswegen würde ich das Layout eben so belassen, damit der Kunde happy ist, aber das komplette Ding W3C-Konform stricken. Nur allein mit Firebug kann ich zwar ja einiges vorab anschauen, aber nicht mit anderen Browsern querprüfen. Momentan sieht die Seite mit jedem Agent ein wenig anders aus.
Offline
#4 29. Oktober 2014 09:55
- NaN
- Moderator

- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Admin sieht ein anderes Frontend
Den login-Status des Backendusers kannst Du im Template so abfragen:
{if get_userid(false)}
logged in
{else}
not logged in
{/if}Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
Seiten: 1