+ -
当前位置:首页 → 问答吧 → 关于模板包含文件的问题

关于模板包含文件的问题

时间:2011-06-23

来源:互联网

开发过程中想把一个页面的头分离出来,引入后使用,于是就把头部分的代码分离出来,建立了header.html,然后用包含文件的标签

<include file="./Tpl/Home/public/header.html" />

引入进来,但是部分包含了用户的登陆信息,并不是全静态的,于是看到TP提供了另一种功能,包含操作(我偷笑)

<include file="Public:header" />

然后建立PublicAction.class.php 编写 header 方法,在里面判断了如果用户登陆了,就把用户的信息 $this->assign('user', $user);

然后在header.html中输出出来,问题来了,如果单单访问这个 Public/header 操作,没问题可以展示出来,但是在 其他页面包含这个操作,用户就显示不出来,所以很奇怪,是不是用 <include file="Public:header" /> 和 <include file="./Tpl/Home/public/header.html" />道理其实是一模一样的呢?根本不能写 PublicAction 下的header 方法来进行什么操作或者向模板输出什么内容。

小弟愚钝,求解。

作者: 慕唯   发布时间: 2011-06-23

如此来说只能把这个获取用户信息的方法写到一个公共的类里,然后在没个方法上调用一次

$this-assign('user', User::getLoginUser());

这样还是有点麻烦,不知道有什么更好的方法嘛? 比如用户自定义的常量什么的。

作者: 慕唯   发布时间: 2011-06-23