帝国CMS8.0版新增父子信息功能,让一条信息也能成为一个信息、一个栏目、一个专题、甚至一个网站。本文共有四个部分:
一、父子信息功能使用流程。 二、调用子信息:可以用索引灵动标签调用。 三、父子信息列表访问地址的语法说明。 四、进阶:调用当前父子信息的子类及信息列表。 |
一、父子信息功能使用流程: 1、在管理信息页面,可将某一信息加入父信息,如下图:
 (加入父信息前会显示“--”,点击进入增加父信息页面;加入父信息后会显示“父”字,点击进入管理子信息页面。)
2、增加父信息后,增加信息时就会有选择父信息选项设置,可以选择多个父信息及子信息分类:

3、除了增加信息页面可以增加子信息外,还可以在管理子信息页面批量推送子信息到父信息里:

二、调用子信息:可以用索引灵动标签调用 (一)、索引灵动标签语法:
[e:indexloop={索引分类ID,显示条数,操作类型,栏目ID,系统模型ID,附加SQL条件}] 模板代码内容 [/e:indexloop] |
(二)、调用例子: 例子1、调用“父信息公共ID=1000010000000101”的最新子信息:(数量=10,操作类型=12)
[e:indexloop={'1000010000000101',10,12,'',''}] <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br> [/e:indexloop] |
例子2、调用“一级分类=2”的最新子信息:(数量=10,操作类型=12) 方法一:
[e:indexloop={'父信息公共ID',10,12,'','',"bcid=2"}] <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br> [/e:indexloop] |
方法二:用SQL调用 (分表=1,操作类型=11)
[e:indexloop={"select id,classid from {$dbtbpre}enewsfz_data_1 where bcid=2 order by newstime desc".do_dblimit(10),10,11,'',''}] <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br> [/e:indexloop] |
例子3、调用“二级分类=5”的最新子信息:(数量=10,操作类型=12) 方法一:
[e:indexloop={'父信息公共ID',10,12,'','',"cid=5"}] <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br> [/e:indexloop] |
方法二:用SQL调用 (分表=1,操作类型=11)
[e:indexloop={"select id,classid from {$dbtbpre}enewsfz_data_1 where cid=5 order by newstime desc".do_dblimit(10),10,11,'',''}] <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br> [/e:indexloop] |
三、父子信息列表访问地址的语法说明: (一)、基本语法: /e/fzinfo/?fztid=父信息的表ID&fzid=父信息的信息ID&cid=子信息的分类ID 父信息的表ID:就是栏目使用的系统模型所属数据表ID (查看:后台>系统>管理数据表) 父信息的信息ID:父信息的信息ID。 子信息的分类ID:不限一级或二级分类,自动识别。-1为父信息下所有子信息列表(使用第一个列表式分类的设置)。
(二)、附加语法说明: 1、列出某一个系统模型下的子信息: 指定系统模型ID即可,模型ID变量名为:mid 例子:下面链接为显示新闻系统模型下的子信息: /e/fzinfo/?fztid=父信息的表ID&fzid=父信息的信息ID&cid=子信息的分类ID&mid=1
2、列出多栏目的子信息列表: 栏目ID变量名:classid 显示多个栏目可以用逗号格开 例子:下面为显示栏目ID=2的子信息 /e/fzinfo/?fztid=父信息的表ID&fzid=父信息的信息ID&cid=子信息的分类ID&classid=2
3、列出某级头条的子信息:(为子信息单独的头条设置) 指定某级头条即可,头条变量名为:firsttitle。所有头条级别值可为-1 例子:下面链接为显示9级头条的子信息: /e/fzinfo/?fztid=父信息的表ID&fzid=父信息的信息ID&cid=子信息的分类ID&firsttitle=9
4、列出某级推荐的子信息:(为子信息单独的推荐设置) 指定某级推荐即可,推荐变量名为:isgood。所有推荐级别值可为-1 例子:下面链接为显示8级推荐的子信息: /e/fzinfo/?fztid=父信息的表ID&fzid=父信息的信息ID&cid=子信息的分类ID&isgood=8
5、指定信息发布时间起始和结束时间范围: 起始时间变量名:starttime ;结束时间变量名:endtime 时间格式:'2025-01-18',不指定起始时间则表示显示结束时间之前的所有信息 例子:下面为显示2025-01-18当天的子信息列表 /e/fzinfo/?fztid=父信息的表ID&fzid=父信息的信息ID&cid=子信息的分类ID&starttime=2025-01-18&endtime=2025-01-18
四、进阶:调用当前父子信息的子类及信息列表 (一)、获取当前父信息ID与当前父子分类ID: 1、当在父信息页面时: 当前父信息ID为:$navinfor['id'] 当前父信息所属栏目ID为:$navinfor['classid'] 所以当前父信息的公共ID为:$uget_pubid=ReturnInfoPubid($navinfor['classid'],$navinfor['id']);
2、当在父子分类页面时: 当前子类分类ID为:$GLOBALS['navclassid'],负数为所有分类。 当前父信息表内容数组为:$GLOBALS['navinfor'] 当前父信息的公共ID为:$GLOBALS['navinfor']['pubid']
(二)、调用当前父信息下的子信息分类:(两级分类) 1、当在父信息页面时:
<?php $uget_fzid=(int)$navinfor['id']; $uget_fzclassid=(int)$navinfor['classid']; $uget_fztid=(int)$class_r[$uget_fzclassid]['tid']; $uget_pubid=ReturnInfoPubid($uget_fzclassid,$uget_fzid); //一级分类 $ufzdatabcsql=$empire->query("select cid,bcid,cname from {$dbtbpre}enewsfz_class where pubid='$uget_pubid' and bcid=0 order by myorder"); while($ufzdatabcr=$empire->fetch($ufzdatabcsql)) { $ufzdatabc_id=$ufzdatabcr['cid']; $ufzdatabc_name=$ufzdatabcr['cname']; $ufzdatabc_url=eReturnRewriteFzUrl($uget_fztid,$uget_fzid,$ufzdatabcr['cid'],1); ?> <b>一级分类ID:<?=$ufzdatabc_id?>,一级分类名称:<?=$ufzdatabc_name?>,一级分类地址:<?=$ufzdatabc_url['pageurl']?></b><br>
<?php //二级分类 $ufzdatacsql=$empire->query("select cid,bcid,cname from {$dbtbpre}enewsfz_class where bcid='".$ufzdatabcr['cid']."' order by myorder"); while($ufzdatacr=$empire->fetch($ufzdatacsql)) { $ufzdatac_id=$ufzdatacr['cid']; $ufzdatac_name=$ufzdatacr['cname']; $ufzdatac_url=eReturnRewriteFzUrl($uget_fztid,$uget_fzid,$ufzdatacr['cid'],1); ?> 二级分类ID:<?=$ufzdatac_id?>,二级分类名称:<?=$ufzdatac_name?>,二级分类地址:<?=$ufzdatac_url['pageurl']?><br> <?php } ?> <br> <?php } ?> |
2、当在父子分类页面时:
<?php $uget_fzcid=(int)$GLOBALS['navclassid']; $uget_pubid=RepPostVar($GLOBALS['navinfor']['pubid']); $uget_fzid=(int)$GLOBALS['navinfor']['id']; $uget_fzclassid=(int)$GLOBALS['navinfor']['classid']; $uget_fztid=(int)$class_r[$uget_fzclassid]['tid']; //一级分类 $ufzdatabcsql=$empire->query("select cid,bcid,cname from {$dbtbpre}enewsfz_class where pubid='$uget_pubid' and bcid=0 order by myorder"); while($ufzdatabcr=$empire->fetch($ufzdatabcsql)) { $ufzdatabc_id=$ufzdatabcr['cid']; $ufzdatabc_name=$ufzdatabcr['cname']; $ufzdatabc_url=eReturnRewriteFzUrl($uget_fztid,$uget_fzid,$ufzdatabcr['cid'],1); ?> <b>一级分类ID:<?=$ufzdatabc_id?>,一级分类名称:<?=$ufzdatabc_name?>,一级分类地址:<?=$ufzdatabc_url['pageurl']?></b><br>
<?php //二级分类 $ufzdatacsql=$empire->query("select cid,bcid,cname from {$dbtbpre}enewsfz_class where bcid='".$ufzdatabcr['cid']."' order by myorder"); while($ufzdatacr=$empire->fetch($ufzdatacsql)) { $ufzdatac_id=$ufzdatacr['cid']; $ufzdatac_name=$ufzdatacr['cname']; $ufzdatac_url=eReturnRewriteFzUrl($uget_fztid,$uget_fzid,$ufzdatacr['cid'],1); ?> 二级分类ID:<?=$ufzdatac_id?>,二级分类名称:<?=$ufzdatac_name?>,二级分类地址:<?=$ufzdatac_url['pageurl']?><br> <?php } ?> <br> <?php } ?> |
(三)、调用当前父信息下面的子信息:(当在父信息页面时)
<?php $uget_fzid=(int)$navinfor['id']; $uget_fzclassid=(int)$navinfor['classid']; $uget_fztid=(int)$class_r[$uget_fzclassid]['tid']; $uget_pubid=ReturnInfoPubid($uget_fzclassid,$uget_fzid); ?> [e:indexloop={$uget_pubid,10,12,'',''}] <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br> [/e:indexloop] |
(四)、调用当前分类下面的子信息:(当在父子分类页面时,数量=10、自动识别一级与二级分类、自动识别分表) 1、方法一:
<?php $uget_fzcid=(int)$GLOBALS['navclassid']; $uget_pubid=RepPostVar($GLOBALS['navinfor']['pubid']); $uget_fzdatacwhere=''; if($uget_fzcid>0)//非不限分类 { $uget_fzdatacr=$empire->fetch1("select pubid,bcid,cname from {$dbtbpre}enewsfz_class where cid='$uget_fzcid'"); $uget_pubid=$uget_fzdatacr['pubid']; if($uget_fzdatacr['bcid']) { $uget_fzdatacwhere="cid='".$uget_fzcid."'"; } else { $uget_fzdatacwhere="bcid='".$uget_fzcid."'"; } } ?> [e:indexloop={$uget_pubid,10,12,'','',$uget_fzdatacwhere}] <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br> [/e:indexloop] |
2、方法二:(SQL调用)
<?php $uget_fzcid=(int)$GLOBALS['navclassid']; $uget_pubid=RepPostVar($GLOBALS['navinfor']['pubid']); $uget_fzstb=(int)$GLOBALS['navinfor']['fzstb']; $uget_fzdatacwhere="bpubid='$uget_pubid'"; if($uget_fzcid>0)//非不限分类 { $uget_fzdatacr=$empire->fetch1("select pubid,bcid,cname from {$dbtbpre}enewsfz_class where cid='$uget_fzcid'"); $uget_pubid=$uget_fzdatacr['pubid']; if($uget_fzdatacr['bcid']) { $uget_fzdatacwhere="cid='".$uget_fzcid."'"; } else { $uget_fzdatacwhere="bcid='".$uget_fzcid."'"; } } //SQL语句 $uget_fzdatasql="select id,classid from {$dbtbpre}enewsfz_data_".$uget_fzstb." where ".$uget_fzdatacwhere." order by newstime desc".do_dblimit(10); ?> [e:indexloop={$uget_fzdatasql,10,11,'',''}] <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br> [/e:indexloop] |
|
|
|
|