织梦cms栏目内容导入

内容导入概述

织梦CMS支持通过多种方式导入文章内容到指定栏目,包括从CSV/Excel文件导入、从其他CMS系统迁移数据、以及通过采集工具批量导入。批量导入功能在网站建设初期和内容迁移场景中非常关键。

一、通过SQL直接导入文章

将批量文章数据通过SQL语句插入到指定栏目:

-- 单条文章导入
INSERT INTO dede_archives 
(typeid, typeid2, title, writer, source, pubdate, 
 senddate, mid, keywords, description, litpic, arcrank)
VALUES 
(3, 0, '文章标题', '作者', '来源', UNIX_TIMESTAMP(), 
 UNIX_TIMESTAMP(), 1, '关键词1,关键词2', '文章摘要描述', '', 0);

-- 获取刚插入的文章ID
SET @new_aid=LAST_INSERT_ID();

-- 将文章内容插入附加表
INSERT INTO dede_addonarticle 
(aid, typeid, body) 
VALUES 
(@new_aid, 3, '<p>这里是文章的正文内容</p>');

-- 更新文章简索表
INSERT INTO dede_arctiny (id, typeid, typeid2, channel, 
  senddate, sortrank, mid)
VALUES (@new_aid, 3, 0, 1, UNIX_TIMESTAMP(), @new_aid, 1);

二、使用PHP脚本批量导入CSV文件

<?php
require_once(dirname(__FILE__)."/include/common.inc.php");

// 读取CSV文件
$file=fopen('articles.csv', 'r');
$typeid=3; // 目标栏目ID
$count=0;

// 跳过CSV标题行
fgetcsv($file);

while(($data=fgetcsv($file)) !==FALSE){
    // CSV格式:标题,作者,来源,关键词,描述,内容
    $title=addslashes($data[0]);
    $writer=addslashes($data[1]);
    $source=addslashes($data[2]);
    $keywords=addslashes($data[3]);
    $desc=addslashes($data[4]);
    $body=addslashes($data[5]);
    
    // 插入主表
    $sql="INSERT INTO dede_archives 
            (typeid, title, writer, source, pubdate, 
             senddate, mid, keywords, description)
            VALUES 
            ({$typeid},'{$title}','{$writer}','{$source}',
             ".time().",".time().", 1, '{$keywords}','{$desc}')";
    $dsql->ExecuteNoneQuery($sql);
    $aid=$dsql->GetLastID();
    
    // 插入附加表
    $dsql->ExecuteNoneQuery(
        "INSERT INTO dede_addonarticle (aid, typeid, body)
         VALUES ({$aid}, {$typeid}, '{$body}')"
    );
    
    $count++;
    echo "已导入:{$title}\n";
}

fclose($file);
UpDateCatCache();
echo "共导入 {$count} 篇文章";
?>

三、从其他CMS迁移到织梦CMS指定栏目

常见的CMS系统数据迁移方法:

源CMS迁移方式
WordPress导出XML → 编写PHP脚本解析 → 插入织梦数据表
帝国CMS导出SQL → 字段映射转换 → 导入织梦对应表
PHPCMSSQL查询源库 → 字段映射 → INSERT织梦表
Z-Blog导出TXT/CSV → PHP脚本批量处理

四、使用织梦采集功能导入

织梦CMS内置的采集功能可以将外部站点的内容采集到指定栏目:

  1. 进入 采集 > 采集节点管理
  2. 新建采集节点,配置目标网站URL和采集规则
  3. 设置内容发布的目标栏目
  4. 运行采集任务,内容自动导入到栏目中

五、导入后的必要操作

  1. 更新栏目缓存:执行 UpDateCatCache() 更新栏目文章计数
  2. 重新生成HTML生成 > 更新栏目HTML更新文档HTML
  3. 检查数据完整性:抽查导入的文章内容和图片是否正常
  4. 更新搜索索引:如果使用全文搜索,需要重建索引
导入注意事项:大批量导入前务必先备份数据库。数据导入涉及多张关联表(archives、addonarticle、arctiny),需要确保所有表的数据一致性。建议分批导入(每批500-1000条),并监控服务器资源消耗。