织梦banner调用如何实现?

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

准备工作:创建幻灯片分类和内容

无论使用哪种方法,你都需要先在后台创建好幻灯片。

织梦 banner调用
(图片来源网络,侵删)
  1. 登录织梦后台 (/dede/)。

  2. 进入 【核心】 -> 【频道模型】 -> 【自定义表单】

  3. 点击 【增加一个新的自定义表单】

    • 表单名称: 填写 幻灯片 (或你喜欢的名字,如 Banner)。
    • 数据表: 保持默认 dede_addonsoft (通常不用改)。
    • 默认表单模板: 保持默认。
    • 列表条数: 填写你想要显示的Banner数量,10
    • 点击 【保存】
  4. 创建幻灯片分类

    织梦 banner调用
    (图片来源网络,侵删)
    • 进入 【核心】 -> 【批量维护】 -> 【数据库表管理】
    • 找到 dede_arctype 表,点击后面的 【管理】
    • 点击顶部的 【增加顶级栏目】
    • 栏目名称: 填写 首页幻灯片 (或你自己的命名)。
    • 栏目目录: 填写 home_slides (英文,不要用中文)。
    • 栏目类型: 选择 【外部栏目】
    • 绑定到频道: 选择你刚刚创建的自定义表单,即 【幻灯片】
    • 其他选项可以默认,点击 【确定保存】
  5. 添加幻灯片内容

    • 进入 【核心】 -> 发布】 -> 【添加幻灯片内容】
    • 你会看到表单字段,通常包括:
      • Banner的标题(可选,一般不显示)。
      • 图片: 这是最重要的,点击上传你的Banner图片。
      • 链接: 点击Banner后跳转的网址,如 https://www.example.com 或网站内的栏目链接 /index.html
      • 备注: 其他说明(可选)。
    • 填写好信息后,点击 【发布】,你可以添加多个幻灯片内容。

完成以上步骤后,你就可以在模板中调用这些Banner了。


使用系统自带标签(最简单)

这是官方提供的最简单直接的方法,适用于大多数标准场景。

标签代码:

织梦 banner调用
(图片来源网络,侵删)
{dede:arclist flag='h' typeid='你的幻灯片分类ID' row='5'}
    <a href="[field:link/]">
        <img src="[field:litpic/]" alt="[field:title/]" width="100%" height="300px">
    </a>
{/dede:arclist}

代码解析:

  • {dede:arclist ...}: 织梦最常用的列表标签。
  • flag='h': 关键参数,表示只调用带有 h 标志的文章(幻灯片内容需要手动设置这个标志,见下文)。
  • typeid='你的幻灯片分类ID': 关键参数,填写你刚才创建的“首页幻灯片”分类的ID,你可以在后台“栏目管理”中看到这个ID。
  • row='5': 调用5条幻灯片记录,根据你在后台设置的“列表条数”来调整。
  • [field:link/]: 调用幻灯片设置的“链接”字段。
  • [field:litpic/]: 调用幻灯片的“图片”字段。
  • [field:title/]: 调用幻灯片的“标题”字段,用作 img 标签的 alt 属性,有利于SEO。

如何设置 flag='h' 标志?

这个方法有个小缺点:需要在添加幻灯片内容时,手动设置“标志”。

  1. 进入 【核心】 -> 发布】 -> 【添加幻灯片内容】
  2. 在表单的最下方,你会看到一个 “标志” 字段,里面有个输入框。
  3. 在输入框中填入字母 h

这样,flag='h' 的标签才能正确调用到它。


使用自定义表单标签(最灵活)

这种方法不依赖 flag,而是直接调用你创建的自定义表单,更灵活,推荐使用。

标签代码:

{dede:sql sql="SELECT * FROM `dede_addonsoft` WHERE aid BETWEEN 起始ID AND 结束ID ORDER BY aid ASC"}
    <a href="[field:link/]">
        <img src="[field:picurl/]" alt="[field:title/]" width="100%" height="300px">
    </a>
{/dede:sql}

代码解析:

  • {dede:sql ...}: 织梦的SQL查询标签,非常强大。
  • sql="...": 这里写你的SQL查询语句。
  • dede_addonsoft: 这是自定义表单默认的数据表名,如果你在创建时修改了,这里也要跟着改。
  • aid BETWEEN 起始ID AND 结束ID: 这是关键aid 是每条记录的唯一ID,你需要去后台查看你的幻灯片内容的ID,然后填写一个范围,你的第一条幻灯片ID是 5,最后一条是 9,就写成 BETWEEN 5 AND 9,这是最简单直接的查询方式。
  • [field:picurl/]: 注意,这里调用的是你自定义表单中“图片”字段的名称,默认情况下,图片字段名可能是 picurlimage,请根据你的实际情况修改,链接字段同理。

如何获取字段名?

在后台 【核心】 -> 【频道模型】 -> 【自定义表单管理】 中,找到你创建的“幻灯片”表单,点击后面的 【管理字段】,就能看到每个字段的“字段名称”了。


使用JS调用(效果最好)

如果你的Banner需要复杂的切换效果(如轮播、淡入淡出等),使用JS调用是最好的选择,通常配合第三方轮播图JS库(如 Swiper, Owl Carousel, Bootstrap Carousel 等)使用。

步骤:

  1. 在模板中引入JS和CSS库:在网页的 <head> 部分引入你选择的轮播图库的文件。

    <!-- 以 Swiper 为例 -->
    <link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.css" />
    <script src="https://unpkg.com/swiper/swiper-bundle.min.js"></script>
  2. 在模板中编写HTML结构

    <div class="swiper mySwiper">
      <div class="swiper-wrapper">
        <!-- 这里用织梦标签循环输出幻灯片 -->
        {dede:sql sql="SELECT * FROM `dede_addonsoft` WHERE aid BETWEEN 5 AND 9 ORDER BY aid ASC"}
          <div class="swiper-slide">
            <a href="[field:link/]">
              <img src="[field:picurl/]" alt="[field:title/]">
            </a>
          </div>
        {/dede:sql}
      </div>
      <!-- 如果需要分页器 -->
      <div class="swiper-pagination"></div>
      <!-- 如果需要导航按钮 -->
      <div class="swiper-button-next"></div>
      <div class="swiper-button-prev"></div>
    </div>
  3. 在模板中编写JS初始化代码:在网页底部 </body> 标签前添加。

    <script>
      var swiper = new Swiper(".mySwiper", {
        loop: true, // 循环模式
        pagination: {
          el: ".swiper-pagination",
        },
        navigation: {
          nextEl: ".swiper-button-next",
          prevEl: ".swiper-button-prev",
        },
      });
    </script>

优点:

  • 效果丰富,用户体验好。
  • 功能强大,支持触摸滑动、自动播放等。
  • 代码结构清晰,易于维护。

总结与推荐

方法 优点 缺点 适用场景
方法一 (arclist) 简单,官方标签 需要手动设置 flag,不够灵活 快速实现,不介意手动设置标志的简单Banner
方法二 (sql) 非常灵活,不依赖标志 需要手动记录ID,稍复杂 强烈推荐,特别是当幻灯片内容由其他用户管理时
方法三 (JS) 效果最好,功能强大 需要引入外部库,有一定学习成本 需要复杂轮播、动画效果的专业级Banner

对于大多数网站,我推荐使用【方法二:自定义表单标签】,因为它最稳定、最灵活,如果你的项目对视觉效果要求很高,方法三:JS调用】是最佳选择。

-- 展开阅读全文 --
头像
织梦自定义表单如何获取并记录用户IP地址?
« 上一篇 02-16
dede如何获取模板get参数?
下一篇 » 02-16
取消
微信二维码
支付宝二维码

目录[+]