#1 gonten
我正在弄一个CMS,功能都弄得差不多了,现在有个问题困扰着我,大家帮我看看。
比如我要在网站前台任何一个页面都可以调用网站的任何数据,在首页要调用各栏目的最新列表、友情链接、导航,栏目页和内容页也都要调用这些数据
要实现这样的功能是不是我要事先把所有的数据,都查询出来,然后都赋值,如下面代码
$this->category = $category ; // 把分类查询出来并赋值到模板
$this->content= $content ; // 把所有查询出来并赋值到模板
$this->link= $link; // 把所有链接查询出来并赋值到模板
.....
..
是不是我都要一起事先查询出来,并赋值到模版,才能实现在各个页面随时调用呢? 有什么方法可以解决呢?
哪位大侠帮帮忙,非常感谢
2012-10-20 22:59:20
#2 jake
1. 事先查出来然后赋值到每个页面,这种数据一般是公共数据,比如说导航之类的
2. 模板内使用的数据,可以这样子做:模板函数。你可以写多个模板函数,就像dedecms他们的模板标签一样,然后模板函数里面直接调model获取数据。
2012-10-21 09:36:34
#3 gonten
jake 发表于 2012-10-21 09:36 
1. 事先查出来然后赋值到每个页面,这种数据一般是公共数据,比如说导航之类的
2. 模板内使用的数据,可以 ...
原来如此,我以为用函数的话会太多次查询,效率不高,看来只能这样了,不过有缓存应该也很快
2012-10-21 10:58:38
#4 gonten
jake 发表于 2012-10-21 09:36 
1. 事先查出来然后赋值到每个页面,这种数据一般是公共数据,比如说导航之类的
2. 模板内使用的数据,可以 ...
jake,再请教一个问题
现在有一个名为main.php controller,里面有
function index(){
//首页
}
function category(){
//分类页面
}
function show(){
//内容页面
}
接着上面的那个问题,如果要写模版函数,该写在哪里才能让各个控制器都能调用到呢?
2012-10-21 11:20:24
#5 jake
在构造函数内就可以了。论坛搜索有资料。
当然,我是建议只是在构造函数include模板函数文件进来,而不是都写到构造函数里面。
2012-10-21 11:28:34