PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : problem mit smarty und Stylesheets


dirter
11.09.2005, 21:47:53
Hallo,

ich habe mal angefangen ein bisschen mit smarty zu arbeiten und stoße direkt auf folgendes problem:
ich habe eine datei newstyle.css die im verzeichnis /stufenhp/newstyle.css liegt und einen ordner templates der liegt in /stufenhp/templates. In dem Ordner templates habe ich eine datei checkregister.tpl (/stufenhp/templates/checkregister.tpl).
So, wenn diese Datei aufgerufen wird, werden die stylesheet angeben nicht beachtet, irgendwas läuft falsch.

newstyle.css:

/* CSS Document */

#title {
height:34px;
padding:5px;
border-bottom:1px solid #000000;
margin-bottom:20px;
}

#left, #right {
width:14%;
line-height:18px;
}
#left {
float:left;
}
#right {
float:right;
}

#content {
float:left;
width:66%;
background-color
margin-left:3%;
}

body
{
font-family:Verdana;
font-size:12px;
background-color:#ffefde;
}

und checkregister.tpl:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../newstyle.css">

</head>

<body>
<div id="title">
testbanner
</div>
<div id="left">
linkes menu
</div>
<div id="right">
rechtes menu
</div>
<div id="content">
<center><h3>Datenüberprüfung</h3></center>
<table border='1'>
<tr><td>Nickname</td><td>{$uname}</td></tr>
<tr><td>Passwort</td><td>{$upassword}</td></tr>
<tr><td>Email</td><td>{$uemail}</td></tr>
<form method="post" action="../stufenhp/action.php?action=register_db_entry">
<input type="hidden" name="uname" value="{$uname}">
<input type="hidden" name="upassword" value="{$upassword}">
<input type="hidden" name="uemail" value="{$uemail}">
<tr><td><input type="submit" value="Korrekt" name="submit"></td></tr>
</form>
</table>
</div>
</body>
</html>


und die funktion die checkregister.tpl nutzt:

function registercheck($uname, $upassword, $uemail) {
$checklogin = new smarty;
$checklogin->assign('uname', $uname);
$checklogin->assign('upassword', $upassword);
$checklogin->assign('uemail', $uemail);
$checklogin->display('checkregister.tpl');
}


So, die arbeiten mit dem template funktionieren, also das ersetzen der variablen, aber das stylesheet bleibt wie gesagt ignoriert.

wo ist der fehler?

ich hoffe ihr könnt mir helfen.

danke

xabbuh
11.09.2005, 21:57:10
Ist die Pfadangabe zur Stylesheetdatei möglicherweise falsch? Bedenke, dass der Pfad von der php-Datei ausgehen muss, in die du das Template einbindest und nicht vom Speicherort des Templates aus gesehen.

feuervogel
12.09.2005, 03:00:07
am besten du arbeitest hier mit absoluten pfaden, also wenn die css-datei in www.domain.de/css/newstyle.css liegt, schreibst du

<link rel="stylesheet" type="text/css" href="/css/newstyle.css">

dirter
12.09.2005, 13:04:50
mittag,

also vielen vielen dank euch beiden!
vor allem dir xabbuh, ich hatte den link aufs stylesheet vom template aus gesetzt, wenn ich es aber vom php file mache funktioniert es jetzt.

viele dank