硬编码(直接写在模板文件中)
这种方法最简单直接,适合版权信息固定且不常修改的情况。
-
打开文章页模板文件 登录织梦后台,进入【模板】->【默认模板管理】,找到并编辑文章内容页模板,通常是
article_article.htm。 -
添加版权信息 在你希望显示版权的位置(例如文章内容的末尾、作者信息下方等),直接输入HTML代码。
示例代码:
<div class="article-copyright">
<p>本文由 <a href="https://www.yourdomain.com">你的网站名称</a> 原创或整理,转载请注明出处。</p>
<p>本文链接:<a href="{dede:field name='arcurl'/}">{dede:field name='arcurl'/}</a></p>
<p>最后更新时间:{dede:field name='pubdate' function='MyDate('Y-m-d H:i:s', @me)'/}</p>
</div>
代码解释:
{dede:field name='arcurl'/}:调用当前文章的URL,这样每次复制粘贴时,链接都是正确的。{dede:field name='pubdate' function='MyDate('Y-m-d H:i:s', @me)'/}:调用文章的发布时间,并格式化为年-月-日 时:分:秒。
通过后台设置调用(推荐)
这种方法更专业、更灵活,你只需要在后台修改一次,全站的文章页版权信息就会自动更新。
步骤1:在后台添加一个“网站版权”的全局变量
- 登录织梦后台。
- 进入【系统】->【系统基本参数】。
- 在左侧菜单中选择 “其它选项”。
- 在右侧找到 “网站版权信息” 这个输入框。
- 在里面输入你想要的全局版权内容,这里可以使用织梦的标签,如
{dede:global.cfg_webname/}来调用网站名称。
示例输入内容:
<p>本文由 <a href="[field:global.cfg_basehost/]">[field:global.cfg_webname/]</a> 原创或整理,转载请注明出处。</p>
<p>本文链接:<a href="{dede:field name='arcurl'/}">{dede:field name='arcurl'/}</a></p>
<p>最后更新时间:{dede:field name='pubdate' function='MyDate('Y-m-d H:i:s', @me)'/}</p>
代码解释:
[field:global.cfg_basehost/]:调用网站根目录URL,比手动输入域名更可靠。[field:global.cfg_webname/]:调用网站后台设置的“网站名称”。{dede:field name='arcurl'/}和{dede:field name='pubdate'}:和方法一中一样,调用当前文章的特定信息。
点击“保存”按钮。
步骤2:在文章页模板中调用这个全局变量
你不需要在模板里写一堆HTML代码了,只需要一行标签即可。
- 再次打开
article_article.htm模板文件。 - 在你希望显示版权的位置,添加以下标签:
{dede:global name='cfg_webcopyright'/}
完成!
这样,以后你如果想修改全站的版权信息,只需要在后台的【系统基本参数】->【其它选项】里修改“网站版权信息”那一项,然后更新一下文章页的缓存(或者重新生成文章页面),所有文章的版权信息就会自动更新。
最佳实践与扩展
结合以上两种方法,我们可以实现一个更灵活、更智能的版权声明。
场景: 你希望文章的版权归属于作者,但如果文章是“原创”的,则版权归属于网站,或者,你想让作者自己设置文章的版权声明。
实现步骤:
-
修改文章模型,增加版权字段
- 进入【后台】->【核心】->【内容模型管理】->【普通文章】->【更改】。
- 点击【字段管理】->【添加新字段】。
- 字段名:
copyright(小写,不含空格) - 文章版权声明
- 字段类型:
textarea(多行文本) - 在列表页显示:
否 - 页显示:
是 - 保存,然后点击【更新数据库】。
-
为文章添加版权内容
- 管理】->【所有文档】,选择一篇文章进行编辑。
- 在文章编辑页面的底部,你会看到新添加的“文章版权声明”文本框。
- 在里面输入该文章专用的版权信息,“本文作者:张三,首发于我的个人博客”。
- 发布或更新文章。
-
修改文章页模板,智能调用版权
- 打开
article_article.htm模板。 - 将原来的版权调用代码替换为以下逻辑:
<!-- 开始:智能版权声明 --> {dede:field name='copyright' runphp='yes'} if(@me != '') { // 如果文章模型里填写了版权声明,则显示自定义的 @me = '<div class="article-copyright">' . @me . '</div>'; } else { // 如果没有填写,则显示后台的全局默认版权 @me = '<div class="article-copyright">' . '{dede:global name="cfg_webcopyright"/}' . '</div>'; } {/dede:field} <!-- 结束:智能版权声明 --> - 打开
代码解释:
{dede:field name='copyright' runphp='yes'}:调用我们刚刚添加的copyright字段,并开启PHP运行。if(@me != ''):判断该字段的值是否为空。@me = '...':如果值不为空(即作者填写了版权),就将这段HTML代码赋值给@me。else { ... }:如果值为空,就调用后台的全局版权信息{dede:global name='cfg_webcopyright'/}。- 这样就实现了“文章级版权 > 网站级版权”的优先级,非常灵活。
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 硬编码 | 简单直接,无需后台设置 | 修改麻烦,需动模板文件 | 版权信息固定且极少变化 |
| 后台调用 | 灵活,修改方便,一处更新全站 | 需要后台设置一次 | 强烈推荐,适用于所有网站 |
| 最佳实践(智能调用) | 极致灵活,支持文章级和网站级版权 | 设置稍复杂,需要修改模型和模板 | 大型、多作者、内容复杂的网站 |
对于绝大多数用户来说,方法二 是最合适的选择,如果你对织梦有一定了解,并且追求更高的定制化,最佳实践 是最完美的解决方案。
