帝国CMS栏目别名的调用方法详解
2018-03-26 站长 站长日志
求助]灵动标签调用 <?=$bqsr[classname]?> 调出的是栏目别名,怎么回事?
用在首页灵动调用栏目名字, 用 <?=$bqsr[classname]?> 调出的居然是栏目别名,这个问题怎么办? 答:栏目名称可以用<?=$class_r[$bqr[classid]][classname]?> 这是分享的栏目别名的调用方法有很多种,大家可以灵活运用,当然有些是没有经过测试的,大家可以试试看有没有问题,如果有什么问题的话可以在此反馈。 列表页的标题调用“栏目别名” <?=$class_r[$GLOBALS[navclassid]][bname]?> 或 <?=$class_r[$classid][bname]?> 或 <?php $bclassid=$class_r[$GLOBALS[navclassid]]['bclassid']; echo $class_r[$bclassid]['bname']; ?> 灵动标签里的 <?=$bqsr[classname]?> 可以用 <?=$class_r[$bqr[classid]][classname]?> 来替换 让listshowclass标签也可以调用栏目别名 通过修改t_functions.php文件的以下几个地方 //循环子栏目导航标签 function sys_ForShowSonClass($classid,$tempid,$show=0,$cline=0){ ... $sql=$empire->query("select classid,classname,bname,islast,sonclass,tbname,intro,classimg from {$dbtbpre}enewsclass where ".$where." and showclass=0 order by myorder,classid".$limit);(这里加了bname 目的调用父栏目别名) ... //栏目导航标签-循环 ... //替换变量 $listtemp=str_replace("[!--bclassname--]",$bcr[classname],$listtemp); $listtemp=str_replace("[!--bbname--]",$bcr[bname],$listtemp);//这里加了这一行 标签里用[!--bbname--]调用父栏目别名 ..... $sql=$empire->query("select classid,classname,bname,islast,sonclass,tbname,intro,classimg from {$dbtbpre}enewsclass where bclassid='$bclassid' and showclass=0 order by myorder,classid");//这里同样加了bname 目的调用子栏目别名 ... //替换栏目导航标签 function ReplaceShowClassVars($no,$listtemp,$r,$num,$ecms=0,$subnews=0){ ... //栏目名称 $listtemp=str_replace("[!--classname--]",$r[classname],$listtemp); //栏目别名 $listtemp=str_replace("[!--bname--]",$r[bname],$listtemp);//加了这句 标签模板里用[!--bname--]调用子栏目别名 //栏目id $listtemp=str_replace("[!--classid--]",$r[classid],$listtemp); ... 最后一种是调用数据库实现的,这个都能实现 列表模板中,帝国没有相应的标签调用栏目的别名,只能调用栏目名称 别名在数据库字段中是bname 下面将用PHP查询的方式把别名查询出来!下面是例子,希望对大家有用! <?php $rst=$empire->fetch1("SELECT `bname` FROM `phome_enewsclass` WHERE `classid`=".$GLOBALS[navclassid]); echo $rst[0]; ?>