php中smarty实现多模版网站的方法

这篇文章主要介绍了php中smarty实现多模版网站的方法,可实现smarty动态选择模板的功能,需要的朋友可以参考下。

本文实例讲述了php中smarty实现多模版网站的方法,分享给大家供大家参考,具体实现方法如下:

模板model1.htm代码:

  1. <html>
  2. <head>
  3. <title>模板1</title>
  4. </head>
  5. <body>
  6. <a href="?model=1" mce_href="?model=1">模板1</a> |
  7. <a href="?model=2" mce_href="?model=2">模板2</a> |
  8. <a href="?model=3" mce_href="?model=3">模板3</a>
  9. <p align=CENTER><font color=RED>{$title}</font></p>
  10. <hr>
  11. {$content}
  12. </body>
  13. </html>

模板model2.htm代码:

  1. <html>
  2. <head>
  3. <title>模板2</title>
  4. </head>
  5. <body>
  6. <a href="?model=1" mce_href="?model=1">模板1</a> |
  7. <a href="?model=2" mce_href="?model=2">模板2</a> |
  8. <a href="?model=3" mce_href="?model=3">模板3</a>
  9. <p align=CENTER><font color=GREEN>{$title}</font></p>
  10. <hr>
  11. {$content}
  12. </body>
  13. </html>

模板model3.htm代码:

  1. <html>
  2. <head>
  3. <title>模板3</title>
  4. </head>
  5. <body>
  6. <a href="?model=1" mce_href="?model=1">模板1</a> |
  7. <a href="?model=2" mce_href="?model=2">模板2</a> |
  8. <a href="?model=3" mce_href="?model=3">模板3</a>
  9. <p align=CENTER><font color=BLUE>{$title}</font></p>
  10. <hr>
  11. {$content}
  12. </body>
  13. </html>

php页面实现:

  1. <?php
  2. require 'libs/Smarty.class.php'; //包含Smarty类库文件
  3. $smarty = new Smarty; //创建一个新的Smarty对象
  4. $title = "Test";
  5. $content = "This is a test!";
  6. $smarty->assign("title",$title); //对模版中的变量赋值
  7. $smarty->assign("content",$content); //对模版中的变量赋值
  8. if(!isset($_GET['model'])) //根据参数选择不同的模板
  9. {
  10. $smarty->display('model1.htm');
  11. }
  12. else
  13. {
  14. if(file_exists('templates/'.'model'.$_GET['model'].'.htm'))
  15. //判断模板文件是否存在
  16. {
  17. $smarty->display('model'.$_GET['model'].'.htm');
  18. }
  19. else
  20. {
  21. echo "模板参数不正确!";
  22. }
  23. }
  24. ?>