在发布《Datalife Engine模板原理及全局标签/基础标签解析》一文后,群里的朋友问我说对范围标签还是理解不到位,所以这里添加一章给大家提供一个实例,以方便理解。
[aviable = section] text [/ aviable]标签组为基础逐渐延伸到标签组套用的实例:
在系统默认模板Default里面,找到main.tpl,我们在main.tpl这个(首页)框架模板中的文章列表最上面添加一个图片广告。
1.找到广告对应的代码
<div>
<div align="center">{banner_header}</div>
<div><span>Advertise</span></div></div>
其中{banner_header}即为DLE系统提供的广告功能标签,需要你提前在http://www.website.com/admin.php?mod=banners 广告模块里面先添加一个名称为header的广告,《Datalife Engine模板原理及全局标签/基础标签解析》 已经说过,这里不再赘述。
2.只让这个广告显示在首页,其他页面不显示的处理方法
<div>
<div align="center">[aviable = main]{banner_header}[/ aviable]</div>
<div><span>Advertise</span></div>
</div>
3.让这个广告显示在首页及全文页,其他页面不显示的处理方法
<div>
<div align="center">[aviable = main|showfull]{banner_header}[/ aviable]</div>
<div><span>Advertise</span></div>
</div>
4.让这个广告显示在首页及全文页,同时只有游客会出现广告,注册会员出现欢迎公告
<div>
<div align="center">
[aviable = main|showfull][group=5]{banner_header}[/group][/ aviable][aviable = main|showfull][not-group=5]Welcome to DLEseo.com[/not-group][/ aviable]</div>
<div><span>Advertise</span></div>
</div>
注意:DLE安装完成后,会自动生成5个组,id=1的组为管理员,id=2的组为站点编辑,id=3的组为供稿作者,id=4的组为站点会员,id=5的组为游客。所以上面的代码使用5这个id。
5.让这个广告显示在首页及全文页,同时游客会出现广告,管理员和编辑出现管理后台地址,作者和会员出现欢迎公告
<div>
<div align="center">
[aviable = main|showfull][group=5]{banner_header}[/group][/ aviable][aviable = main|showfull][group=1,2]<a href="/admin.php">Admin Panel</a>[/group][/ aviable][aviable = main|showfull][group=3,4]Welcome to DLEseo.com[/group][/ aviable]</div>
<div><span>Advertise</span></div>
</div>
6.只让这个广告显示在分类ID为3的页面,同时游客会出现广告,注册会员出现欢迎公告
<div>
<div align="center">
[aviable = cat][category=3][group=5]{banner_header}[/group][/category][/ aviable][aviable = cat][category=3][group=1,2,3,4]Welcome to DLEseo.com [/group][/category][/ aviable]</div>
<div><span>Advertise</span></div>
</div>
7.只让这个广告显示在分类ID为3的页面的前3页,同时游客会出现广告,注册会员出现欢迎公告(第1页)
<div>
<div align="center">
[aviable = cat][category=3][group=5][page-count=1,2,3]{banner_header}[/page-count][/group][/category][/ aviable][aviable = cat][category=3][group=1,2,3,4][page-count=1]DLEseo.com[/page-count][/group][/category][/ aviable]</div>
<div><span>Advertise</span></div>
</div>
8.控制多余代码在站内显示
上面的实例中,我们可以精准控制广告或其它代码的存在及展示位置,但是我们会发现:在我们没有控制到的范围,虽然广告不在显示了,但是代码还是出现在站点 的源文件中。例如第2条实例中,如果我们不是在首页,而是在静态页查看页面,我们会发现广告确实没有出现,但是页面的源文件中却包含了下面的代码:
<div>
<div align="center"></div>
<div><span>Advertise</span></div>
</div>
既然不显示广告了,这段代码对我们已经没有价值了,在不影响站点美观的前提下,我们怎么去除它呢?其实我们还是通过范围标签就可以完成这个想法,代码如下(针对第2条实例):
[aviable = main]<div><div align="center">{banner_header}</div>
<div><span>Advertise</span></div>
</div>[/ aviable]
仔细对比一下,会发现只是调整了一下范围标签的位置,这个方法再模板制作中会经常用到,比如在相关文章[related-news][/related-news]、[tags] [/tags]等范围标签组都会用到这种控制多余代码概念,所以我们要理解并灵活运用。
本文只能提供一些实例和思路,更多的应用请在实践中探索吧,呵呵
本文在编辑过程中,代码标签<code>不知道什么原因,一直不能用,最后直接把代码放文章里面了,排版有点凌乱,大家请体谅。