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

我的问题是:

我的栏目设置如下:

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

这样出现的问题是:

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

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

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

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

然后我就到处找生成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的基础。

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

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

时间: 2024-08-10 18:57:29

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

搭建windows server 2008 r2 FTP 后 开启防火墙无法访问的解决办法

转自http://kkworms.blog.51cto.com/540865/558477 今天在windows server 2008 R2上安装了FTP,安装过程如下,然后添加内置防火墙设置,设置后发现本地可以访问FTP,但其它计算机无法访问,关闭防火墙后都可访问,说明还是防火墙设置的问题. 经过两个小时的测试,发现原来应该这样设置:这个问题确实搞了我好长时间,感觉非常奇怪. 安装:   创建FTP站点:  允许匿名等,根据需要进行设置,然后设置防火墙,添加 预定义FTP,会自动生成3条规则

VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法

在虚拟机centos7上安装nginx之后虚拟机内能访问,真机不能访问,修改iptables配置也不起作用,最后上网查找了资料后才发现centos的防火墙改成了firewall,不再叫iptables,开放端口的方法如下: firewall-cmd --zone=public --add-port=80/tcp --permanent 命令含义: –zone #作用域 –add-port=80/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效 重

MAC OS X 10.10 应用程序下载失败后lunchpad产生灰色图标的解决办法

方法如下:打开应用程序- 实用工具 - 终端. 以此出入如下字符 defaults write com.apple.dock ResetLaunchPad -bool true killall Dock 再次打开 LaunchPad 的时候, 所有图标会被重建, 并且之前的所有设置都会丢失. 没有特殊情况不要使用哦. 以免丢失之前的排列方式与文件夹. MAC OS X 10.10 应用程序下载失败后lunchpad产生灰色图标的解决办法,布布扣,bubuko.com

安装genymotion后出现无法创建虚拟设备的解决办法

安装genymotion后出现无法创建虚拟设备的解决办法 如果你安装系统的用户名中含有中文,而且使用到上篇文章所说的方法安装VirtualBox后,当你正确安装genymotion后创建虚拟机时如果出现Unable to create virtual device.Failed to attach disk.这种提示信息,原因是因为你部署虚拟设备的路径中还有中文,解决办法如下: 1.打开genymotion,找到Settings选项,然后点击进入如下界面: 2.点击VirtualBox选项,会发

XenServer 以模板方式安装新的虚拟机后虚拟机网卡无法启动的解决办法

在XenServer上根据模板新建一个虚拟机后无法识别网卡,重新启动网卡后显示 Bringing up interface eth0:  Device eth0 has different MAC address than expected, ignoring. 最终解决办法是将/etc/sysconfig/network-scripts/ifcfg-eth0 中的HDADDR给注释掉,因为这里配置文件的MAC地址还是原来模板机的MAC地址,新配置的虚拟机的MAC地址和这个不一样,所以无法启动.

Stuts2的"struts.devMode"设置成true后,不起作用的解决办法

不用 <constant name="struts.devMode" value="true" /> 改成 <constant name="struts.configuration.xml.reload" value="true"/> 有人说是因为tomcat加了空格的问题,具体不清楚. 下面是4个开发模式常用配置的简介--- <!-- 开启使用开发模式,详细错误提示 --> <!--

MySQL 数据库输入密码后闪退的问题及解决办法

MySQL 数据库输入密码后闪退的问题及解决办法 1.问题说明 在启动MySQL服务端并输入密后,出现闪退现象.实际上,这种问题很常见,大多数原因可能是在咱们使用安全软件的时候,无意中关闭了MySQL服务.此外,如果MySQL服务已经启动了,但还是出现了闪退的现象,那就可能是MySQL的配置出现了问题. 2.解决方案(步骤) 鼠标右击此电脑 点击管理 点击服务和应用程序 点击服务 找到MySQL,点击启动此服务即可 原文地址:https://www.cnblogs.com/zhuchengbo/

[分 享] PHPCMS V9 更换域名,附件地址无法批更新(更换变便)问题&gt;解决方法!!

大家应该都有在域名更换(比如说,从本地上传到空间)的情况下,用内容>附件管理>附件地址替换 功能. 基本上替换不了所有表中原来域名的地址. 现PHPCMS V9最新版本的依旧存在些问题. 查找原因发现phpcms\modules\attachment\address.php  update() 中(最新版本LINE35)如下代码存在问题: if (preg_match('/(char|text|mediumtex)+/i', $val)) { 该句是对所有表中的所有字段类型进行判断.如果是ch

Vivado SDK 2014.2 创建新工程后,BSP版本不对的解决办法

问题描述如下: 1. 使用Vivado SDK 2014.2已经创建了工程,但是此时,hdf文件增加了外设,需要重新创建工程以更新SDK中的外设描述: 2. 使用新的hdf创建工程后,发现system.mss文件中有些外设的BSP包名称显示为红色,把system.mss改成可编辑模式后,看到外设对于的BSP包版本不对: 3. 由于外设的BSP包版本不对,导致工程编辑错误,无法生成elf文件. 解决办法: 使用新的hdf文件重新创建工程之前,先在Xilinx Tools --> Repositor