phpcms 新建php页面,phpcmsv9实现给顶级栏目添加文章并生成静态页面

favicon.ico摘要:在phpcmsv9程序中默认是不支持给顶级栏目添加文章内容的,而且,给添加过文章的栏目添加子栏目后,该栏目下原有的文章在管理内容中也看不到,同时在生成静态页面时,这个栏目下原有的文章不会被生成静态页面,只会把它子栏目中的文章生成静态页面。

在phpcmsv9程序中默认是不支持给顶级栏目添加文章内容的,而且,给添加过文章的栏目添加子栏目后,该栏目下原有的文章在管理内容中也看不到,同时在生成静态页面时,这个栏目下原有的文章不会被生成静态页面,只会把它子栏目中的文章生成静态页面。

20191207_1575707707648375.gif

从上面的动态图中可以看到,“国内新闻”栏目本来是有文章的,但添加了子栏目后,“国内新闻”栏目原来的文章不见了。

经测试还发现,在批量更新内容页时,“国内新闻”栏目下原来的文章并没有生成静态页面。

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

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

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

有两个地方需要修改:

第一处修改:

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

修改为:$strs2= "\$add_icon\$catname";

修改前的代码截图:

20191207_1575709117650785.jpg

第二处修改:

在content.php同级目录下的creat_html.php文件,大约在178行左右将以下代码注销即可:// $r['disabled'] = $r['child'] ? 'disabled' : '';

修改前的代码截图:

20191207_1575709286751158.jpg

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

20191207_1575709490720133.gif

【注意】

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

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

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

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

20191207_1575709907994104.jpg

修改内容(图中红色框框部位代码):if($cat['child'] || $cat['siteid'] != $this->siteid || $cat['type']!=0) continue;

修改为:if($cat['siteid'] != $this->siteid || $cat['type']!=0) continue;

有两处:还有一处也是这个 show 方法,大概230左右,同样把下面的代码:if($cat['child'] || $cat['siteid'] != $this->siteid || $cat['type']!=0) continue;

修改为:if($cat['siteid'] != $this->siteid || $cat['type']!=0) continue;

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

20191207_1575710737469852.jpg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHPCMS V9自定义栏目静态实现方法如下: 1. 在 PHPCMS 的后台找到“栏目管理”并进入“修改栏目页面,找到“栏目目录”一栏,将其改为英文名称,例如“news”。 2. 进入 PHPCMS 的后台,找到“系统设置”并进入“URL设置”页面,选择“伪静态模式”并将“扩展名”设为空,然后在“自定义规则”中添加以下规则: RewriteRule ^news/([0-9]+)/?$ index.php?m=content&c=index&a=lists&catid=$1 [L] RewriteRule ^news/index.html$ index.php?m=content&c=index&a=lists&catid=6 [L] 3. 在服务器上开启 Apache 的 mod_rewrite 模块,可以在 Apache 的配置文件(httpd.conf)中添加以下语句: LoadModule rewrite_module modules/mod_rewrite.so 4. 在 PHPCMS 的根目录下创建一个名为“.htaccess”的文件,并将以下代码复制到该文件中: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 5. 保存并上传“栏目目录”中的所有文件和文件夹。 6. 在浏览器中输入网站地址加上“news/”,例如“http://example.com/news/”,即可访问自定义栏目静态页面。 注意事项: 1. 请确保服务器已开启 mod_rewrite 模块,并在 Apache 的配置文件中添加了相应的语句。 2. 在修改“栏目目录”和“自定义规则”时,请确保它们的对应关系正确。 3. 如果您不熟悉 Apache 的配置和 mod_rewrite 模块的使用,请谨慎更改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值