在DedeCMS中,首页、联系我们、公司介绍等页面通常会调用默认的banner图,这并不复杂。然而,对于产品页面来说,情况可能会有所不同。
例如:
产品大类A(封面页,typeid=111)-小类1 小类2 小类3 小类4
产品大类B(封面页 typeid=222)-小类5 小类6 小类7 小类8
产品大类C(封面页 typeid=333)-小类9 小类10 小类11 小类12...
A大类下,所有子栏目及文章的banner图是同一张 111.jpg;B大类的则是另外一张222.jpg。
换句话说,产品所有页面都会调用所属顶级栏目(封面页)的 typeid 名字的图。
那么,如何在HTML代码中实现这一效果呢?
解决办法如下:
使用以下代码即可:
只需修改图片的名字即可。此方法已通过测试,非常实用。
此外,还有一种方法可以调用顶级栏目ID:
首先,在需要调用顶级栏目ID的地方添加以下标签语法:
{dede:type}[feild:topid/]{/dede:type}
其次,修改源文件。找到include目录下的taglib目录下的type.lib.php。
找到以下语句:
$row = $dsql->GetOne("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From `dede_arctype` where id=’$typeid’ ");
将其修改为:
$row = $dsql->GetOne("Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From `dede_arctype` where id=’$typeid’ ");
然后在if(!is_array($row)) return "";下一行添加:
if( $row['topid']==0){$row['topid']=$row['id'];}
这样,无论是顶级栏目还是子栏目,都可以成功调用。
以上是对DedeCMS模板中添加顶级栏目id方法的小结。欢迎各位进行测试和关注。
DedeCMS借助顶级栏目id来调用不同的banner广告图片。使用dede顶级栏目id可以实现许多功能,如在每个列表页调用不同的栏目图片(同一顶级栏目调用相同的图片)。我们可以通过调用顶级栏目ID,并将图片尾部添加为ID号如:img1.jpg 即为imgID.jpg,从而简化操作。
总结:
使用以下代码:
或者直接: