dedecms栏目链接怎么调用
将以下函数放入include/extendfuncphp
//统计栏目文章数function GetTotalArc($tid){
global $dsql;
$sql = GetSonIds($tid);
$row = $dsql->GetOne("Select count(id) as dd From `#@__archives` where typeid
in({$sql})");
return $row['dd'];
}
//统计当前栏目信息数
function dynamic_num($current_id){
global $dsql;
//读取当前栏目的子ID
$sql = "SELECT id FROM `#@__arctype` WHERE id='$current_id' ||
topid='$current_id'";
$dsql->SetQuery($sql);
$dsql->Execute();
while($row = $dsql->GetArray()){
$arr[]=$row[id];
}
foreach($arr as $key=>$value){
$type = $value ',';
}
$ty= ""$type"0";
//echo $ty;
$t_num = $dsql->GetOne("select count() as num from `#@__archives` where typeid
in($ty)");
//echo $t_num[num];
if(is_array($t_num)){
return " "$t_num[num]" ";
}else{
return "0" ;
}
}
模板中使用以下标签调用:
{dede:field name=’typename’/}</b>(此栏目共{dede:type}[field:idfunction="dynamic_num(@me)" /]{/dede:type}条记录)
{dede:channel type=’son’ }
<li><a href=’[field:typelink/]‘>[field:typename/]</a>(<span>[field:ID
runphp='yes'] @me = GetTotalArc(@me);[/field:ID]</span>)</li>
{/dede:channel}
以上代码是两个函数,一个统计栏目文章数,另一个统计当前栏目信息数。
比如我们在首页需要调用指定栏目ID为6的栏目下的文章,而该栏目下有一个ID为12的子栏目,通常我们在首页的调用代码如下:
<ul>
{dede:arclist typeid='8' row='10' col='1' orderby='hot'}
<li><a href='[field:arcurl/]'>[field:shorttitle/]</a></li>
{/dede:arclist}
</ul>
但是调用后,此栏目下的ID为12的子栏目里面的内容也会出现在列表里,如果不想要子栏目的内容出现在列表里很简单,这个在后台就有设置,具体设置如下:
登录织梦管理后台,在“系统基本参数”——“性能选项”——“上级列表是否包含子类内容:”这个选项选择“否”就行了。
当然这个是有前提的,这个只能说是调用列表页,如果你调用的栏目是封面页,那么肯定会取子栏目的数据,如果你调用的是列表页,那么肯定是可以的。
DedeCMS(织梦内容管理系统)是织梦团队开发的一套网站管理系统(CMS)。
这个系统把一个网站的内容(文字,,等等)与网站的组件分离开来,可以将各个页面连接到一起,可以控制页面的显示。通过这个系统,可以方便的管理,发布,维护网站的内容,而不再需要硬性的写HTML代码或手工建立每一个页面。
1、打开dedecms织梦管理后台,用管理员账户密码登陆。
2、点击核心----网站栏目管理-----选择一个栏目后面的,点击更改。
3、常规选项 高级选项 栏目内容中选择{高级选项},填写栏目的SEO标题,复制代码{dede:fieldseotitle /}并记住栏目模板的名称list_articlehtm。点击下面的确定保存。
4、点击模板默认模板管理找到模板文件名list_articlehtm,点击模板后面的修改,弹出修改模板代码页面。
5、打开list_articlehtm,找到<title>标题,将{dede:fieldtitle /}修改为 {dede:fieldseotitle /},点击保存。
6、依次点击生成-------更新栏目HTML------更新所有----------生成HTML点开栏目的页面,就完成调用了。
0条评论