帝国CMS在新建栏目时,如果别名为空,则别名默认与栏目名相同。但如果新建栏目的时候设置的别名和栏目名不一样,则在调用的时会出现问题,尤其是list.var里面用[!--this.classname--]调用栏目名时,显示的全是别名,如果想调用栏目名则得另外想办法,我们可以按照以下方法在帝国CMS列表模板list.var中调用栏目名称和链接:
1、列表模版list.var勾选开启“使用程序代码”;
2、在list.var模板中加上$listtemp='',单引号中间加入模板代码;(一定必须是英文的单引号);
3、在需要调用栏目名的地方用'.$class_r[$r[classid]]['classname'].'来调用。
4、栏目链接调用的话,用[!--this.classlink--]或者$public_r[news.url].$class_r[$r[classid]][classpath]这两个都可以(前者带/,后者不带/);
如果模板中调用栏目名称和链接比较频繁,可以定义两个变量,用$classurl定义分类链接,$classname定义分类名称,在模板中直接引用这两个变量即可。
$classurl=$public_r[news.url].$class_r[$r[classid]][classpath]; $classname=$class_r[$r[classid]][classname]; $listtemp=' <a href="'.$classurl.'">'.$classname.'</a>';
注意:在list.var中不能PHP代码和HTML代码混编,如果$listtemp引用模板内容是用单引号,那么里面使用单引号前面要加\,例如:$listtemp='<imgsrc= \'[!--titlepic--] \'>';相反如果引用模板内容是用双引号,那么里面使用双引号前面也要加\,例如:$listtemp="<imgsrc= \"[!--titlepic--] \">";
评论