WBCE CMS – Way Better Content Editing.
You are not logged in.
Manchmal will man dem Kunden Änderungen am Template zeigen ohne dafür gleich eine Sandbox aufzusetzen. Oder ohne das Template über das Backend zu ändern, weil die Seite im Betrieb ist und man nicht will, dass Besucher das neue Template sehen, während man es mit dem Kunden bespricht (weil es noch nicht komplett ist oder weil es völlig anders sein will und "work-in-progress").
Aber man muss es sich anschauen und besprechen.
Dafür habe ich mir ein kleines Hack ausgedacht (weil ich es auch selbst grade gebraucht habe).
Folgendes in der framework/initialize.php
etwa nach dem Code bezüglich // get user language bei ca. Zeile 138
hinzufügen:
// simple template switcher
if (defined('TEMPLATE_SWITCHER') && TEMPLATE_SWITCHER == true) {
if (isset($_GET['reset_template'])) {
unset($_SESSION['wb_preview_tpl']);
}
if (isset($_SESSION['wb_preview_tpl']) && !file_exists(WB_PATH.'/templates/'.$_SESSION['wb_preview_tpl'].'/info.php')) {
unset($_SESSION['wb_preview_tpl']);
}
if (isset($_GET['template'])) {
$core_preview_template = preg_replace("/(\.\.\/)/","", $_GET['template']);
if (isset($_GET['template']) && is_string($core_preview_template) && file_exists(WB_PATH.'/templates/'.$core_preview_template.'/info.php')){
$_SESSION['wb_preview_tpl'] = $core_preview_template;
define('TEMPLATE', $_SESSION['wb_preview_tpl']);
}
} elseif (isset($_SESSION['wb_preview_tpl'])) {
if (is_string($_SESSION['wb_preview_tpl']) && file_exists(WB_PATH.'/templates/'.$_SESSION['wb_preview_tpl'].'/info.php')) {
define('TEMPLATE', $_SESSION['wb_preview_tpl']);
}
}
}
Das war's dann auch schon von Seiten der "Programmierung".
Als erster in der config.php folgendes ergänzen:
define('TEMPLATE_SWITCHER', true);
Dann im Frontend der Seite füge in der Browserzeile hinter der gegenwärtigen Seitenadresse
deine-seite.php?template=wbce
Ersetze "wbce" mit dem Ordnernamen des Templates das Du zur Vorschau verwenden willst.
Nun kannst Du alle Seiten mit diesem Template betrachten ohne im Backend irgendwelche Einstellungen vorgenommen zu haben.
Wenn Du jetzt wieder zum ursprünglichen Default-Template zurückkehren willst, musst Du in der Browserzeile einmal
deine-seite.php?reset_template
eingeben.
Das war's dann.
Deinem Kunden, falls ihr über's Telefon/Skype oder sonst wie remote arbeitest, schickst Du am besten Links mit den angehängten ?template=your_template und ?reset_template.
Frohes Backen.
Chris
P.S. Ja, man könnte das auch noch mit einem Passwort oder so ergänzen, mit einem "custom secret string", wenn man will.
Dann einfach einen zusätzlichen GET parameter angeben.
Ich denke allerdings nicht, dass es not tut, da die Änderungen nur lokal, im eigenen Browser stattfinden.
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
thanks, jean
Cool, danke. Ich habs mal in die Neue-Snippets-Rubrik verschoben, da passt es besser hin.
Update:
Das Schnipsel ist auch mit WBCE 1.3.3 verwendbar, muss allerdings an anderer Position als oben angegeben in der initialize.php ergänzt werden, d.h. nach Zeile 412 bzw. dem Code
// Get users time format
if (isset($_SESSION['TIME_FORMAT'])) {
define('TIME_FORMAT', $_SESSION['TIME_FORMAT']);
} else {
define('TIME_FORMAT', DEFAULT_TIME_FORMAT);
}
Last edited by florian (29.12.2018 12:52:42)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
stefanek, thanks
Cool.
Ich wußte tatsächlich nicht, wo ich es am besten platzieren sollte.
Chris
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Was passiert, wenn das z.B. zwei oder drei Anwender gleichzeitig mit diversen Templates machen?
Stören die sich?
MfG. Evaki
Nein.
Kein Problem.
Die verwenden ja unterschiedliche Browser.
Versuch es selber mal in 2, 3, 4 unterschiedlichen Browsern parallel zu einander. Mit unterschiedlichen Templates.
Vergiss einfach nicht, nach der Show das Template zurückzusetzen mit ?reset_template am Ende der URL.
Chris
Last edited by stefanek (06.08.2016 16:21:48)
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Hübsches Gimmick
Was muss man machen, damit die installierten Templates automatisch in die Auswahl geladen werden?
Derzeit sieht es bei mir so aus:
[== HTML ==]
<form><select onchange="location.href=this.options[this.selectedIndex].value"><option value="https://meineseite.de/pages/aktivitaeten.php?reset_template">Stylauswahl</option><option value="https://meineseite.de/pages/aktivitaeten.php?reset_template">Standard</option><option value="https://meineseite.de/pages/aktivitaeten.php?template=outoftheblue">outoftheblue</option><option value="https://meineseite.de/pages/aktivitaeten.php?template=lesefaken">lesefaken</option><option value="https://meineseite.de/pages/aktivitaeten.php?template=wbce_hortal">wbce_hortal</option><option value="https://meineseite.de/pages/aktivitaeten.php?template=wbce_vertal">wbce_vertal</option><option value="https://meineseite.de/pages/aktivitaeten.php?template=simple_responsive">simple_responsive</option><option value="https://meineseite.de/pages/aktivitaeten.php?template=html5up_editorial">html5up_editorial</option><option value="https://meineseite.de/pages/aktivitaeten.php?template=buschwerk">buschwerk</option><option value="https://meineseite.de/pages/aktivitaeten.php?template=adventurestrap-light">adventurestrap-light</option></select></form>
Last edited by Slugger (23.05.2019 08:18:45)
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Online
im Anhang das Templateswitcher-Droplet von templates.wbce.org, das genau das macht.
Über Admintools > Droplets > Import importieren und ggf. Styling anpassen, dann im Template mit [[tsw]] aufrufen.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Hallo florian,
habe das Droplet installiert.
Die Auswahl ist drin, jedoch nach der Auswahl eines Templates macht er nur ein Refresh und die Seite ändert sich nicht bzw. das Template wird nicht geladen..
Last edited by Slugger (23.05.2019 17:01:03)
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Online
Ändere mal in Zeile 21
switch_template
in
template
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Hallo,
passt jetzt
Noch eine Frage, welcher CSS-Code wird benötigt damit die Auswahl und das Fenster nicht "weg wandert"?
Last edited by Slugger (23.05.2019 21:14:30)
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Online
?
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Ach, ich glaube, ich verstehe, was Du meinst. Anbei ein abgewandeltes Droplet, da ist der Switcher nicht frei positionierbar, sondern erscheint dann da, wo er auf der Seite bzw. im Template aufgerufen wird.
Aufruf [[tswfix]]
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Beide Varianten finde ich gut
Aber was ich meinte war, wenn man an größeren Mediengeräten die Webseite betrachtet und das Selektionsfenster zur Auswahl öfnnet, dann verschiebt sich dieser nach rechts. (Siehe Bild)
Bei kleineren Mediengeräten fällt das nicht auf bzw. kommt nicht zu Wirkung.
Last edited by Slugger (25.05.2019 12:08:53)
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Online
Passiert das nur bei dem frei schwebenden oder auch beim fest eingebauten Switcher?
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Das passiert nur bei den frei schwebenden nicht bei dem fest eingebauten.
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Online
Ist der Aufruf des Droplets bzw. der daraus resultierende HTML-Code innerhalb von <body>...</body>?
Ich hatte auf templates.wbce.org auch dieses Darstellungsproblem, eben weil der Code ganz am Ende, also noch hinter </html>, gelandet war. Das habe ich auf der Seite dann dadurch gelöst, dass der Templateswitcher kein Droplet, sondern ein Outputfilter ist.
Outputfilter stehen allerdings erst in der kommenden WBCE-Version 1.4 zur Verfügung.
Insofern bleibt Dir wahrscheinlich erstmal nichts anderes übrig, als den fest positionierten Switcher zu verwenden.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Alles klar,
ich lasse mal beide als Erinnerung drin.
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Online
beide gleichzeitig würde ich auf keinen Fall verwenden. Das kann eigentlich nicht funktionieren.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Stimmt habe ich gerade eben getestet.
Wenn beide gleichzeitig aktiv sind, wirkt sich das auch auf den fest eingebauten aus.
Jetzt läuft nur noch der Fix.
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Online
... Das habe ich auf der Seite dann dadurch gelöst, dass der Templateswitcher kein Droplet, sondern ein Outputfilter ist.
Outputfilter stehen allerdings erst in der kommenden WBCE-Version 1.4 zur Verfügung.
Wird dann in dieser Version auch die Möglichkeit bestehen, das man installierte Templates "verstecken" kann wenn man nicht möchte, dass man sie benutzt?
Last edited by Slugger (25.05.2019 17:32:34)
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Online
Das kannst Du auch so:
Ändere Zeile
if ($n!=TEMPLATE) {
zu
if ($d!='bluespace' && $d!='darkspace') {
bluespace und darkspace hier als Beispiele für das Verzeichnis der zu versteckenden Templates, weitere analog ergänzen, also && $d!='verzeichnis1' && $d!='verzeichnis2' usw.; ich gehe mal davon aus, dass Du nicht -zig Templates ausblenden willst (wenn das der Fall wäre, müsste man das anders machen).
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Grade wenn's mal bischen mehr wird bastle ich so Sachen immer gerne mit in_array:
$aDontDisplay = ['template1', 'template2', 'template3','undsoweiter'];
if (!in_array($d, $aDontDisplay)) {
Finde ich dann leichter lesbar als eine ellenlange !=&& Orgie
... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...
Offline
florian
Das kannst Du auch so:
Ändere Zeileif ($n!=TEMPLATE) {
zu
if ($d!='bluespace' && $d!='darkspace') {
bluespace und darkspace hier als Beispiele für das Verzeichnis der zu versteckenden Templates, weitere analog ergänzen, also && $d!='verzeichnis1' && $d!='verzeichnis2' usw.; ich gehe mal davon aus, dass Du nicht -zig Templates ausblenden willst (wenn das der Fall wäre, müsste man das anders machen).
Ich sage es mal so ... Ich bin kein Programmierer und Designer im professionellen und Semi Bereich, aber beide könnten davon profitieren und ihren Clienten ein "leckerli" als easy going für Ihre Entscheidung zugeben.
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Online
Anbei der Templateswitcher als Snippet.
D.h. Dropletaufruf raus, Snippet über Erweiterungen > Module installieren, fertig.
(o.g. Core-Patch ist aber trotzdem erforderlich)
Ach so, wenn Templates nicht zur Auswahl stehlen sollen, deren Verzeichnisnamen in Zeile 12 in der include.php eintragen.
Noch eine Anmerkung: Der Switcher setzt voraus, dass a) jquery vom Template geladen wird und b) keine JavaScript-Fehler die Ausführung von Scripten verhindern. Sonst funktioniert er nicht bzw. wird nicht angezeigt.
Last edited by florian (26.05.2019 10:49:50)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Super, das schaut gut aus, vielen Dank für die Umsetzung
...
(o.g. Core-Patch ist aber trotzdem erforderlich)
...
Was ist damit gemeint, der TSWFIX als Droplet installiert lassen oder
[== PHP ==]
[== patch in framework/initialize.php ==]
den Code?
Welche Einstellung muss vorgenommen werden, damit der tsw eingeklappt ist, damit man ihn per click öffnet?
Last edited by Slugger (26.05.2019 13:16:47)
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Online