帝国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、当在父子分类页面时:
<?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]