akcms 面包屑导航(当前位置)的实现

发布时间:2020年02月07日 阅读:497 次

在我们进行网站开发的时候很多情况下都会编写一个当前位置,这个当前位置主要用来提示用户现在所处网页的位置。

下面我们利用一个实例进行讲解:

1、当栏目只有一级栏目的时候,我们的当前位置可以这样写:首页》系统软件》生活闹钟。其中生活闹钟是系统软件栏目下面的一篇文章,当我们浏览这篇文章的时候,面包屑导航就是上面的样子。那么在模板中可以这样写:<a href='<{$home}>'>首页</a> → <a href='<{$categoryurl}>'><{$category}></a> → <{$title}>解释:因为目前我们所在的是文章页面,也就是位于item_display模板中,那么在模板中可以直接使用栏目、栏目地址和文章题目的变量。

2、当一级栏目下面又有很多个栏目时,那么第一种方式显然已经不能够正确的显示出我们的当前位置了,那么我们就要另谋途径了,接下来的这个方法就是面包屑导航,在面包屑导航中,我们应使用getcategories函数以及其相关的参数childcategory。下面我们以示例进行讲解。

在文章页面我们可能会看到这样的面包屑导航: 首页 → 系统软件 → 系统工具 → 生活闹钟 。其中“系统软件”是一级栏目,“系统工具”是“系统软件”的子栏目,也可以叫做二级目,“生活闹钟”是位于“系统工具”中的一篇文章。在文章页面可以使用的与栏目相关的变量有:categoryname,然而它只能获取文章所属栏目的名称,却不能获取其爷爷级元素,那么第一种写面包屑导航(当前位置)的办法就失效了。当前的写法如下:<a href='<{$home}>'>首页</a>→<{getcategories childcategory=$category colspan="1" overflow="→" template="<a href='[url]'>[category]</a>"}>→<a href='<{$url}>'><{$title}></a>,childcategory应该与colspan和overflow合用,colspan规定了子循环的步幅数,overflow规定了子循环结束后应该插入什么内容,childcategory指定获取哪个栏目的子栏目或者是父级栏目。在这个例子中,$category这个变量是文章所属栏目的id,那么通过赋值给childcategory,系统自动帮我们分析出了它的父级栏目和子栏目,父栏目可以追溯到根栏目,子栏目可以延伸到文章当前所属的栏目。

Tag:
相关文章

发表评论: