+ -
当前位置:首页 → 问答吧 → layout布局模板问题

layout布局模板问题

时间:2010-03-25

来源:互联网



就拿我在官方下的一个例子来说吧。
  1. /* 循环输出例子一 */
  2. public function loop1()
  3. {
  4.             $data   =   $this->build_data();            // 创建模拟数据集

  5.             $this->assign('data',$data);                // 对数据赋值
  6.             $this->assign('content','loop1');
  7.             $this->display('Layout:demo_layout');
  8. }
复制代码
稍微有点不一样的是,我所有的模板文件,都是和操作同名的。
但是,layout每次赋值,都要$this->assign('content','loop1');指定一次文件名。
这样就有些麻烦了,能不能有个什么办法,如同display()一样,空则寻找操作对应的默认模板文件。

还有2点不明白
1.$this->assign('content','loop1');
我看到官方教程里的例子:this->assign('content', 'User:list'); 这种写法是 模块:操作 还是  文件夹:文件 的意思?
就是这里是直接调用了一个文件,还是去访问了一个操作,然后fetch内容,再注册成变量content,求高手解释下本质。

如果是访问一个操作,然后fetch,然后注册content变量插入Layout:demo_layout 我是不是就可以在那访问别的一个操作,那个操作是个一般的比如
public function aaa()
{
     $this->assign('test','test);
            $this->display();
}
然后在loop1()中
       $this->assign('content','Action:aaa');
$this->display('Layout:demo_layout');

2.<layout name="$content" cache="0" />
这里的cache的意思是,不到时间,就直接从编译的东西里读取上次编译的东西,知道时间到了,然后再才会从assign的变量里替换?

作者: fengyi   发布时间: 2010-03-25

刚试验下,我的  模块:操作 的设想不成立,不能那么做。
再问下 tp2.0的模板,有没有类似smarty {$articleTitle|truncate:30:"...":true}  之类的变量调节器

作者: fengyi   发布时间: 2010-03-25



msubstr()

截取字符串

作者: gulize   发布时间: 2010-03-26

fengyi
能不能有个什么办法,如同display()一样,空则寻找操作对应的默认模板文件。


同问

作者: ethanchen   发布时间: 2011-10-20