织梦生成栏目html无反应,排除法解决[织梦dedecms生成栏目没反应]问题 揪出罪魁祸首GetTopTypename()!...
好久没用织梦dedecms了,最近有帮客户制作一网站,客户原先程序就是dedecms,想调整网站结构以适应seo,且同时更改网站风格,需求既如此,那就在现有的dedecms网站基础上进行改版就好。
是否长久不用织梦的原因,在制作过程中,总会突然冒出一两个小问题,好在简单,一搜索,网上都有答案,不料,在更新栏目页时,却出现了一个较大的问题,就是生成栏目页时没有反应,像一条死狗一样,你怎么戳它,它都不会吭声。
这个问题很严重,如果不能解决的话,前边的工作就会全功尽弃!
是客户网站dedecms程序版本低的原因导致?
但几年前哥用的版本也差不多哎!
按网上的教程,见百度经验:dedecms织梦更新生成栏目没反应问题总汇,操作了一遍,发现还是没有解决。看来并不是版本低的原因。
重新把备份的客户网站dede后台目录再传至ftp进行全部覆盖,结果还是无反应。
那应该不是程序本身的问题了,试着去模板中找找原因吧。
那到底是程序问题还是模板的问题,也没有那么清楚,先做一个测试来判定。
在织梦dedecms后台把某栏目(使用频道模型)对应的频道模板换成default默认的路径(注:新制作的网站模板命名不叫default,默认的还在),发现可以生成。
(注:上图,请将{style}换成default,进行测试后再换回来)
发现栏目能生成,只是因为使用了default默认模板,打开是一片杂乱。此外,哪怕是没有对应的模板文件,生成栏目时也会出现错误告知。
那说明程序本身没有问题,这个锅不要让程序来背,判断是由于模板未知原因导致。
--------------------------
知道导致问题的关键所在后,就易寻找到答案,无非在模板中的代码。在百度知道这篇:dede后台更新栏目 点击开始生成html没反应为什么?说到把一个带有“GetTopTypename(@me)”的代码删除就好!那就去find GetTopTypename,发现,还真有。
于是将其注释掉,上传模板再去更新栏目,还是纹丝不动,没有一点反应。
来回几次折腾,发现一个问题:
就是dedecms的标签代码虽然把它注释了,可是它还会继续工作(你可以查看生成的网页文件源代码来观察),不像html那样,注释就不解析了。
于是直接删除带有GetTopTypename的标签代码,换成:{dede:field name='typename' /}
重新更新栏目,发现好了,可以生成,恢复正常。
---------------------------------
但又发现一个问题。如图:
严格一点的话,这个显示有点儿不太符合逻辑啊!
后台的栏目结构是这样的。
看来{dede:field name=’typename’ /}只能显示它自己的名字,不能显示上属层级的名称。
这就要重新审核GetTopTypename()的作用了。
GetTopTypename()作用就是获得子栏目的上层栏目的名称。给它一个栏目id,就能逆流而上,回溯去找这个id的上一级领导或上级领导的领导,直到找到一个为止。如下:
1.复制如下代码至include/common.func.php的最下方。
//获取顶级栏目名
function GetTopTypename($id)
{
global $dsql;
$row = $dsql->GetOne(“SELECT typename,topid FROM `#@__arctype` WHERE id= $id”);
if ($row[‘topid’] == ‘0’)
{
return $row[‘typename’];
}
else
{
$row1 = $dsql->GetOne(“SELECT typename FROM `#@__arctype` WHERE id= $row[topid]”);
return $row1[‘typename’];
}
}
2.上传至网站空间。
3.测试是否功能正常,且不影响其他功能使用。
要如何才能让GetTopTypename()生效而又不会造成栏目更新时无反应的问题,方法就是上述三步。
经过这一操作,客户网站的栏目层次逻辑结构显示得清楚明白。
GetTopTypename()并不是dedecms自带的方法,如果没有预先定义这个GetTopTypename()功能函数,想发挥作用是不成的,反而会造成织梦dedecms生成栏目没反应的莫名问题——因为生成html页面的后台程序不能识别模板中的GetTopTypename(),不过,在你有需求的时候,GetTopTypename()能弥补dedecms自带功能的不足,发挥其”寻祖归宗”的作用。
是为记,以备用。
本文链接:肖运华 » 网站策划设计制作优化 » 排除法解决[织梦dedecms生成栏目没反应]问题 揪出罪魁祸首GetTopTypename()!
转载请注明:http://www.xiaoyunhua.com/2075.html
织梦生成栏目html无反应,排除法解决[织梦dedecms生成栏目没反应]问题 揪出罪魁祸首GetTopTypename()!...相关推荐
- jeecg-boot自动生成代码_无代码实现销售系统自动判定并生成订单功能
ERP项目中,业务员创建销售单后,还需要确认产品库存是否充足,如不充足,还需要手动创建生成订单通知车间进行生产,比较麻烦,客户希望系统可以自动进行判断,自动根据现有库存生成生产订单. 目标: 新建销售 ...
- python生成exe文件运行闪退解决方法
** python生成exe文件运行闪退解决方法: ** 使用pyinstaller生成.exe文件: pyinstaller -F filename.py 用python写了一个程序,在python ...
- DEDECMS织梦后台更新网站栏目无反应一键更新无响应的解决方法
DEDECMS织梦后台更新网站栏目无反应一键更新无响应的解决方法 参考文章: (1)DEDECMS织梦后台更新网站栏目无反应一键更新无响应的解决方法 (2)https://www.cnblogs.co ...
- 织梦5.7生成HTML很慢,Dedecms 生成静态网页速度特别慢的问题
最近有位站长朋友咨询烈火网一个十几万数据的DedeCMS系统,发现用Dedecms生成速度,慢的跟蜗牛一样,CPU达到100%,有时候半天都不动.本人经过查找在dedecms官网论坛找到个合适的代码, ...
- 织梦新建顶级栏目打不开,解决办法
织梦新建顶级栏目打不开,解决办法 问题:织梦网站,新建一个栏目,地址是:/xinjianlanmu/,然后更新后,首页连接地址是http://www.*******.cn/xinjianlanmu/, ...
- 织梦微信小程序一键生成插件(资讯案例模板),整合织梦CMS一切数据信息
<织梦微信小程序一键生成插件(资讯模板)>是织梦58发布的便于生成微信小程序的插件,让用户更方便生成资讯类小程序. 版本:1.1(当前1.0版本,下载安装之后可以进行更新升级) 使用该插件 ...
- 织梦dedecms 创建栏目
说是创建栏目,简单的说就是创建导航栏 首先,打开dedecms后台,如下图 然后,填写栏目信息 填写完成之后,点击右上方的更新栏目缓存按钮 再次浏览前台首页 说明:留言模块之前是没有的 这个时候也可以 ...
- 如何让dede支持php7,dedecms在php7下的使用方法,织梦dedecsm后台一片空白的解决方法...
前几天, 一个老客户, 最近升级了服务器, php到php7, 把织梦dedecms转移到新服务器后, 不能登录后台, 让帮忙看一下. 我看了下他们的网站, 使用的是织梦V57_UTF8_SP1 前台 ...
- 织梦模板css没反应,织梦模板无法加载css怎么解决?
织梦模板无法加载css的解决方法:1.把程序安装到根目录:2.修改主页链接为二级目录,模板调用css时使用{dede:global.cfg_indexurl/}即可. 织梦CMS由于安装简单.上手容易 ...
最新文章
- 6. 以下耦合度中最松散的耦合是_Spring Java中的依赖注入,它是如何工作的?- 知识铺...
- C指针原理(42)-内存管理与控制
- HarmonyOS快速开发入门
- docker停止容器后配置_整理了一份 Docker系统知识,从安装到熟练操作看这篇就够了 | 原力计划...
- 【详细注解】1020 Tree Traversals (25 分)
- 如何用c语言验证一个定理,验证动量定理方法一
- CF1338D:Nested Rubber Bands(树形dp)
- c语言二分法_14个经典C语言算法你就不看一眼?(附详细代码)
- LeetCode 115. 不同的子序列(动态规划)
- 版本控制工具(GIT)
- 亲,愚人节要来了!记得带着智商出门哦
- ms17010漏洞利用(主机漏洞利用)
- 利用公网Msf+MS17010跨网段攻击内网(不详细立马关站)
- 小米路由器Android,手机设置小米路由器_小米路由器用手机设置教程-192路由网
- Basler相机参数设置
- 【去水印】最简单的百度图片去水印
- 2010新财富中国富豪榜1至100名
- PayPal 更换汇率结算方式 降低手续费,PayPal汇率结算 改为 银行汇率结算
- tinymce 实现 粘贴图片自动上传
- 智库大会 | 高端对话:智能科技推动管理学变革...