首页 > 代码库 > ThinkPHP开发博客系统笔记之一

ThinkPHP开发博客系统笔记之一

开发的第一步是搭建前后台系统。搭建前台系统的时候新建了LoginController控制器和登录界面View/Login/index.tpl。模板文件中需要引入js和css文件,这里想通过在配置文件中创建模板变量的方式简化脚本文件的引入,但在创建的过程中遇到了问题。

Home/Conf/config.php
<?phpreturn array( ‘TMPL_PARSE_STRING‘ => array( ‘__CSS__‘ => ‘__PUBLIC__/Home/css‘, ‘__JS__‘ => ‘__PUBLIC__/Home/js‘, ‘__IMG__‘ => ‘__PUBLIC__/Home/img‘, ),);
View/Login/index.tpl
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>微博系统——登录界面</title> <script type="text/javascript" src="__JS__/jquery.js"></script> <script type="text/javascript" src="__JS__/jquery.ui.js"></script> <script type="text/javascript" src="__JS__/login.js"></script> <link rel="stylesheet" href="__CSS__/jquery.ui.css"> <link rel="stylesheet" href="__CSS__/login.css"> </head> <body> </body></html>

结果__JS__等几个变量在模板文件中无法正确解析。原因是__PUBLIC__是模板替换变量,只有出现在模板文件中时才会被替换为对应的字符串。而__ROOT__、__APP__、__MODULE__、__CONTROLLER__、__ACTION__、__SELF__既是模板替换变量,也是系统常量,它们可以应用在模板文件和配置文件中,所以这里可以用__ROOT__

Home/Conf/config.php
<?phpreturn array(    ‘TMPL_PARSE_STRING‘    => array(        ‘__CSS__‘    =>    __ROOT__.‘/Public/Home/css‘,        ‘__JS__‘    =>    __ROOT__.‘/Public/Home/js‘,        ‘__IMG__‘    =>    __ROOT__.‘/Public/Home/img‘,    ),);

这里还可以用系统常量MODULE_NAME代替模块名称Home,改进后的版本如下:

 

Home/Conf/config.php<?phpreturn array(    ‘TMPL_PARSE_STRING‘    => array(        ‘__CSS__‘    =>    __ROOT__.‘/Public/‘.MODULE_NAME.‘/css‘,        ‘__JS__‘    =>    __ROOT__.‘/Public/‘.MODULE_NAME.‘/js‘,        ‘__IMG__‘    =>    __ROOT__.‘/Public/‘.MODULE_NAME.‘/img‘,    ),);

 

ThinkPHP开发博客系统笔记之一