Zum Inhalt springen

TemplaVoila mit CSS-Styleswitcher - Stylesheet wird nicht geladen

Erstellt am 4. Juni 2008 · 5 Antworten · letzte Antwort am 5. Juni 2008

Tags: Frage

phoenixk ·

Guten Tag liebe Leute!

Drei Tage und ich komm auf keinen grünen Zweig!

Folgende Situation:

Ich verwende TemplaVoila und habe mir eine Seite gebaut, die einen kleinen PHP-Styleswitcher enthält. Lade ich die Seite testweise auf einen anderen Server, ohne Typo3, funktionierts perfekt. siehe: http://www.wartberg.at/test

Wenn ich aufbauend auf meine page.php mit TemplaVoila das ganze im Typo3 umsetze funktioniert zwar das Einfügen des Inhalts perfekt, jedoch wird das stylesheet nicht geladen. siehe: http://www.prenninger.at/websites/www.wartberg.at/

Hoffe es kann mir hier jemand helfen. Hier die Codes:

meine page.php:

<?php include('fileadmin/templates/styleswitcher.php');?>

<html>
<head>
<meta http-equiv="Content-Language" content="de-at" /></meta>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<link rel="stylesheet" type="text/css" href="<?php echo $style?>.css" media="screen">
</head>
<body>
<div id="zentrieren">
<div id="Banner"></div>
<div id="Tools"></div>
<div id="Mainmenu"></div>
<div id="Path"></div>
<div id="Submenu"></div>
<div id="Content"></div>
<div id="Bottom"></div>
</div>
</body>
</html>

die verlinkte styleswitcher.php:

<?php
if(isset($_GET['style']))
{
setcookie("stylekeks", $_GET['style'], time()+3600, "/");
$style = $_GET['style'];
}
elseif(!isset($_GET['style']))
{
if(isset($_COOKIE['stylekeks']))
{
$style = $_COOKIE['stylekeks'];
}
else {
$style = 'standard';
}
}
?>

Vielen Dank schonmal.

daniz78 ·

Hi,

mit TemplaVoila arbeitest Du nur innerhalb des body-Tags. D.h. Dein include Befehl wird nicht ausgeführt.

PHP-Scripte kannst Du z.B. über PHP_SCRIPT integrieren.
--> TSREF 8.23

Gruß, Daniz

phoenixk ·

Ja aber scheitere ich dann nicht trotzdem noch an dem echo-Problem. Wie in der TSREF steht: "All content must be put into $content. No output must be echo'ed out!" Oder versteh ich das falsch?

Wie kann ich das umgehen? Kenn mich mit php leider nicht wirklich aus.

daniz78 ·

Hhhhhmmm....dann mach es besser mit JavaScript!

Es gibt auch schon eine Extension dafür, schau mal im Repository nach.

phoenixk ·

javascript fällt leider aus Gründen der Barrierefreiheit aus (mach ich nur zur Not, wenn ich keine andere Möglichkeit finde)

Die Extension hab ich auch schon probiert, mit der hab ichs leider auch nicht geschafft. Außerdem funzt die ja glaub ich auch nur mit Java.

Jetzt hab ich grad gesehen, dass in dem Forumseintrag wo ich den Code her habe ein Lösungsvorschlag drin ist.
#382856
Ich werd mein Glück mal damit versuchen.