thinkPHP学习之模板显示与模板替换配置项
本篇将解决:将已有的网页添加到thinkPHP项目中。
我们可以在控制器中,调用Action类的display方法,该方法用于显示模版,该方法的api说明如下(了解即可):
/** 89: * 模板显示 调用内置的模板引擎显示方法, 90: * @access protected 91: * @param string $templateFile 指定要调用的模板文件 92: * 默认为空 由系统自动定位模板文件 93: * @param string $charset 输出编码 94: * @param string $contentType 输出类型 95: * @param string $content 输出内容 96: * @return void 97: */ 98: protected function display($templateFile="",$charset="",$contentType="",$content="") { 99: $this->initView(); 100: $this->view->display($templateFile,$charset,$contentType,$content); 101: }那么该如何调用该方法呢?很简单,如下:
<?php class IndexAction extends Action { public function index(){ $this->display(); } }
直接使用$this指针进行调用,因为IndexAction继承了Action方法。
然后运行,出现了下面的错误:
通过观察错误提示,我们可以发现,原来模版文件存在的路径为:"./前台项目名称/Tpl/前台项目名称/"。那么接下我们就将已有的index.html放到该目录下(已有模版点击下载)。再次运行,发现index.html被显示出来了,但是其中的css以及js都没有引入。
接下来我们就将介绍如何引入css和js。
我们在项目(不是前台项目)的根目录下,创建一个名为”Public“的文件夹,然后将模版的css,images以及js全部copy到该文件夹下。
然后打开"./前台项目名称/Tpl/前台项目名称/index.html"文件,将所有引用css,图片以及js的地方的路径,例如:”src="./Js/index.js"“。将其中的”.“全部替换为”__PUBLIC__“。
再次运行,模版正常显示。
需要说明的是:”__PUBLIC__“不是常量,它仅仅是一个模版替换。
在1.1中我们将模板的css等文件放在了"项目根目录/Public"目录中,那么是否可以不放在该目录下呢?当然可以。 接下来,在”./前台项目名称/Tpl/“目录下,创建Public文件夹,将css等文件夹copy到该目录下。 然后,修改配置文件config.php,在array数组中,将__PUBLIC__映射到”./前台项目名称/Tpl/Public“,方法如下:
<?php $config = array( "TMPL_PARSE_STRING" => array( "__PUBLIC__" => __ROOT__."/".APP_NAME."/Tpl/Public"), ); return array_merge(include "./Conf/config.php",$config) ?>
再次运行,模板正确显示!
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。