Smarty 實現簡單更改頁面的背景色
如何用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#}>
這兩句話就可以了