如何让phpcmsV9再发布修改内容的时候不自动生成首页和栏目页

2024-11-04 18:25:51
推荐回答(1个)
回答1:

在用phpcms V9做二次开发的时候,由于没有做首页的模板,又为了让首页显示栏目页的内容,就修改了/phpcms/modules/content/create_html.php文件里面的public_index函数,该函数大概在499行,我们修改让首页的内容读取的是栏目页首页的内容,也就是首页是,但是我们读取了的内容,目的是可以省去一个模板,而且还可以有首页。但是这样做又出现了一个问题,就是每次更新和修改内容的时候,由于自动更新了栏目页和首页,导致了之前首页读取栏目页的内容失败,回到了旧版的V9的首页,每次更新内容都要重新发布首页,确实很麻烦。
想了许久,终于找到了解决方法,首先我们找到/phpcms/model/content_model.class.php里面的add_content函数,大概在33行,我们找到215-216行,注释掉以下代码:
//在添加和修改内容处定义了 INDEX_HTML
if(defined('INDEX_HTML')) $html->index();
if(defined('RELATION_HTML')) $html->create_relation_html($catid);
这个只是添加文章不自动生成首页和栏目页,还有修改编辑文章不自动生成首页和栏目页,这次我们要在该文件下找到edit_content函数,大概在226行,我们找到321-314行,然后注释掉以下代码:
//在添加和修改内容处定义了 INDEX_HTML
if(defined('INDEX_HTML')) $html->index();
if(defined('RELATION_HTML')) $html->create_relation_html($systeminfo['catid']);
这样我们就解决了,在添加和修改文章时候自动更新首页和栏目页的问题,同样该方法也可用于那些不想让V9自动生成首页和栏目页,想手动去生成的人。