织梦网站频道内容模型复制数据库删除后无法更新栏目怎么解决?

今天做织梦仿站的时候碰到这个问题,回忆了一下,好像是先发布了频道模型的内容,然后我删除了,后面又在数据库修改了数据表,然后删除了频道模型,后来复制了一个,不记得有没有删除文章了,反正后面就更新不了栏目,点击预览也是空白,更新更是没反应,连提示都没有,怎么解决啊现在!!!
已邀请:

三一真神 - 天一、地一、太一三神

赞同来自: 佛本道

网上的方法试过了没什么用,应该是问题不对吧,大家测试的时候记得先备份。(这是个好习惯)
1.找到根目录下/data/tplcache文件夹,并删除文件夹内所有文件后尝试更新。
2.点击生成–更新系统缓存。然后点击系统–找到病毒扫描–清空模版缓存。最后关闭浏览器,重新登 录后尝试更新。
3.如果还不行,点击栏目管理找到任意一个栏目,点击修改–再保存。然后尝试下选择更新指定栏目。
作者:Too_sober
来源:CSDN
 
织梦更新获取提示的方法:
1.打开dede(你后台的目录地址)/mackhtml_archives_action.php
while($row=$dsql->GetObject('out'))
{
$tjnum++;
$id = $row->id;
$ac = new Archives($id);
$rurl = $ac->MakeHtml($isremote);
}
把这段代码更换为
while($row=$dsql->GetObject('out'))
{
$tjnum++;
$id = $row->id;
echo $id;
echo "";
$ac = new Archives($id);
$rurl = $ac->MakeHtml($isremote);
}
然后更新就能知道问题提示了,还有需要进入网站数据库找到“dede_arctiny”表,看看有没有不对的信息,及时删除即可。
 
以后需要用到的数据模型内容频道转移到其它ID频道中:
首先在织梦后台建立新内容模型 ,(核心-频道模型-内容模型管理-然后复制文章模型或者你要用的某个模型)再用以下的MYSQL 语句 将以前的栏目文章转入新模型,
假设以前的栏目为文章模型,栏目ID 为 31, 新建模型ID为7(默认的文章模型为1,模型ID可以在内容模型管理最左侧看到),使用新建模型建立的新文章栏目ID为52,数据库中新模型附加表为 dede_addonarticle17
 
执行以下操作
1、将原模型下的ID31的栏目内的全部内容转移到新模型dede_addonarticle17
INSERT INTO dede_addonarticle17(aid,typeid,redirecturl,userip,body) 

SELECT aid,typeid,redirecturl,userip,body FROM dede_addonarticle where dede_addonarticle.typeid =31

2、删除原栏目下的全部内容(已经复制一份到新模型下了)
DELETE FROM `dede_addonarticle` WHERE typeid =31 

3、将关联模型的地方全部改写一遍,将原来定义栏目ID31对应的频道模型全部由1改成7
update dede_arctiny set channel=7  where typeid=31
update dede_archives set channel=7 where typeid=31
update dede_arctype set channeltype =7 where id =31

4、修改关联栏目,将原来调用31号栏目的地方,全部改为52号栏目
update dede_addonarticle17 set typeid=52  where typeid=31
update dede_archives set typeid=52 where typeid=31
update dede_arctiny set typeid=52 where typeid=31

5、删除旧栏目
DELETE FROM dede_arctype WHERE id=31

佛本道 - 佛本是道,皆为自然!

赞同来自:

最简单的解决方法,推荐采取,不然浪费很多时间,数据可以导出导入
直接清空以下3张数据表 
dede_addonarticle   //文章附加表
dede_archives //文档主表
dede_arctiny //文档微表



DELETE FROM dede_addonarticle WHERE aid >= 1 and aid<=200000;

DELETE FROM dede_archives WHERE aid>=1 and aid<=200000;

DELETE FROM dede_arctiny WHERE aid>=1 and aid<=200000;

要回复问题请先登录注册