如何用smarty 实现更改页面的背景色,我们要用到smarty中的配置文件
首页我们要先在smarty中声明一下我们的配置文件的所在目录,这样smarty才能找到我们的配置文件
然后我们先新建一个模板文件index.html这里面只需要写一个表单就可以,代码:
<form action=’index.php’ method=’post’>
<selectname=’bgcolor’> //在这里option 里的value值,要和后面的smarty配置文件里节的名子一致
<option value="">默认</option>
<option value="red">红色</option>
<option value="yellow">黄色</option>
<option value="blue">蓝色</option>
</select>
</form>
模板文件写好了之后我们就可以写我们的配置文件了,我们的配置文件只要写几个节就可以了,每个节对应一个颜色,节的名子与刚才表单里的value 值要保持一致
配置文件:foo.conf
# global variables
[red]
color = "red"
[yellow]
color = "yellow"
[blue]
color = "blue"
写完配置文件之后就要写我们的index.php文件了,需要接收用户设置的背景色是哪一个,然后在模板文件里加载配置文件里的相对应的节就可以了
代码:
Index.php:
<?PHP
//因为我们的页面不止一个,所以要多个页面都可以设置背景色,就要把值存成一个session变量,调用
Session_start();
$_SESSION[‘color’] = $_POST[‘color’];
$smarty->assign(‘color’,$_SESSION[‘color’]);
$smarty->display(‘index.php’);
?>
这样我们再在模板文件里加上
{config_load file=’foo.conf’section=$color}
<body bgcolor={#color#}>
这两句话就可以了