PHPCMS主栏目直接跳转到子栏目的实现方法

发布时间:2022-05-06浏览次数:847 次
在前端切图完成后,嵌套后端程序的过程中,有部分客户要求使用PHPCMS的程序,PHPCMS是一款知名度非常高的开源CMS内容管理系统。虽然强大,但在使用的过程中

前端切图完成后,嵌套后端程序的过程中,有部分客户要求使用PHPCMS的程序,PHPCMS是一款知名度非常高的开源CMS内容管理系统。虽然强大,但在使用的过程中,仍然存在一些槽点。

比如说,有些企业网站的客户,栏目导航如下:主栏目为:关于我们,然后对应的自导航为:企业简介、董事长致辞、发展历程、荣誉资质等等。这个时候,客户的要求是:点击主栏目关于我们之后,直接跳转到其对应的子栏目的第一个,即企业简介。虽然这有点违背正常的建站思路,但是还是应该尽量的去满足客户的要求。

像这种点击主栏目后跳转到子栏目的需求,换做在织梦DEDECMS中就相对比较容易实现了,但是PHPCMS的栏目管理中,要么是需要添加带模板的栏目,要么是创建带链接的栏目。两者之间不能互相转换,如需切换,必须删除重建。这就略显麻烦。

我们最终的实现思路如下:

PHPCMS主栏目直接跳转到子栏目的实现方法

即将主栏目替换为外部链接,这一步大家可以重建,也可以直接通过数据库进行修改。

但是在这样操作以后,会有一些次生的问题。

1、主栏目为链接形式的栏目下的子栏目无法管理内容

比如说,这里的单页面的子栏目都无法进行管理内容,点击【内容】→【管理内容后】这些栏目会隐藏,这点算是PHPCMS不如织梦的地方,这个时候,我们需要在编辑的时候先手动将栏目移出,待编辑完成之后再归位即可。

2、如果子栏目页面引用了主栏目的描述信息,信息会丢失。

PHPCMS点击主栏目直接跳转到子栏目

比如这里前端显示的Group profile 这些信息,我们是统一调取的主栏目的描述信息。实现代码如下:

{if isset($parentid) && $parentid == 0}
{php $parInfoId = $catid}
{else}
{php $parInfoId = $CATEGORYS[$catid]['parentid']}
{/if}
<em>{strtoupper(substr($CATEGORYS[$parInfoId]['description'],0,1))}</em>
<span>
    <strong>{$CATEGORYS[$parInfoId]['catname']}</strong>
    <i>{substr($CATEGORYS[$parInfoId]['description'],1)}</i>
</span>

即,只先判断得到其上级栏目的ID值,再获取其栏目的描述信息。

但是,在将栏目修改为链接形式之后,PHPCMS默认的新增链接式栏目时,并未提供描述信息框,如下图:

如果说这个时候,我们为了这一小段的英文字母,去多定义几套模板,那么是得不偿失的。此时最好的解决方案是回到数据库,找到栏目表`v9_category`,找到对应的栏目数据,编辑其description字段即可。

标签:标签phpcms
扫一扫,在手机上查看