thinkPHP学习之模板显示与模板替换配置项

本篇将解决:将已有的网页添加到thinkPHP项目中。

1.1 模板显示

我们可以在控制器中,调用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.2 模板替换配置项

在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)
?>

再次运行,模板正确显示!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值