帝国CMS在list.var中使用程序代码不能的原因

帝国CMS的教程已经很清楚了,http://www.phome.net/doc/manual/
帝国CMS从6.6开始,可以在编辑列表模版时,在list.var中使用程序代码,如下图(图片来自帝国CMS网站):

帝国CMS在list.var中使用程序代码不能的原因_第1张图片
listtemp3.jpg

勾选后“使用程序代码”后就可以了,比如判断标题图片是否存在,而加载不同的显示样式:
if(empty($r[titlepic]))
{
$r[titlepic]='/images/img.gif';
}
$listtemp='
  • ';

    如何写代码看官方的教程吧,主要几点:
    1、增加模板时list.var模板需要勾选“使用程序代码”选项。
    2、直接添加PHP代码,不需要加程序开始和结束标记。
    3、字段值数组变量为$r,对应的字段变量为$r[字段名],如:标题字段变量就是$r[title]。另外编号变量为$no
    4、将最终模板内容赋给$listtemp变量。
    5、如果$listtemp引用模板内容是用单引号,那么里面使用单引号前面要加\,例如:$listtemp='';
    相反如果引用模板内容是用双引号,那么里面使用双引号前面也要加\,例如:$listtemp="";

    我主要想讲的上面没提到的,很多人照抄上面的例子,却不行,我使用的是7.2版,一直以为新版取消了,或者换了别的写法,网上也找不到相关的文章,很多提到这问题,却没有说明原因。
    一、不能将HTML与程序代码混写,和模版中使用标签是不同的,所有HTML代码必须做为字符串赋给$listtemp;

    二、如果使用程序代码,所有PHP关键字必须顶格写,前面不能就空格,否则直接当然普通字符串,直接输出,不会当成程序来执行。(很多人不行应该就是这个原因),
    帝国CMS在list.var中使用程序代码不能的原因_第2张图片
    这是正确的
    帝国CMS在list.var中使用程序代码不能的原因_第3张图片
    如果这样写就不行

    如果有人也在使用这个CMS系统,欢迎和我交流。

    你可能感兴趣的:(帝国CMS在list.var中使用程序代码不能的原因)