Zum Inhalt springen

'Frontend' Template Selector

Erstellt am 18. Juli 2003 · Noch keine Antworten

Tags: Frage

malk ·

Hi.

Ich wollte folgendes Problem lösen:
User mit einer langsamen Verbindung sollten einen link bekommen 'Low Bandwidth?', und dahinter verbirgt sich ein Template mit ohne Bilder 😉

Da dachte ich mir, ich mache folgendes:

ROOT
-Standard
--Seite 1
--Seite 2
-Low Bandwith
--Seite 1
--Seite 2

Ich hoffe man kann erkennen was ich machen wollte. Ich wollte unter 'Low Bandwidth' ein neues Template erstellen, und die Unterseiten haben dann auf die Seiten im Hauptthread verwiesen.
Allerdings wurde dann nach dem Shortcut auch wieder das Template aus dem anderen Seitenbaum geladen.

Jetzt habe ich es anders gelöst (und es funktioniert auch). Ich würde nur gerne mal wissen, wie gut meine Lösung ist.

Ich habe jetzt nur ein Template, wo folgender Inhalt drinsteht:

[globalVar = GP:bw = low]
// Typoscriptcode für Low Bandwidt
// u.a.:
file = fileadmin/template/lowBandwidth_tmp.html

[else]
// Typoscriptcode für das normale Template

[end]
// Allgemeingültiger Typoscript Code
// z.B. (wichtig)
config.linkVars = L,bw

// Auswahlmenü
subaprts.bw = PHP_SCRIPT
subparts.bw {
  file = media/scripts/bandwidthMenu.php
}

In der Datei 'bandwidthMenu.php' habe ich mich an der Example Datei zur Sprachauswahl orientiert...

switch($GLOBALS["HTTP_GET_VARS"]["bw"]) {
    case "low":
    $content = '<a href="index.php?id='.$GLOBALS["TSFE"]->id;
    foreach($GLOBALS["HTTP_GET_VARS"] as $key=>$val){
        if($key != "bw" AND $key != "id"){
            $content .= "&".$key."=".$val;
        }
    }
    $content .= '">High bandwidth</a>';
    break;

    default:
    $content = '<a href="index.php?id='.$GLOBALS["TSFE"]->id;
    foreach($GLOBALS["HTTP_GET_VARS"] as $key=>$val){
        if($key != "bw" AND $key != "id"){
            $content .= "&".$key."=".$val;
        }
    }
    $content .= '&bw=low">Low bandwith?</a>';
    break;
}

Jedenfalls funktioniert die lösung. Mich würde nur mal interessieren, ob es eine andere Möglichkeit gibt, im Frontend zu wählen, mit welchem Template die Seite gerendert werden soll.