dede5.7栏目图标怎么添加或修改?

99ANYc3cd6
预计阅读时长 14 分钟
位置: 首页 DEDE建站 正文

使用系统自带的“栏目图片”字段(推荐)

这是最标准、最推荐的方法,因为它利用了 DedeCMS 自有的数据结构,升级和维护时最不容易出问题。

dede 5.7 栏目图标
(图片来源网络,侵删)

第一步:后台添加栏目时上传图标

  1. 登录 DedeCMS 后台

  2. 进入 「核心」-「栏目管理」

  3. 找到你想要添加图标的栏目,点击 [修改]

  4. 在栏目修改页面,向下滚动,找到 “栏目图片” 这个字段。

    dede 5.7 栏目图标
    (图片来源网络,侵删)
  5. 点击 “浏览...” 按钮,选择你准备好的图标文件(建议尺寸为 16x16, 24x24, 32x32 等小尺寸的 PNG 或 GIF 格式,这样更清晰)。

  6. 上传成功后,图片地址会自动填入输入框。

  7. 点击 “确定” 保存修改。

第二步:在模板文件中调用栏目图标

图标的数据已经保存在数据库里了,你需要在你网站的模板文件(通常是 list_article.htmindex.htm)中,通过调用 {dede:field} 标签来显示它。

dede 5.7 栏目图标
(图片来源网络,侵删)

假设你在一个循环栏目列表的地方({dede:channelartlist}{dede:global name='typeid'} 的循环中),可以这样写:

{dede:field name='typeimg'/}

直接这样写,如果某个栏目没有上传图片,就会显示一个破碎的图片图标,非常不美观。 我们通常会用一个更健壮的写法,结合 if 判断:

{dede:field name='typeimg' runphp='yes'}
    if (@me != '') {
        @me = '<img src="' . @me . '" alt="{dede:field.seotitle/}" />';
    } else {
        @me = '<img src="/images/default.png" alt="{dede:field.seotitle/}" />'; // 如果没有图标,显示一个默认图标
    }
{/dede:field}

代码解释:

  • runphp='yes':允许在标签内执行 PHP 代码。
  • if (@me != ''):判断 {dede:field.typeimg/} 的值是否为空。
  • @me = '...':如果不为空,就将 @me(即标签的最终输出值)设置为一个完整的 <img>
  • @me = '...':如果为空,就设置为一个默认图标的 <img> 标签,你需要提前准备好一个默认图标,并上传到你的网站目录下(/images/default.png)。

使用示例:

list_article.htm 文件中,找到栏目列表的循环部分(通常是 {dede:channel type='son'}),将其修改为:

<ul class="channel-list">
  {dede:channel type='son' typeid='0'}
    <li>
      <a href="[field:typelink/]">
        <!-- 在这里调用我们上面写的代码 -->
        {dede:field.name runphp='yes'}
            $typeimg = @me;
            if($typeimg != ''){
                @me = '<img src="' . $typeimg . '" alt="' . @me . '" class="channel-icon" />';
            } else {
                @me = '<img src="/images/default.png" alt="' . @me . '" class="channel-icon" />';
            }
        {/dede:field}
        <span>[field:typename/]</span>
      </a>
    </li>
  {/dede:channel}
</ul>

别忘了在 CSS 文件中为图标添加样式,让它看起来更美观:

.channel-list li img.channel-icon {
    width: 16px;
    height: 16px;
    margin-right: 5px;
    vertical-align: middle; /* 让图标和文字垂直对齐 */
}

通过附加表添加自定义字段

如果你觉得“栏目图片”这个字段名不直观,或者想添加更多自定义信息(如栏目简介、背景色等),可以通过 DedeCMS 的“附加表”功能来实现。

第一步:创建附加表和字段

  1. 登录 DedeCMS 后台
  2. 进入 「核心」-「频道模型」-「内容模型管理」
  3. 点击 [增加一个新模型]
    • 模型名称:填写 栏目扩展 或你喜欢的名字。
    • 数据表:系统会自动生成一个,如 dede_addonmodel_1,记住这个表名。
    • 其他选项保持默认即可,然后提交。
  4. 在模型管理列表中,找到你刚创建的“栏目扩展”模型,点击 [管理字段]
  5. 点击 [增加新字段]
    • 字段名称typeicon (英文,不能有特殊字符)
    • 栏目图标 (中文,用于后台显示)
    • 字段类型:选择 多媒体 (这样上传后会自动生成路径)
    • 其他选项:根据需要设置,比如是否为必填等。
    • 提交。
  6. 最重要的一步:回到 「系统」-「系统基本参数」-「核心设置」,找到 “栏目模型默认选择”,将其修改为你刚刚创建的“栏目扩展”模型的ID,这样,以后新建栏目时就会默认使用这个附加表。

第二步:在后台修改栏目并上传图标

  1. 进入 「核心」-「栏目管理」,修改一个栏目。
  2. 你会看到多出一个 “栏目扩展” 的选项卡。
  3. 切换到这个选项卡,就能看到你刚才创建的 “栏目图标” 字段。
  4. 点击“浏览”上传你的图标,然后保存。

第三步:在模板中调用

调用方式和第一种方法类似,但字段名是你自定义的 typeicon

{dede:field.typeicon runphp='yes'}
    if (@me != '') {
        @me = '<img src="' . @me . '" alt="{dede:field.seotitle/}" />';
    } else {
        @me = '<img src="/images/default.png" alt="{dede:field.seotitle/}" />';
    }
{/dede:field}

总结与对比

特性 方法一 (系统自带字段) 方法二 (附加表)
优点 无需任何额外设置,开箱即用。
稳定可靠,符合系统原生逻辑。
升级系统时不易出错。
功能强大,可以无限添加自定义字段。
字段管理清晰,可以分组。
缺点 字段名称固定为“栏目图片”,不够灵活。
无法为已有栏目批量添加新字段。
设置步骤相对复杂。
需要修改系统基本参数。
适用场景 绝大多数情况,强烈推荐,只需要一个简单的图标功能。 需要为栏目添加大量额外信息(如副标题、颜色、联系方式等)的复杂网站。

对于你的问题“dede 5.7 栏目图标”,直接使用方法一 是最简单、最直接的解决方案,除非你有非常特殊的需求,否则无需使用方法二。

-- 展开阅读全文 --
头像
getchar()在C语言中具体作用是什么?
« 上一篇 今天
c语言default什么意思
下一篇 » 今天

相关文章

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