织梦TAG如何添加缩略图?

99ANYc3cd6
预计阅读时长 17 分钟
位置: 首页 织梦建站 正文
  1. 数据库:为dede_taglist表添加一个存储缩略图路径的字段。
  2. 程序文件:修改相关文件,使其支持上传、保存和调用缩略图。

下面我将为你提供一套完整、详细的操作步骤,这套方案是目前最主流和稳定的实现方式。

织梦TAG添加缩略图
(图片来源网络,侵删)

操作步骤概览

  1. 修改数据库:为dede_taglist表增加一个litpic字段。
  2. 修改后台管理文件:在TAG列表页添加上传缩略图的功能。
  3. 修改前台显示文件:在TAG列表页和TAG内容页中调用缩略图。

第一步:修改数据库

我们需要为存放TAG信息的dede_taglist表添加一个字段来存储缩略图路径。

  1. 登录你的网站数据库管理工具(如 phpMyAdmin)。

  2. 选择你的织梦数据库。

  3. 找到 dede_taglist 这张表。

    织梦TAG添加缩略图
    (图片来源网络,侵删)
  4. 点击“结构”或“SQL”选项卡,执行以下SQL语句来添加新字段:

    ALTER TABLE `dede_taglist` ADD `litpic` VARCHAR(255) NOT NULL DEFAULT '';
    • litpic:字段名,与织梦文章模型的缩略图字段名保持一致,方便调用。
    • VARCHAR(255):数据类型,足够存储图片路径。
    • NOT NULL DEFAULT '':设置字段非空,默认值为空字符串。

执行成功后,dede_taglist表中就会出现一个新的 litpic 字段。


第二步:修改后台管理文件

我们需要修改后台的TAG管理列表页,让管理员可以为每个TAG上传缩略图。

  1. 找到并打开文件: 文件路径:/dede/tag_list.php

    织梦TAG添加缩略图
    (图片来源网络,侵删)
  2. 修改代码: 在文件中找到 //列表 这一行,在其后(大约在第38行左右),添加以下代码,这段代码的作用是在列表页的表头中增加“缩略图”列。

    // 在这里添加
    $fields['litpic'] = '缩略图';

    修改后,//列表 部分的代码看起来像这样:

    //列表
    $fields['id'] = 'ID';
    $fields['tag'] = '关键字';
    $fields['total'] = '文档数';
    $fields['weekcc'] = '本周收录';
    $fields['monthcc'] = '本月收录';
    $fields['addtime'] = '时间';
    // 在这里添加
    $fields['litpic'] = '缩略图'; 
  3. 保存文件: 将修改后的 tag_list.php 文件上传回你的服务器,覆盖原文件。

完成这一步后,登录织梦后台 -> 核心 -> TAG标签管理,你会发现列表页多了一列“缩略图”,但目前还没有上传功能。 下一步我们将添加上传功能。


第三步:修改前台显示文件

这是最关键的一步,我们需要修改模板文件来调用缩略图。

1 修改TAG列表页模板

这个模板决定了当用户点击一个TAG后,进入的列表页面如何显示。

  1. 找到并打开模板文件: 文件路径:/templets/default/taglist.htm (注意:如果你使用了其他模板,请在你自己的模板目录下找到对应的文件)

  2. 修改代码: 在 taglist.htm 文件中,找到调用TAG信息的地方,通常是一个循环 {dede:tag},在这个标签内部添加 {dede:tagimg} 标签来调用缩略图。

    修改前(默认代码):

    {dede:tag}
      <li><a href='[field:link/]'>[field:tag/]</a></li>
    {/dede:tag}

    修改后(添加缩略图):

    {dede:tag}
      <li>
        <!-- [field:litpic/] 是我们第一步在数据库中添加的字段 -->
        <!-- 如果缩略图不为空,则显示缩略图,否则显示一个默认图片或不显示 -->
        <a href='[field:link/]'>
          <img src='[field:litpic/]' alt='[field:tag/]' onerror="this.src='/images/defaultpic.gif';this.onerror=null;" />
          <span>[field:tag/]</span>
        </a>
      </li>
    {/dede:tag}

    代码解释:

    • [field:litpic/]:这是调用我们第一步在数据库中添加的 litpic 字段的值,即图片路径。
    • onerror="this.src='/images/defaultpic.gif';this.onerror=null;":这是一个非常重要的技巧,如果某个TAG没有上传缩略图,[field:litpic/] 会为空,导致图片加载失败。onerror 事件会捕获这个错误,并将图片的 src 属性指向一个默认图片(/images/defaultpic.gif),防止网站出现破损的图标,请确保你的网站根目录下有这个默认图片,或者将其修改为你自己的默认图片路径。
  3. 保存文件: 将修改后的 taglist.htm 文件上传回服务器。

2 修改TAG内容页模板

这个模板决定了在TAG列表页中,每篇文档的缩略图如何显示。

  1. 找到并打开模板文件: 文件路径:/templets/default/article_article.htm (同样,如果你使用了其他模板,请找到对应的文件,这个文件通常用于文章内容页,而TAG列表页调用的是文章列表,所以需要修改文章列表的模板,通常是 list_article.htm,但为了保险起见,我们修改文章内容页,确保所有地方都能正确显示。)

  2. 修改代码: 在 article_article.htm 文件中,找到文章缩略图的调用位置,通常是在 {dede:field.body/} 之前,或者在文章标题下方,添加或修改以下代码:

    <!-- 文章缩略图开始 -->
    {dede:field name='litpic'/}
    <!-- 文章缩略图结束 -->

    这段代码的作用是直接调用文章自身的缩略图,织梦的TAG内容页本质上就是文章内容页,所以直接调用文章的缩略图字段即可,织梦默认的模板中,这个字段通常已经被包含在 {dede:field.body/} 里了(通过 [field:imgurl/]),但显式地调用一次可以确保其显示。

    更推荐的做法(修改列表模板): 如果你想控制的是在TAG列表页中,每篇文档的缩略图样式,那么你应该修改的是 列表文档模板。 文件路径:/templets/default/list_article.htm 在这个文件中找到 {dede:list} 标签,并添加 [field:litpic/] 调用。

    {dede:list}
      <li>
        <a href="[field:arcurl/]">
          <img src="[field:litpic/]" alt="[field:title/]" onerror="this.src='/images/defaultpic.gif';this.onerror=null;" />
        </a>
        <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
      </li>
    {/dede:list}
  3. 保存文件: 将修改后的模板文件上传回服务器。


第四步:如何为TAG上传缩略图?

完成以上所有步骤后,你可能会发现后台的TAG管理页还是没有上传按钮,这是因为我们只是增加了显示字段,但没有增加上传功能。

解决方法(推荐使用插件): 手动修改后台增加上传功能比较复杂,且容易出错,最简单高效的方法是使用现成的织梦插件。

  1. 搜索插件: 在织梦官方论坛、Dede58等知名的织梦资源网站上搜索关键词:“织梦TAG标签缩略图插件” 或 “dede taglitpic”。

  2. 下载并安装: 下载一个评价好、兼容你织梦版本的插件,通常插件包里会有详细的安装说明,一般步骤是:

    • 将插件文件上传到指定目录(如 /dede/)。
    • 在后台“系统” -> “插件管理”中安装或启用该插件。
    • 插件通常已经帮你完成了前面第二步(修改后台管理文件)甚至第三步(修改模板)的工作。
  3. 使用插件: 安装插件后,回到后台的TAG标签管理列表,你会发现每条TAG记录后面都有了“上传图片”或类似的按钮,点击它,就可以为该TAG上传缩略图了。


  • 纯代码方案:适合有一定开发能力的用户,优点是稳定、不依赖插件;缺点是需要手动修改多个文件,且没有后台上传界面。

    1. 数据库ALTER TABLE ... ADD litpic ...
    2. 后台:修改 tag_list.php 增加列表列。
    3. 前台:修改 taglist.htmlist_article.htm (或 article_article.htm) 调用 [field:litpic/]
    4. 上传:需要手动在数据库里填写 litpic 字段,或自行开发上传功能。
  • 插件方案:强烈推荐给大多数用户,优点是简单、快速、功能完整;缺点是可能存在兼容性问题或需要少量授权。

    1. 搜索并下载“织梦TAG缩略图插件”。
    2. 按照插件说明安装。
    3. 在后台直接为TAG上传缩略图即可。

对于新手,我强烈建议你从 插件方案 开始尝试,如果插件无法满足你的需求,再考虑纯代码方案。

-- 展开阅读全文 --
头像
Linux C语言编程教程该怎么学?
« 上一篇 今天
织梦为何关闭远程图片下载?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]