我觉得跟$this->assign有关系,如果调入index.tpl;然后再解析,可能就不需要了。我也是初步,不知道对不对。

解决方案 »

  1.   

    只要是在编译后使用的,都要向Smarty注册变量,包含后一块编译的,你打开编译后文件看一下就知道怎么回事了,没有注册的变量在Smarty中不可用
      

  2.   

    应用模板(smarty等)是为了分离显示与逻辑,index.tpl应该避免使用{include_php},否则失去原有的意义。想想是不是非用不可。
      

  3.   


    没有用过INCLUDE_PHP
    include file道是经常用 
      

  4.   

    include_php 是解决模板部件化的好方法,它使得 php 代码从模板文件中被分离出来. 举个例子:假设有一个从数据库中动态取出数据用于显示站点导航的模板,你可以将得数据内容的 php 逻辑部分分离出来保存在一个单独的文件夹下,并在模板开始的位置包含该 php 脚本. 那么就可以在任何地方包含此模板而不用担心之前数据库信息是否已被程序取出.
      

  5.   

    mistjin(熟读唐诗三百首):对于你举的例子只能这样解决吗?
      

  6.   

    Smarty将是将模板翻译成php程序的,使用include_php可以把不好用模板表示的程序段一并放在生成后的程序里
      

  7.   

    include只是一种方便的分离方法.
      

  8.   

    include php是一种开源的办法,如果你加密了你的主程序,它就非常重要。