[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Verschiedene Frontend-Templates
Seite 1 von 1

Verschiedene Frontend-Templates

Verfasst: 6. Dez 2012, 13:29
von snaper123
Hallo Ihr!

Ich möchte zu einer bestehenden Seite ein alternatives Frontend anbieten. Sprich, ich möchte, z.B. wenn im URL der Parameter templateid=1 ist, ein anderes redaxo-Template ausgeben, als bei templateid=2.
Der Hintergrund ist eine ganz andere Ansicht, aber die selben Webseiten-Daten / Struktur und allein über css wird es nicht funktionieren. Ich könnte doch ein "MASTER" Template anlegen, was z.B. nur so aussieht:

<?
$rex_request("xid","int");

if($templateid == "1"){
Rufe Templatex auf (REX_TEMPLATE[2])
}else{
Rufe Templatey auf (REX_TEMPLATE[1])
}
?>

Aber wie kann ich umsetzen, das dann tatsächlich diese Seite mit dem 2. Template ausgeliefert wird. Oder gehe ich das ganz falsch an. Wie gesagt, per CSS ist es wirklich nicht möglich, sonst wäre es ja kein Problem, aber das ist hier nicht möglich.

Danke schon mal

Gruß

Re: Verschiedene Frontend-Templates

Verfasst: 6. Dez 2012, 14:37
von Thomas.Blum
Hej,

Code: Alles auswählen

<?php
$template_ids = (1,2);
$template_id = rex_request('template_id', 'int', 1);

if (!in_array($template_id, $template_ids))
  $template_id = 1;

$template = new rex_template($template_id);
echo $template->getTemplate();

?>
vg Thomas

Re: Verschiedene Frontend-Templates

Verfasst: 6. Dez 2012, 16:46
von snaper123
Hmm, vielleicht bring ich da etwas durcheinander.

Ich habe ein Template mit der ID 10 angelegt und dem Artikel 100 zugeweisen. In dem Template steht:

<?php
$this->setTemplateId(1);
echo $this->getArticle();
?>

Damit müsste ich doch bei Aufruf des Artikels den Artikel ausgegeben bekommen mit dem Template 1, oder bring ich da was durcheinander

Re: Verschiedene Frontend-Templates

Verfasst: 6. Dez 2012, 16:54
von Thomas.Blum
Du bringst etwas durcheinander. Jetzt willst du den Artikel direkt ein anderes Template zuweisen.

Ich hatte deinen ersten Post so verstanden, dass du über einen Url-Parameter ein anderes Template laden willst.

Der obige Code sollte in ein Mastertemplate, welches alle Artikel zugewiesen bekommen.

Wenn man nun auf einen Link via "domain.de?template_id=2" klickt, dann wird nicht Template 1 sondern Template 2 geladen.

Wenn es das nicht ist, bitte eine genauere Beschreibung.

vg Thomas

Re: Verschiedene Frontend-Templates

Verfasst: 6. Dez 2012, 17:06
von snaper123
Hallo nochmal,

Du hast mich schon korrekt verstanden! Das Problem nur von Deiner Lösung war, das PHP Code nicht ausgeführt wurde. Hab ein wenig probiert, wenn ich anstatt

Code: Alles auswählen

echo $template->getTemplate();
folgendes mache:

Code: Alles auswählen

include $template->getFile();
funktioniert es nun.

Das bedeutet jedoch für mich, das ich quasi 3 Template anlegen muss: Master-Weichentemplate (z.B. um Mobiles DEvice / Desktopdevice zu filtern), welches dann eins der anderen 2 TEmplates ausgibt. Das funktioniert ja nach obrigen Beispiel. Aber ist das sonderlich elegant? Ich muss dann ja für jedes Seitentemplate ein Weichentemplate anlegen. Macht Ihr das dann bei solchen Aufgabenstellungen (also eine reine CSS Weiche reicht nicht) auch so?

Danke schon mal für die ausführliche, kompetente Hilfe!

Re: Verschiedene Frontend-Templates

Verfasst: 6. Dez 2012, 17:23
von Thomas.Blum
snaper123 hat geschrieben: für jedes Seitentemplate
Wieviele hast du denn? Meist hat man doch nur 1 Standardtemplate in dem man nach Kriterien entsprechend reagiert.

vg Thomas

Re: Verschiedene Frontend-Templates

Verfasst: 6. Dez 2012, 18:45
von snaper123
Hi!

Da hier teilweise mit AJAX gearbeitet wurde habe ich schon ein paar verschiedene. Aber mit etwas Arbeit ist die Lösung schon in Ordnung.

Vielen dank