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

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

<?php
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"}
<ul>
<li><a href="{siteurl($siteid)}"><span>首页</span></a></li>
{loop $data $r}
<?php
if ($r[type] == 1 && $r[child] == 1) { //判断是否为单页 || 判断是否包含子栏目
$child_arrary=explode(',',$r[arrchildid]); //获取子栏目id
$r[url]=$CATEGORYS[$child_arrary[1]][url]; //获取第一个子栏目url
}
?>
<li><a href="{$r[url]}"><span>{$r[catname]}</span></a></li>
{/loop}
</ul>
{/pc}

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

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

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

<?php
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
}
?>

phpcms单页顶级栏目默认打开第一个子栏目方法的更多相关文章

  1. DEDECMS点击主栏目默认显示第一个子栏目列表的方法

    本文实例讲述了DEDECMS点击主栏目默认显示第一个子栏目列表的方法.分享给大家供大家参考.具体分析如下: 今天公司有个需求是,点击导航上的父栏目进去默认显示第一个子栏目的列表,以下是具体实现方法,可 ...

  2. 请问:关于织梦dedecms点击导航上的父栏目进去默认显示第一个子栏目的列表的问题

    要设置织梦dedecms点击导航上的父栏目进去默认显示第一个子栏目的列表, 就按照如下图所示的方法进行操作,为什么 点击导航上的父栏目出现死循环呢, 根本浏览不了网页. 请各位大神指点指点,为什么点击 ...

  3. vue父路由默认选中第一个子路由,切换子路由让父路由高亮不会消失

    vue父路由默认选中第一个子路由,切换子路由让父路由高亮不会消失 正常默认会有 .router-active-class 识别高亮 达到以上注意: 1. exact 不要加 注意是不要加,exact ...

  4. win10关于后缀名无法关联相应程序默认打开方式的处理方法

    系统:win10 专业版 现象:以".chm"文件为例,每次都要重新选择一次打开方式才能打开chm文件,无法设置默认打开方式. 解决方法: 1.win+r打开运行,输入regedi ...

  5. phpcms 列表页中调用其下的所有子栏目(或特定的子栏目)的方法

    phpcms 列表页中,如何调用其下的所有子栏目(或特定的子栏目),具体的写法如下,感兴趣的朋友可以参考下,希望对大家有所帮助 代码如下: {pc:get sql="select * fro ...

  6. win10 无法修改默认程序 默认打开方式的解决方法

    此时是2018年11月24日 win10 pro 64位 版本是1803  具体版本号是17134 情景: 我的状况是.json文件的默认打开方式被新安装的应用霸占了,然后无论是通过“右键-属性-更改 ...

  7. phpcms v9中调用栏目及调用多个子栏目中的文章列表

    调用一个指定栏目列表:            {pc:content action="lists" catid="6" order="id DESC& ...

  8. phpcms访问顶级栏目,自动跳到第一个子栏目

    在顶级栏目的category页放入如下代码: <?php if($child){ $child_arrary=explode(',',$arrchildid); $to_url=$CATEGOR ...

  9. PHPCMS v9修改栏目或者单页没有权限

    问题: 普通管理员没有权限修改栏目,只有超级管理员才有权限修改,凡是非超级管理员,设置栏目权限后只能添加栏目,不能对栏目进行修改和删除操作,提示您没有权限操作该项这使系统的一个BUG.   一.对于普 ...

随机推荐

  1. SQL Server 数据收缩

    1. 数据库的相关属性 在MS中创建数据库时会为数据库分配初始的大小(如下图:数据库和日志两个文件),随着数据库的使用文件会逐渐增大.数据库文件大小的增加有两种方式: 自动增长:在自动增长中可以设置每 ...

  2. Web | JavaScript的提升机制

    作用对象: 函数和变量的声明. 作用效果: 会将其声明提升到其所在的作用域的最顶端.函数会优先于变量的声明. //函数的提升优于变量的提升 test(); var a=2; function test ...

  3. [💯原]Javascript,我们来用js在网页中识别鼠标手势

    觉得点击切换图片这样的方式不潇洒,鼠标手势呢?于是构思了一下识别鼠标手势的问题.自己去实现然后封装成了一个jquery插件.使用简洁. 下载地址: http://download.csdn.net/d ...

  4. 关于xib控件变成框框An internal error occurred

    前段时间在进行系统适配的时候,由于在两个不同版本的Xcode之间进行了代码运行调试,导致回到老版本继续开发时xib里面所有的控件全部变成了蓝色的框框...真是哔了狗了 报错信息: an interna ...

  5. Linux下Tomcat性能优化--文件句柄数增大

    今天在对项目进行性能压力测试时,设置并发量为1000,发现Tomcat控制报错: java.IOException:打开的文件过多 经搜索,发现是由于Linux默认设置的句柄数为1024,当并发量过大 ...

  6. CSS 清楚浮动总结

    1.clear属性. 注:设置子元素(伪元素或DIV等其它元素) 2.触发BFC. 注:根元素HTML float不为none overflow不为visibile display为inline-bl ...

  7. mysql 基本的操作数据库命令

    注意:命令操作都是分号结尾 1 .连接mysql: mysql -u  用户名   -p 密码 2.展示所有数据库: show  databases; 3.进入数据库: use   数据库名字; 4. ...

  8. Delphi XE7的Splash 功能

    Delphi XE5,XE6,XE7编译的程序在Android下启动会有一段时间黑屏,以前需要用Java扩展Activity增加Splash显示, 现在Delphi XE7增加了Splash Imag ...

  9. 如何从SAP ECC中抽取簇表数据

    打开SAP 客户端工具 ABAP 中 创建包(SE80) 创建函数组 展开ABAP 工作台,双击ABAP Dictionary 字典: 选择第三个data type,输入数据结构名称ZSQL_CLAU ...

  10. 获取文件属性“详细信息” - StringFileInfo

    0.什么是StringFileInfo1.获取方法2.示例代码 参考链接: 1.MS docs - GetFileVersionInfoA:https://docs.microsoft.com/zh- ...