WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#26 26.05.2019 14:20:04

florian
Administrator

Re: Einfacher Template-Switcher

Anbei der standardmäßig eingeklappte Switcher.
Der Switcher benötigt die Modifikation an der framework/initialize.php.
Die zuvor bereitgestellten Droplets sind dafür nicht erforderlich.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#27 26.05.2019 16:40:06

Slugger
Member

Re: Einfacher Template-Switcher

Hat sich erledigt, cache geleert, sch... Chrome

Last edited by Slugger (26.05.2019 16:41:16)


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

#28 26.05.2019 16:45:58

florian
Administrator

Re: Einfacher Template-Switcher

Ja, der Chrome-Cache ist echt die Pest... lässt sich aber in den Entwickler-Tools deaktivieren. Und Neuladen der Seite mit Strg-R hilft (meistens) auch.
attachment.php?item=1739&download=1


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#29 04.08.2019 20:07:39

Slugger
Member

Re: Einfacher Template-Switcher

Ok,
habe gerade auf 1.4.0 upgedatet.

Der Templatewitcher funktioniert jetzt nicht mehr.

Ich habe aber irgendwo bei 1.4.0 gelesen, das nun einer dabei ist.
Wo finde ich den und was muss ich nun machen?


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

#30 04.08.2019 20:29:18

chap
Member

Re: Einfacher Template-Switcher

Ich selbst verwende den switcher nicht mehr...
weil wenn ich was an den seiten mache, dann kopiere ich mir das ganze auf eine subdomain. ändere die config.php ab und migriere die Datenbank. So hab ich ein komplettes NonLIve laufen und kann alles in ruhe machen. So muss ich nicht im Livesystem was machen.
Bei Besucher von Täglich bis zu 500 - 1.000 Tag kann ich mir das nicht leisten das im LiveSystem was schief geht. wink


Liebe Grüße,
cHAp

Offline

#31 05.08.2019 06:28:44

florian
Administrator

Re: Einfacher Template-Switcher

Ich habe aber irgendwo bei 1.4.0 gelesen, das nun einer dabei ist.

Nein

Wo finde ich den und was muss ich nun machen?

/framework/initialize.php, nach ca. Zeile 300

// TIMEZONE and DATE/TIME FORMAT constants
define('TIMEZONE',    isset($_SESSION['TIMEZONE'])    ? $_SESSION['TIMEZONE']    : DEFAULT_TIMEZONE);
define('DATE_FORMAT', isset($_SESSION['DATE_FORMAT']) ? $_SESSION['DATE_FORMAT'] : DEFAULT_DATE_FORMAT);
define('TIME_FORMAT', isset($_SESSION['TIME_FORMAT']) ? $_SESSION['TIME_FORMAT'] : DEFAULT_TIME_FORMAT);

einfü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']);
        }    
    }
	
}

Code allein macht nicht glücklich. Jetzt spenden!

Offline

#32 05.08.2019 12:16:05

Slugger
Member

Re: Einfacher Template-Switcher

Passt wieder  smile
Funktioniert, vielen Dank


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

#33 05.08.2019 12:19:02

Slugger
Member

Re: Einfacher Template-Switcher

florian wrote:

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.

Ahh, da ist es ja was ich gemeint hatte.

Kann man TSW zukünftig dort reinschieben, ihr habt ja auf Outputfilter einiges geändert, was ich so auf die schnelle gesehen habe?

Last edited by Slugger (05.08.2019 12:19:21)


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

#34 05.08.2019 12:48:54

stefanek
Developer

Re: Einfacher Template-Switcher

Um ehrlich zu sein, ein Template-Switcher war angedacht, dass er in die 1.4.0 mit reinkommt.
Ich habe es verpennt irgendwie. Es gab einfach so viel zu tun, dass es irgendwo untergegangen ist.  angel

Vielleicht schreibt das einer mal als Issue/Verbesserungsvorschlag auf GitHub rein, dann geht es nicht unter.

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#35 05.08.2019 13:55:36

florian
Administrator

Re: Einfacher Template-Switcher

https://github.com/WBCE/WBCE_CMS/issues/444
Wobei ja auch der OPF die Anpassung der framework/initialize.php erfordern würde, oder?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#36 05.08.2019 14:07:59

stefanek
Developer

Re: Einfacher Template-Switcher

Ich denke nicht. Schaue ich dann aber im Detail.
Ein OutputFilter greift dann eben auf die $_SESSION Variable zu, die gesetzt wurde, falls sie gesetzt wurde.

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#37 06.08.2019 12:32:56

Slugger
Member

Re: Einfacher Template-Switcher

stefanek wrote:

Um ehrlich zu sein, ein Template-Switcher war angedacht, dass er in die 1.4.0 mit reinkommt.
Ich habe es verpennt irgendwie. Es gab einfach so viel zu tun, dass es irgendwo untergegangen ist.  angel

Vielleicht schreibt das einer mal als Issue/Verbesserungsvorschlag auf GitHub rein, dann geht es nicht unter.

Gruß,
Christian

Mach ja nix, ich sehe das nicht theatralisch.

Man kann ja Mal in diesem Zuge das hinzufügen im OPF testen big_smile


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

#38 06.08.2019 12:51:24

stefanek
Developer

Re: Einfacher Template-Switcher

Slugger wrote:

Man kann ja Mal in diesem Zuge das hinzufügen im OPF testen big_smile

Was genau meinst Du damit?

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#39 06.08.2019 13:41:28

Slugger
Member

Re: Einfacher Template-Switcher

Bei Admin Tools ist ja der OPF.
Wenn man weiter unten bei den Grundeinstellungen auf erweitert klickt, hat man eine Möglichkeit weitere Filter zu erstellen.
Oder bin ich jetzt auf dem falschen Dampfer?


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

#40 06.08.2019 14:14:11

stefanek
Developer

Re: Einfacher Template-Switcher

Das ist richtig,
aber was meinst Du mit "hinzufügen testen"?

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#41 06.08.2019 17:12:30

Slugger
Member

Re: Einfacher Template-Switcher

Ihr seid ja bestimmt bereits einige Schritte voraus.

Mich würde es helfen wir diese Schnittstelle funktioniert und wie man damit umgeht.

Daher meinte ich testen im Sinne Code vom tsw anpassen und sehen ob es funktioniert.


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

#42 19.08.2019 23:14:49

mrbaseman
Developer

Re: Einfacher Template-Switcher

stefanek wrote:

Ich denke nicht. Schaue ich dann aber im Detail.
Ein OutputFilter greift dann eben auf die $_SESSION Variable zu, die gesetzt wurde, falls sie gesetzt wurde.

meiner Meinung nach ist es beim OutptuFilter viel zu spät, denn die Konstanten müssen zu Beginn definiert werden, noch bevor das Template geladen wird.
Man könnte vielleicht einen Modul-Filter einsetzen, der aber auf alle Module wirkt und mit dem Modul-Output gar nichts macht sondern beim ersten Aufruf lediglich das Template wechselt. Aber auch das ist vielleicht zu spät, denn eine einmal definierte Konstante kann man nicht so einfach umbiegen.

Was man vielleicht machen kann: ein spezielles Template bereitstellen, das seinerseits (wenn überhaupt) lediglich Platzhalter bereitstellt - und mit einem OutputFillter versucht man den generierten Body und Header in eine Dummy-Seite mit dem jeweils ausgewählten Template rein zu schießen...

das ist aber glaub ich auch keine so gute Idee. Für diese Aufgabe bräuchte man analog zu den Output-Filtern, die ziemlich am Ende kommen, einen vorgelagerten Hook, der noch vor dem Template greift. Wenn es da eine Funktion gäbe, z.B. ein Aufruf auf ein Snippet aus dem Framework heraus, in das man den ganzen Template-Switching Mechanismus packen könnte, dann wäre das eine runde Sache.

Offline

#43 19.08.2019 23:30:55

stefanek
Developer

Re: Einfacher Template-Switcher

Ich denke persönlich, das einfachste ist, die Session da zu setzen wie im bisherigen Patch und einen Filter (OpF) für die Generierung des Switches. Konstante brauchen wir nicht. Wir können auch in den Filtern auf eine Session Variable zugreifen.


Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#44 20.08.2019 00:09:29

mrbaseman
Developer

Re: Einfacher Template-Switcher

Ok, kann man machen, aber dann muss man zumindest die Frontend-Klasse anfassen, denn die fragt die Konstante TEMPLATE ab und bindet die entsprechende index.php des jeweiligen Templates ein.

Meine Überlegungen haben darauf abgezielt, wie man ohne Core-Änderungen einen Template-Switcher mittels Output-Filter realisieren könnte. Aber da ändet man lieber die Frontend-Klasse z.B. indem man den bisherigen Patch für den Template-Swicher einfach anwendet.

Offline

#45 20.08.2019 11:05:32

stefanek
Developer

Re: Einfacher Template-Switcher

Hier in dem zweiten Code-Block
https://forum.wbce.org/viewtopic.php?pid=26415#p26415

da wird die Konstante gesetzt.
Ich glaube in die Frontend Klasse musst Du nicht rein.

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#46 08.11.2020 13:19:37

Slugger
Member

Re: Einfacher Template-Switcher

Wie sieht der Code aus wenn man einige Templates nicht anzeigen möchte?

[== PHP ==]
// simple template switcher
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']) || isset($_SESSION['wb_preview_tpl'])){
	if(isset($_GET['template']) && is_string($_GET['template']) && file_exists(WB_PATH.'/templates/'.$_GET['template'].'/info.php')){
		$_SESSION['wb_preview_tpl'] = $_GET['template'];
	}
	define('TEMPLATE', $_SESSION['wb_preview_tpl']);
}

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

#47 09.11.2020 08:07:38

florian
Administrator

Re: Einfacher Template-Switcher

Meiner Meinung nach wurde die Frage weiter oben schon beantwortet, siehe Antworten 21-24
https://forum.wbce.org/viewtopic.php?pid=24309#p24309


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#48 09.11.2020 15:12:57

Slugger
Member

Re: Einfacher Template-Switcher

Sorry,
ich hatte eine lange Umleitung nach Rom und wieder Zurück.

Hab's gefunden, musste ja im Modul vom tswsnippet ändern.  big_smile


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

#49 07.07.2021 15:57:17

Slugger
Member

Re: Einfacher Template-Switcher

Hat jemand eine Idee warum bei mir unter PHP8 der Switcher nicht funktioniert.

Habe gesehen das der Quellcode WBCE 1.5.0 in der /framework/initialize.php drin ist, jedoch schaltet er nicht um wenn ich ein anderes Template auswähle.

Oder habe ich wieder eine Kleinigkeit vergessen mad

hier zur Seite: https://rufeddersheim.de


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

#50 07.07.2021 15:59:50

florian
Administrator

Re: Einfacher Template-Switcher

Ab WBCE 1.5 muss der Templateswitcher ausdrücklich aktiviert werden, und zwar mittels Eintrag in der config.php

define('TEMPLATE_SWITCHER', true); 

Code allein macht nicht glücklich. Jetzt spenden!

Offline

Board footer

up