正在开发一款CMS 求助模版问题

#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