返回旧版| 微信建站| 我要建站 | 建站学习 | 加入收藏
PHPCMS当前位置:首页 > cms教程 > 综合cms > PHPCMS > 正文

phpcmsv9实现给顶级栏目添加文章并生成静态页面

发布时间:2021-10-12 21:05:58   来源:   点击:
在phpcmsv9程序中默认是不支持给顶级栏目添加文章内容的,而且,给添加过文章的栏目添加子栏目后,该栏目下原有的文章在管理内容中也看不到,同时在生成静态页面时,这个栏目下原有的文章不会被生成静态页面,只会把它子栏目中的文章生成静态页面。

        如果一个栏目有内容,然后又增加了子栏目,变成父栏目后,对应的文章就会“消失”,并且栏目下原来的文章并没有生成静态页面。

今天,心月就来分享下这两个问题的解决方法:

第一个问题添加子栏目后父栏目原来的文章不见了,也不能给父栏目继续添加文章了

其实也不是文章不了,只是phpcmsv9程序默认在有子栏目时,取消了父栏目的相关“事件”,所以,只需要这个取消的相关“事件”重新加上就可以了。

有两个地方需要修改:

第一处修改:

phpcms/modules/content目录下的content.php文件里面,打开该文件找到public_category函数,在 if(!empty($categorys)) 判断内,找到一下代码:

 
1
$strs2 "<span class='folder'>\$catname</span>";

修改为:

 
1
$strs2"<span class='folder'>\$add_icon<a href='?m=content&c=content&a=\$type&menuid=".$_GET['menuid']."&catid=\$catid' target='right' onclick='open_list(this)'>\$catname</a></span>";

修改前的代码截图:

第二处修改:

在content.php同级目录下的creat_html.php文件,大约在178行左右将以下代码注销即可:

 
1
// $r['disabled'] = $r['child'] ? 'disabled' : '';

修改前的代码截图:

此时我在来后台看看,从动态截图中可以看到,已经可以看到“国内新闻”栏目 下原来添加的文章,而且子栏目的显示也正常,最重要的,还可以继续给“国内新闻”栏目添加文章。

【注意】经此处理后,如果父栏目是单页面,也可以给它添加内容。

 

第二个问题:第一个问题已经解决了,现在就来解决第二个问题,父栏目下的文章不能生成静态页面的问题

        其实这个问题比第一个问题更好解决,之所以在批量更新内容页时父栏目下的文章不能生成静态页面是因为在处理生成静态页面时把父栏目给跳过去了,看下面的代码截图:

(这是第一个问题中的 create_html.php 文件中的 show 方法,也就是后台选择批量更新内容提交时执行的方法),从截图中的红色框框部分内容可以看到,当栏目存在子栏目时,被跳过去了,所以批量更新内容才不会生成父栏目文章的静态页面。

修改内容(图中红色框框部位代码):

 
1
if($cat['child'] || $cat['siteid'] != $this->siteid || $cat['type']!=0) continue;

修改为:

 
1
if($cat['siteid'] != $this->siteid || $cat['type']!=0) continue;

有两处:还有一处也是这个 show 方法,大概230左右,同样把下面的代码:

 
1
if($cat['child'] || $cat['siteid'] != $this->siteid || $cat['type']!=0) continue;

修改为:

 
1
if($cat['siteid'] != $this->siteid || $cat['type']!=0) continue;

 

现在在批量更新内容就可以生成父栏目下的文章的静态页面了。

本文转自:https://www.xinyueseo.com/cms/555.html(做了部分调整)

相关栏目
热门文章
最新图文
评论排行
版权所有:郑州腾石网络科技有限公司 备案信息:豫ICP备18019117号-2
站长QQ:2863868475 业务合作咨询:15137100750(同微信)
本站所有投放的广告是有其他网站提供,不代表本站立场,同时网站首页广告位对外出租详情咨询本站站长!同时欢迎广大站长加入个人建站团队
  • 建站客服
  • CMS仿站
  • CMS学习
  • 技术交流群:336572814