WebsiteBaker Support (2.12.x) > Hilfe & Support (deutsch)
Templatewechsel im FE
evaki:
Bräuchte ein paar Zeilen im FE, um einen Templatewechsel im FE herbeizuführen.
Hierbei ist es "egal", ob nun nur temporär oder bleibend umgeschaltet wird.
Die Leute sollen die Inhalte halt nur im unterschiedlichen Design angucken können.
Bei Aufruf eines nicht vorhandenen Templates soll halt nix passieren.
Es reicht ein Ansatz, den ich evtl. selber fortführen kann.
MfG. Evaki
jacobi22:
geht eigentlich nur über die index.php im Root, dort ein POST oder GET abfangen, prüfen, ob Template-Ordner und info.php existieren, wenn du auf Nummer sicher gehen willst, den Template-Namen auslesen und dann in der config.php die Konstante TEMPLATE setzen.
Will man nur eine Seite zeigen, würde es reichen, diese zu klonen und in den Einstellungen der Seite ein anderes Template zuzuweisen. Das erspart die Coderei, allerdings hat man nur eine Seite
auch schon gesehen, aber zu umständlich: unterschiedliche WB-Installationen mit unterschiedlichen Templates
Luisehahne:
weiss jetzt nicht, ob ich das richtig verstanden habe, Ein weiteres Template für eine bestimmte Seite oder Seiten lässt sich unter Seiten-Optionen einstellen.
Dietmar
evaki:
Nee :-D
es geht tatsächlich nur um die Betrachtung des identischen Inhalts unter unterschiedlichen Layouts.
Nach dem Moddo: Wat willste haben, dat schöne Template oder dat, oder dat. also klick, klick, klick.
Hab' mal im Archiv gesucht, bin fündig geworden und habe es unter 2.12 ausprobiert.
(Ist einfach dringend für diese Woche)
root: index.php
zwischen $wb->page_select() or die(); und $wb->get_page_details(); sieht's dann so aus:
--- Code: ---// Stop processing if intro page was shown
$wb->page_select() or die();
// Collect info about the currently viewed page
// and check permissions
// Sticky Template switcher
if ($_GET['template']!="") { // get the template to display from URL
if(file_exists(WB_PATH.'/templates/'.$_GET['template'].'/index.php')) {
define('TEMPLATE',$_GET['template']);
$_SESSION['TEMPLATE']=TEMPLATE;
}
} else { // else get the template to display from Session Variable
if(isset($_SESSION['TEMPLATE']) AND $_SESSION['TEMPLATE'] != '')
define('TEMPLATE',$_SESSION['TEMPLATE']);
}
// Collect info about the currently viewed page
// and check permissions
$wb->get_page_details();
--- End code ---
In die zur Ansicht gewünschten Templates -eben nur in die- dann z.B. direkt hinter body das 'form' eintragen:
</head>
<body>
--- Code: --- <form name="myform" method="get" action="">
<select name="template" onchange="javascript: document.myform.submit();">
<option value="">Templateauswahl</option>
<option value="round">The nice Round template</option>
<option value="allcss">Only using CSS</option>
</select>
</form>
--- End code ---
Das klappt ganz prima, insbesondere mit der Session.
MfG. Evaki
p.s. Vielleicht wäre das ja mal was für'n festen Einbau, denn für Präsentationszwecke wird sowas andauernd gebraucht. Vielleicht so wie der Wartungsmodus: An/Aus
johnbroeckaert:
Der lösing von @ruud ist vielleicht auch eine moglichkeit:
https://wbhelp.org/tips-and-tricks/2017/testing-your-new-template-on-a-live-website/
Navigation
[0] Message Index
[#] Next page
Go to full version