phpcms v9二级栏目生成到根目录后三级栏目无法访问的解决办法

phpcms v9二级栏目生成到根目录后三级栏目无法访问的解决办法

我的问题是:

我的栏目设置如下:

一级栏目[生成到根目录(是)]> 二级栏目[生成到根目录(是)] > 三级栏目[生成到根目录(否)]

这样出现的问题是:

页面文件生成的路径是mysite/一级栏目/二级栏目/三级栏目/index.html;

但实际上页面生成的url地址是mysite/二级栏目/三级栏目/index.html;

2个地址不一致,导致我的三级栏目不能访问。

首先我看到数据库里面arrparentid和url路径前面居然不一样,难怪打不开了。

phpcms v9二级栏目生成到根目录后三级栏目无法访问的解决办法

然后我就到处找生成parentdir和url字段的方法。

可怜我不会程序啊,几乎花了我一天的时间找,昨天晚上终于被我找着了。

分别是在\phpcms\modules\admin\category.php中的get_parentdir方法

和\phpcms\modules\content\classes\url.class.php中的get_categorydir方法。

经比较这2段程序明显不一样,明显是2个程序员写的。

写category.php页面的程序员我就不多评价了……唉,只能说考虑不周吧。

我从数据库里面看到url字段里的路径都是对的,而parentdir里的路径是错误的。

我就参照url.class.php里面的写法把category.php里的get_parentdir方法改了下。

这个改也花了我今天一天的时间唉,中间我向这个问,那个问,都无果。

只好自己慢慢磨了,程序里面判断都好懂,就是被数组啊,和程序里面的这个this那个this搞的头都晕了,还好以前有点asp的基础。

后来倒是被我琢磨出来了,顺利生成页面,搞定。

这是我改过的地方,给遇到同样问题的人参考参考,改后暂时没发现什么问题。

phpcms v9二级栏目生成到根目录后三级栏目无法访问的解决办法