DeDeBIZ得德检查顶级栏目与子栏目高亮问题

snh102 By snh102 at 2025-01-16 • 暂不可见      举报

织梦后台有个栏目移动,非常的方便,时不时的就有站长想操作。

比如:把A移到B下,把C移到D下,在把E移到F下,结果,导航高亮被搞乱了。

先用标签查看

{dede:channelartlist typeid='top' row='50'}
【顶级栏目:{dede:field name='reid'/}】【子级栏目:{dede:field name='topid'/}】【栏目ID:{dede:field name='id'/}】栏目名称:{dede:field name='typename'/}
{dede:channel type='son'}【二级栏目:[field:reid/]】【子级栏目:[field:topid/]】【栏目ID:[field:id/]】栏目名称:[field:typename/]
{/dede:channel}{/dede:channelartlist}

说明:reid 是顶级栏目,topid 是子级栏目。

运行的效果

【顶级栏目:0】【子级栏目:0】【栏目ID:1】栏目名称:文章栏目
【二级栏目:1】【子级栏目:1】【栏目ID:10】栏目名称:二级栏目
【顶级栏目:0】【子级栏目:0】【栏目ID:2】栏目名称:软件栏目
【二级栏目:2】【子级栏目:2】【栏目ID:5】栏目名称:三级栏目
【二级栏目:2】【子级栏目:2】【栏目ID:6】栏目名称:三级栏目2
【顶级栏目:0】【子级栏目:0】【栏目ID:3】栏目名称:一级栏目
【二级栏目:3】【子级栏目:3】【栏目ID:4】栏目名称:二级栏目
【二级栏目:3】【子级栏目:3】【栏目ID:7】栏目名称:三级栏目3
【顶级栏目:0】【子级栏目:0】【栏目ID:8】栏目名称:图集栏目
【顶级栏目:0】【子级栏目:0】【栏目ID:9】栏目名称:图集栏目2

顶级栏目的 reid 和 topid 都是 0 说明正常。
二级栏目的 reid 和 topid 都是 顶级栏目的id 说明TA是某个顶级栏目下的二级栏目。
当某个顶级栏目下的二级栏目的 reid 与 topid 不一样时,说明你移动过这个栏目了。

没啥大问题,不调用导航高亮时,是不会有任何问题的。当你调用导航高亮时,就会出现与其它栏目同时高亮。用SQL修复就行,方法也非常简单。

比如上面的:【二级栏目:3】【子级栏目:2】【栏目ID:7】栏目名称:三级栏目3

UPDATE `#@__arctype` SET reid=3,topid=3 WHERE id=7

这代码的意思是:把栏目ID为7的栏目,移动到顶级栏目ID为3的栏目下做二级栏目。

用代码解决

说实话,移动栏目,还手动修改问题,肯定是非常麻烦的。

当然是在移动栏目时,系统帮忙自己处理好,用代码解决问题才省力。

打开 /admin/catalog_do.php 找到,大概在251行

成功移动目录

在TA上面的第三句:有的需要改,有的不需要改哦。

【需要修改】需要修正的代码

$dsql->ExecuteNoneQuery("UPDATE `#@__arctype` SET reid='$movetype' WHERE id='$typeid' ");

【无需修改】这是正确的代码

$dsql->ExecuteNoneQuery("UPDATE `#@__arctype` SET reid='$movetype',topid='$topid' WHERE id='$typeid' ");

因为版本的问题,有的代码修改了,但有的还没有改,那你就改过来吧。

温馨提示

内容由用户共同创建和维护,并不代表织梦爱好者论坛立场!
建议您独自对内容进行评估,核实并咨询相关的专业人士!

DeDeBIZ得德检查顶级栏目与子栏目高亮问题DeDeBIZ得德检查顶级栏目与子栏目高亮问题DeDeBIZ得德检查顶级栏目与子栏目高亮问题DeDeBIZ得德检查顶级栏目与子栏目高亮问题DeDeBIZ得德检查顶级栏目与子栏目高亮问题+15  15 个回复 | 最后更新于 2025-01-16
该部分是隐藏区

登录后查看回复

该部分是隐藏区

登录后方可回帖

Loading...