如何给织梦栏目添加缩略图?

99ANYc3cd6
预计阅读时长 18 分钟
位置: 首页 织梦建站 正文

操作步骤总览

  1. 第一步:修改数据库 - 在 dede_arctype 表中增加一个 typeimg 字段,用于存储栏目缩略图的路径。
  2. 第二步:修改后台模板 - 修改 catalog_add.htmcatalog_edit.htm 文件,让后台可以上传和选择缩略图。
  3. 第三步:修改处理文件 - 修改 catalog_add.phpcatalog_edit.php 文件,让后台能保存提交的缩略图信息。
  4. 第四步:前台调用 - 在模板文件中使用 {dede:field.typeimg/} 标签来显示栏目缩略图。

第一步:修改数据库结构

这是最核心的一步,我们需要为栏目表增加一个存放缩略图路径的字段。

织梦给栏目添加缩略图
(图片来源网络,侵删)
  1. 登录你的网站数据库管理工具(如 phpMyAdmin)。
  2. 选择你的织梦数据库。
  3. 找到 dede_arctype 表(如果你的表前缀不是 dede_,请使用你自己的前缀)。
  4. 点击“结构”或“SQL”选项卡,执行以下 SQL 语句来添加一个名为 typeimg 的字段,类型为 varchar(255),用于存放图片路径。
ALTER TABLE `dede_arctype` ADD `typeimg` VARCHAR(255) NOT NULL DEFAULT '';

执行成功后dede_arctype 表中就有了 typeimg 字段。


第二步:修改后台模板文件

这一步的目的是在后台添加栏目时,能够上传或选择缩略图。

  1. 找到文件

    • catalog_add.htm:用于添加新栏目。
    • catalog_edit.htm:用于编辑已有栏目。

    这两个文件通常位于 /dede/templets/ 目录下。

    织梦给栏目添加缩略图
    (图片来源网络,侵删)
  2. 修改 catalog_add.htm

    • 用代码编辑器打开 /dede/templets/catalog_add.htm
    • 找到类似 <tr> 的行,特别是那些包含“栏目名称”、“栏目目录”等字样的行,模仿它们的格式,在合适的位置(在“栏目关键词”下面)添加以下代码。
    <tr>
      <td height="65" style="width:150px;">栏目缩略图:</td>
      <td>
        <input type="text" name="typeimg" id="typeimg" style="width:300px;" value="" class="alltxt" />
        <input type="button" name="set" value="选择图片" style="width:70px;" class="coolbg np" onClick="SelectImage('form1.typeimg','');" />
      </td>
    </tr>
  3. 修改 catalog_edit.htm

    • 用代码编辑器打开 /dede/templets/catalog_edit.htm
    • 同样地,在合适的位置添加上面那段代码。注意:为了在编辑时能显示已有的图片,需要将 value 属性修改为 {dede:field.typeimg/}
    <tr>
      <td height="65" style="width:150px;">栏目缩略图:</td>
      <td>
        <input type="text" name="typeimg" id="typeimg" style="width:300px;" value="{dede:field.typeimg/}" class="alltxt" />
        <input type="button" name="set" value="选择图片" style="width:70px;" class="coolbg np" onClick="SelectImage('form1.typeimg','');" />
      </td>
    </tr>

效果:你进入后台的“栏目管理” -> “添加栏目”或“编辑栏目”时,就会看到“栏目缩略图”这一项,并带有一个“选择图片”的按钮。


第三步:修改后台处理文件

这一步的作用是,当你点击“保存”按钮时,将你在第二步中填写的缩略图路径保存到数据库的 typeimg 字段中。

织梦给栏目添加缩略图
(图片来源网络,侵删)
  1. 找到文件

    • catalog_add.php:处理添加栏目的逻辑。
    • catalog_edit.php:处理编辑栏目的逻辑。

    这两个文件通常位于 /dede/ 目录下。

  2. 修改 catalog_add.php

    • 用代码编辑器打开 /dede/catalog_add.php
    • 找到接收表单数据的代码段,通常在文件的开头部分,类似这样:
      $dopost = $_POST['dopost'];
      $rank = isset($rank) && is_numeric($rank) ? $rank = 0;
      $typename = cn_substrR($typename, 30);
      // ... 其他变量
    • 在这些变量定义的后面,添加 typeimg 的接收代码:
      $typeimg = $_POST['typeimg'];
  3. 修改 catalog_edit.php

    • 用代码编辑器打开 /dede/catalog_edit.php
    • 同样地,在文件开头接收表单数据的地方,添加 typeimg 的接收代码:
      $typeimg = $_POST['typeimg'];

注意:织梦的更新操作通常是通过一个 UpDateArt 函数或类似的 SQL 更新语句完成的,你需要确保 typeimg 字段被包含在最终的 SQL 更新语句中,在大多数情况下,织梦的底层机制会自动处理你新增的字段,只要你在模板中使用了 <input name="typeimg">,如果保存后数据没有更新,则需要检查 SQL 更新语句,确保 typeimgSET 子句中。


第四步:在前台模板中调用缩略图

后台的功能已经完成,我们可以在网站的模板文件中调用并显示栏目缩略图了。

  1. 找到你的栏目列表模板: 这个模板可能是 list_channel.htmlist_type.htm 或者你在“栏目管理”中为该栏目指定的“列表模板”。

  2. 使用标签调用: 织梦为每个栏目提供了 typeimg 字段,我们可以使用 {dede:field.typeimg/} 标签来获取它的值。

  3. 示例代码: 在你的列表模板中,你可以在循环栏目的地方({dede:channel} 标签内)这样使用:

    {dede:channel type='top' row='8'}
    <li>
      <a href="[field:typelink/]" title="[field:typename/]">
        <!-- 如果存在缩略图则显示,否则显示一个默认图片或空 -->
        [field:typeimg runphp='yes']
        if(@me != '') {
            @me = '<img src="' . @me . '" alt="[field:typename/]" />';
        } else {
            @me = '<img src="/images/default.png" alt="[field:typename/]" />'; // 设置一个默认图片路径
        }
        [/field:typeimg]
      </a>
      <a href="[field:typelink/]" title="[field:typename/]">[field:typename/]</a>
    </li>
    {/dede:channel}

    代码解释

    • [field:typelink/]:获取栏目的链接地址。
    • [field:typename/]:获取栏目的名称。
    • [field:typeimg runphp='yes']:这是关键。runphp='yes' 允许我们在 PHP 代码中处理 typeimg 的值。
    • if(@me != ''):判断 typeimg 字段是否为空。
    • @me = '<img ... />':如果不为空,就生成一个 <img> 标签,src 属性为图片路径。
    • @me = '<img ... />':如果为空,就显示一个你指定的默认图片,避免图片加载失败或布局错乱。

总结与注意事项

  1. 文件路径:请务必确认你修改的文件路径是正确的,特别是如果你的网站安装目录不是根目录或者有自定义的前缀。
  2. 权限:确保你的 web 服务器对 /dede/ 目录下的 .php.htm 文件有写入权限(对于修改模板文件是读取权限)。
  3. 缓存:修改完后台模板后,可能需要清空一下系统的缓存,才能看到新的界面,在后台有“系统” -> “一键更新网站”或“清空缓存”的选项。
  4. 默认图片:强烈建议你设置一个默认图片,这样当某些栏目没有上传缩略图时,页面依然美观。
  5. 安全性:确保上传目录的权限设置正确,防止上传恶意文件,织梦默认的上传目录是 /uploads/

按照以上四个步骤操作,你就可以成功地为织梦CMS的栏目添加并使用缩略图功能了,如果在操作中遇到问题,请仔细检查每一步是否正确执行。

-- 展开阅读全文 --
头像
dede联动类别管理如何高效配置与使用?
« 上一篇 今天
dede在线电影模板如何快速搭建?
下一篇 » 今天

相关文章

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

目录[+]