php默认打开页,phpcms单页顶级栏目默认打开第一个子栏目方法

首先phpcms单页如过下面有子栏目,那么当前栏目是不能被编辑内容的,且访问后是没有内容的,首先不知道这是不是产品设计的一个缺陷,但是在使用过程中确实在后台也没有找到其他的对应解决办法,刚好在某QQ群里发现一个小伙伴也遇到了这样的困扰,于是我就在模版里解决了着一个问题。

首先我们要在导航的loop中加入下面的代码:

if ($r[type] == 1 && $r[child] == 1) { //判断是否为单页 || 判断是否包含子栏目

$child_arrary=explode(',',$r[arrchildid]); //获取子栏目id

$r[url]=$CATEGORYS[$child_arrary[1]][url]; //获取第一个子栏目url

}

?>

加完后如以下例子:

{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}

{loop $data $r}

if ($r[type] == 1 && $r[child] == 1) { //判断是否为单页 || 判断是否包含子栏目

$child_arrary=explode(',',$r[arrchildid]); //获取子栏目id

$r[url]=$CATEGORYS[$child_arrary[1]][url]; //获取第一个子栏目url

}

?>

{$r[catname]}

{/loop}

{/pc}

操作完成后,再去导航栏看看你的单页父亲级URL会变成其第一个子栏目的url,这样的这比使用跳转要好一些,至少我自己是这样感觉的。

当然,在结合下面的代码更完美。

在我们的单页模版里加一个301跳转,代码如下:

if ( $child ) {//判断是否包含子栏目

$child_arrary = explode( ',', $arrchildid );//获取子栏目id

$url = $CATEGORYS[ $child_arrary[ 1 ] ][ url ];//获取第一个子栏目url

header( "HTTP/1.1 301 Moved Permanently" );//301重定向声明

header( "Location:" . $url );//跳转至第一个子栏目URL

}

?>

如果你的需求是所有父级栏目都这样做,可以根据我以上提供的代码进行修改,这种方法轻便简单,不会影响程序升级,如果各位小伙伴有什么更好的方案,可以留言指出,一起探讨!

所属目录: 发布时间:2017-04-25 13:09:45阅读:0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值