- 前台用户/访客复制文章内容:这是最常见的,即允许访客通过点击按钮,一键复制文章正文。
- 后台管理员批量复制/导入文章:这是后台操作,用于从一个栏目复制文章到另一个栏目,或者从其他来源批量导入文章。
下面我将分别对这两块进行详细说明。

(图片来源网络,侵删)
前台文章复制功能(一键复制)
这个功能通常通过在文章内容页(article_article.htm 模板)中加入一个“一键复制”按钮来实现,点击后,可以将文章的标题、正文等信息一次性复制到剪贴板。
实现方法(推荐使用现成插件,最简单)
对于不熟悉代码修改的用户,最简单的方法是使用现成的 DedeCMS 插件。
- 搜索插件:在 DedeCMS 官方论坛、Dede吧、或一些 DedeCMS 资源网站(如 Dedecms 模板吧等)搜索关键词:“一键复制插件”、“文章复制插件”。
- 下载安装:下载插件包,通常包含一个安装文件(
install.php)和修改好的模板文件。 - 运行安装:将文件上传到网站根目录,通过浏览器访问
http://你的网站域名/install.php,根据提示进行安装。 - 替换模板:安装成功后,插件通常会自动替换或提示你手动替换
article_article.htm模板文件,替换后,前台文章页就会出现复制按钮。
手动实现方法(适合有一定基础的用户)
如果你想自己动手修改代码,可以按照以下步骤操作,这里我们使用一个非常流行的 ZeroClipboard 库来实现,它兼容性好,不受浏览器安全策略限制。
步骤 1:准备 ZeroClipboard 库文件

(图片来源网络,侵删)
- 下载 ZeroClipboard 的 JS 文件,你可以从 GitHub 或 CDN 获取,这里提供一个常用 CDN 链接。
- 在你的网站模板目录(通常是
/templets/你的默认模板/)下创建一个文件夹,js。 - 将下载的
ZeroClipboard.min.js文件上传到/templets/你的默认模板/js/目录下。
步骤 2:修改文章页模板 (article_article.htm)
- 打开
/templets/你的默认模板/article_article.htm文件。 - 在
<head>标签内引入 ZeroClipboard 的 JS 文件。
<head>
<meta charset="utf-8">{dede:field.title/}_{dede:global.cfg_webname/}</title>
<!-- 引入 ZeroClipboard -->
<script type="text/javascript" src="{dede:global.cfg_templets_dir/}/js/ZeroClipboard.min.js"></script>
<!-- ... 其他 head 内容 ... -->
</head>
区域下方,添加一个“一键复制”按钮。
<div class="article-content">
{dede:field.body/}
</div>
<!-- 在这里添加一键复制按钮 -->
<div style="text-align: center; margin: 20px 0;">
<button id="copyButton" data-clipboard-text="" class="btn btn-primary">一键复制本文</button>
</div>
<!-- 提示信息 -->
<div id="copyTip" style="display: none; color: green; text-align: center; margin-top: 10px;">复制成功!</div>
步骤 3:编写 JavaScript 代码
在 <body> 标签结束前(</body> 之前),添加以下 JavaScript 代码来初始化复制功能。
<script type="text/javascript">
// 等待页面加载完成
window.onload = function() {
// 获取文章标题和正文内容
var articleTitle = document.title.replace(/_{dede:global.cfg_webname//}/, '').trim(); // 获取标题并去掉网站名
var articleContent = document.querySelector('.article-content').innerText; // 获取文章正文纯文本
// 组合成要复制的文本
var copyText = "文章标题:" + articleTitle + "\n\n";
copyText += "文章来源:" + "{dede:global.cfg_webname/}" + "\n";
copyText += "原文地址:" + window.location.href + "\n\n";
copyText += "------------------- 正文开始 -------------------\n\n";
copyText += articleContent + "\n\n";
copyText += "------------------- 正文结束 -------------------\n\n";
copyText += "(本文由 {dede:global.cfg_webname/} 自动整理发布,转载请注明出处)";
// 设置按钮的 data-clipboard-text 属性
var copyButton = document.getElementById('copyButton');
if (copyButton) {
copyButton.setAttribute('data-clipboard-text', copyText);
}
// 初始化 ZeroClipboard
var client = new ZeroClipboard(copyButton);
client.on('ready', function() {
console.log('ZeroClipboard is ready!');
// 复制成功事件
client.on('copy', function(event) {
// 可以在这里添加更多逻辑
});
});
client.on('error', function(event) {
console.error('ZeroClipboard error: ' + event.name);
// ZeroClipboard 加载失败,可以回退到传统的 document.execCommand('copy')
// 这里省略回退代码,你可以自行搜索实现
});
// 显示提示信息
client.on('aftercopy', function() {
var tip = document.getElementById('copyTip');
if (tip) {
tip.style.display = 'block';
// 3秒后自动隐藏
setTimeout(function() {
tip.style.display = 'none';
}, 3000);
}
});
};
</script>
步骤 4:清除缓存
登录 DedeCMS 后台,点击【系统】->【一键更新网站】->【更新HTML】,更新一下文章页面,就能看到效果了。
后台文章复制/导入功能
这个功能是 DedeCMS 后台自带的,主要用于内容迁移和备份。
在同一网站内复制文章(移动/复制)
这是最常用的后台复制功能,可以将一篇文章从一个栏目复制或移动到另一个栏目。
操作步骤:
- 登录 DedeCMS 后台。
- 进入【核心】->【内容发布】->【内容管理】,管理页面,你可以通过以下几种方式找到文章:
- 按栏目查找:在左侧选择文章所在的栏目。
- 按关键字搜索:在顶部搜索框输入文章标题或关键字进行搜索。
- 找到目标文章后,勾选文章最前面的复选框。
- 点击顶部或底部的 “移动” 或 “复制” 按钮。
- 移动:文章从原栏目删除,并添加到新栏目。
- 复制:文章保留在原栏目,同时在目标栏目创建一个完全相同的副本。
- 在弹出的新窗口中,选择目标栏目,然后点击“确定”即可完成操作。
从其他地方批量导入文章(如Word、TXT、其他CMS)
DedeCMS 提供了强大的内容导入功能,支持从多种格式导入文章。
操作步骤:
- 登录 DedeCMS 后台。
- 进入【核心】-> 【采集】 -> 【导入导出】 -> 导入】。
- 选择导入方式:
- 导入Word文档:这是最方便的方式,系统会自动解析 Word 文档中的标题、内容、图片等,并自动生成缩略图。
- 点击“选择文件”按钮,上传你的
.doc或.docx文件。 - 上传成功后,系统会解析文件内容,你可以预览并手动调整标题、栏目、作者等信息。
- 点击“保存”即可完成导入。
- 点击“选择文件”按钮,上传你的
- 导入文本数据:可以导入
.txt等纯文本文件,你需要手动设置标题、内容等字段的匹配规则。 - 导入XML数据:如果你有从其他系统导出的 XML 格式数据文件,可以使用此功能进行导入。
- 导入Word文档:这是最方便的方式,系统会自动解析 Word 文档中的标题、内容、图片等,并自动生成缩略图。
- 设置栏目和属性:在导入前或导入过程中,确保选择了正确的目标栏目,并设置了文章的属性(如是否生成缩略图、是否推荐等)。
- 执行导入:确认无误后,点击“开始导入”或“保存”按钮,系统会开始处理文件,并将文章添加到指定栏目。
总结与注意事项
- 前台复制:主要是为了方便用户分享,强烈建议在复制的文本中加入文章来源和原文链接,这是对原创作者的尊重,也有利于网站的 SEO。
- 后台复制:主要用于内容管理和迁移,操作非常简单直观。
- 图片路径问题:如果使用“内容导入”功能,特别是从Word导入,如果图片是本地的,上传后 DedeCMS 通常会自动将图片下载到网站服务器并修正路径,但如果图片是外链,可能会失效,导入后最好检查一下文章内的图片是否正常显示。
- 版权声明:无论哪种复制方式,都请尊重原创版权,遵守相关法律法规。
希望这份详细的指南能帮助你解决 DedeCMS 文章复制功能的问题!
