PHPCMS主栏目直接跳转到子栏目的实现方法
在前端切图完成后,嵌套后端程序的过程中,有部分客户要求使用PHPCMS的程序,PHPCMS是一款知名度非常高的开源CMS内容管理系统。虽然强大,但在使用的过程中,仍然存在一些槽点。
比如说,有些企业网站的客户,栏目导航如下:主栏目为:关于我们,然后对应的自导航为:企业简介、董事长致辞、发展历程、荣誉资质等等。这个时候,客户的要求是:点击主栏目关于我们之后,直接跳转到其对应的子栏目的第一个,即企业简介。虽然这有点违背正常的建站思路,但是还是应该尽量的去满足客户的要求。
像这种点击主栏目后跳转到子栏目的需求,换做在织梦DEDECMS中就相对比较容易实现了,但是PHPCMS的栏目管理中,要么是需要添加带模板的栏目,要么是创建带链接的栏目。两者之间不能互相转换,如需切换,必须删除重建。这就略显麻烦。
我们最终的实现思路如下:
即将主栏目替换为外部链接,这一步大家可以重建,也可以直接通过数据库进行修改。
但是在这样操作以后,会有一些次生的问题。
1、主栏目为链接形式的栏目下的子栏目无法管理内容
比如说,这里的单页面的子栏目都无法进行管理内容,点击【内容】→【管理内容后】这些栏目会隐藏,这点算是PHPCMS不如织梦的地方,这个时候,我们需要在编辑的时候先手动将栏目移出,待编辑完成之后再归位即可。
2、如果子栏目页面引用了主栏目的描述信息,信息会丢失。
比如这里前端显示的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字段即可。
- CSS颜色函数--rgb()、rgba()的语法和使用
rgb()函数和rgba()函数是前端切图工作当中经常用到的颜色函数,根据光学三原色红(red)、绿(green)、蓝(blue)三种颜色的不同分量进行混合后来
- CSS最大值计算函数--max()函数的定义和使用
max()函数的作用是从一系列用逗号分割的参数中选取最大的一个,作为属性值,参数可以是直接数值,字面量、数学表达式、css函数等,支持嵌套。与min()函数的作
- 后台发布文章时自动保存草稿功能的实现
“正在系统后台编辑文章,顺手看了下群里的视频,关视频的时候不小心连网页一起关闭了,写了大半的文章说没就没了?”,相信很多人都遇到过这种场景,辛辛苦苦码了半天的字
- CSS获取属性值函数--attr()函数的定义和使用
attr()函数为CSS返回元素属性值函数一、attr()函数的语法:该函数接收一个单一参数:attribute-name,即属性名,attr()函数返回被选择
- 富文本编辑器CKEditor5接入指南
在后端制作CMS等需要用到富文本编辑器的时候,经常会陷入选择困难症,众所周知,目前市面上的富文本编辑器大概有数十种,比如百度的ueditor、TinyMCE、w
- WebStorm中如何配置SCSS
WebStorm是一款很优秀的用于前端开发的IDE,用于开发基于HTML、CSS、JS等的应用时非常应手,当然JetBrains旗下的其他IDE,如PHPSto
- CSS颜色函数--rgb()、rgba()的语法和使用
rgb()函数和rgba()函数是前端切图工作当中经常用到的颜色函数,根据光学三原色红(red)、绿(green)、蓝(blue)三种颜色的不同分量进行混合后来
- CSS限定属性值函数--clamp()函数的语法和使用
clamp()的作用是将属性值限制在最大、最小值之间,当值介于最大最小值范围中时,则使用给定的首选值。一、clamp()函数的语法clamp(MIN, VAL,