e起飞young
一个前端码农的技术博客
phpcms v9模板开发有关【栏目】的相关小诀窍
[ 2016/02/28, 2946阅, 0评 ]

1、获取当前栏目的信息

当前栏目id: {$catid}

当前栏目名: {$CATEGORYS[$catid][catname]}

当前栏目目录名:{$CATEGORYS[$catid][catdir]}

当前栏目url: {$CATEGORYS[$catid][url]}

当前栏目位置(面包屑导航): 首页 > {catpos($catid)} 正文

当前栏目描述: {$CATEGORYS[$catid][description]}

当前栏目图片: {$CATEGORYS[$catid][image]}

当前栏目的内容数:{$CATEGORYS[$catid][items]}

当前栏目的点击数:{$CATEGORYS[$catid][hits]}

当前栏目的上级栏目id:{$CATEGORYS[$catid][parentid]} 

2、获取指定栏目id的信息

例:{$CATEGORYS[$catid][catname]}

只需要将其中的$catid改成数字id即可,获取其他信息诸如此理。

eg: {$CATEGORYS[2][catname]}(栏目id为2的栏目名称)

3、获取父级栏目的信息

当前栏目的父级栏目id:{$CAT[parentid]}

父级栏目的所有子栏目id:{$CATEGORYS[$CAT[catid]][arrchildid]}

父级栏目名称:{$CATEGORYS[$parentid][catname]}(仅在list.html和page.html中可用

父级栏目名称:{$CATEGORYS[$CAT[parentid]][catname]}(list.html和show.html和page.html可用

父级栏目名称: {$CATEGORYS[$top_parentid][catname]}(list.html和show.html和category.html可用

父级栏目url:{$CATEGORYS[$top_parentid][url]}

父级栏目id:{$CATEGORYS[$top_parentid][catid]}

其他字段:只需要改动XXX:{$CATEGORYS[$top_parentid][XXX]}

4、判断当前栏目是否存在子栏目(通过判断 child 来确定)

if($r[child]){
echo "有子栏目";
}else{
echo "无子栏目";
} 

应用:{if $r[child]}如果存在子栏目则执行的内容{/if}  同理{if $pages}如果有分页,则输出分页的相关内容{/if}

同理:在page.html页,若有子栏目,则输出...若无,则输出...

{if $arrchild_arr}
{loop $arrchild_arr $cid}
...
{/loop}
{else}
...
{/if}

5、在page.html页 获取当前栏目信息(如果无父栏目,则直接输出当前单页信息;否则输出父栏目信息)

{if $parentid==0}{$CATEGORYS[$catid][catname]}{else}{$CATEGORYS[$parentid][catname]}{/if}
{if $parentid==0}{$CATEGORYS[$catid][catdir]}{else}{$CATEGORYS[$parentid][catdir]}{/if}
{if $parentid==0}{$CATEGORYS[$catid][image]}{else}{$CATEGORYS[$parentid][image]}{/if}

6、在page.html页 获取父栏目下的其他栏目(并在当前栏目添加class="current")

{loop $arrchild_arr $cid}
    <li{if $catid==$cid} class="current"{/if}><a href="{$CATEGORYS[$cid][url]}">{$CATEGORYS[$cid][catname]}</a></li>
{/loop}

7、在category.html页 获取该栏目下的子栏目

{loop subcat($catid) $r} 
<a href="{$r[url]}">{$r[catname]}</a> 
{/loop} 

下面这种方法也适用(第9条的方法在category.html中同样适用)

{pc:content action="category" catid="$catid" num="15" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
<a href="{$r[url]}">{$r[catname]}</a>
{/loop}
{/pc}

8、在list.html页 获取父级栏目下的子栏目,并给当前栏目加上current类

{loop subcat($parentid) $v}
<a{if $catid==$v[catid] || $parentid==$v[catid]} class="current"{/if} href="{$v[url]}">{$v[catname]}</a>
{/loop}

下面这种方法也适用(第9条的方法在list.html中也同样适用)

{pc:content action="category" catid="$parentid" num="15" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
<a{if $catid==$r[catid] || $parentid==$r[catid]} class="current"{/if} href="{$r[url]}">{$r[catname]}</a>
{/loop}
{/pc}

9、在show.html页 获取父级栏目下的子栏目,并给文章所属的栏目加上current类(此代码加current类在category.html中不适用,需去掉)

{pc:content action="category" catid="$top_parentid" num="15" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
<a{if $catid==$r[catid] || $top_parentid==$r[catid]} class="current"{/if} href="{$r[url]}">{$r[catname]}</a>
{/loop}
{/pc}

10、点击顶级栏目自动跳转到二级栏目下的第一个栏目

在page.html或category.html文件的头部添加以下代码即可

<?php
if($child){
     $child_arrary=explode(',',$arrchildid);
        $to_url=$CATEGORYS[$child_arrary[0]][url];
  echo "<script>window.location.href='".$to_url."'</script>";
    }
?>

有朋自远方来...评论一下呗O(∩_∩)O

  • 搜索