dede首页调用内容

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

下面我将从基础到高级,详细讲解如何在首页调用内容,并提供最常用、最实用的代码示例。


核心概念:理解DedeCMS的标签系统

在开始之前,你需要明白DedeCMS的标签是如何工作的:

  • {dede:} 和 包围的代码,{dede:arclist}
  • 属性: 标签内的参数,用于控制调用的内容,typeid='1' (指定栏目ID), titlelen='30' (标题长度)。
  • 底层模板: 在某些标签(如 arclist, list)内部,可以使用 field 变量来循环输出每条内容的特定字段,如 field.title (标题), field.pubdate (发布日期)。

最常用:调用文章列表 ({dede:arclist})

这是调用首页文章列表最核心、最常用的标签,它可以调用指定栏目下的文章,并且非常灵活。

基础用法

在首页模板文件 index.htm 中,直接使用以下代码即可调用所有栏目的最新文章。

{dede:arclist}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
    </li>
{/dede:arclist}

代码解释:

  • {dede:arclist}: 开始调用文章列表。
  • </li>: 结束调用。
  • [field:arcurl/]: 调用文章的链接地址。
  • [field:title/]: 调用文章的标题。
  • [field:pubdate...]: 调用文章的发布日期,并使用 function 对其进行格式化,MyDate('Y-m-d', @me) 是一个内置函数,将日期格式化为“年-月-日”。

高级用法:常用属性详解

实际应用中,我们几乎都会给 arclist 标签加上各种属性,以实现精确控制。

{dede:arclist 
    typeid='1,2,3' len='30' 
    row='10' 
    orderby='pubdate' 
    orderway='desc' 
    idlist='100,101,102'
}
    <li>
        <a href="[field:arcurl/]" title="[field:title/]">[field:title function='cn_substr(@me, 30)'/]</a>
        <span>[field:pubdate function="MyDate('m-d', @me)"/]</span>
    </li>
{/dede:arclist}

属性详解:

属性名 作用 示例
typeid 指定栏目ID,调用指定栏目及其子栏目的文章,多个ID用英文逗号隔开。 typeid='1' (只调用栏目ID为1的文章)
typeid='1,5' (调用栏目1和5的文章)
typeid='2,3' (调用栏目2和3,以及它们的所有子栏目的文章)
row 调用文章数量 row='8' (调用8篇文章)
orderby 排序依据,按什么字段排序。 orderby='hot' (按浏览量排序)
orderby='pubdate' (按发布时间排序,最常用)
orderby='sortrank' (按后台“置顶”排序)
orderway 排序方式desc (降序,从大到小/从新到旧),asc (升序,从小到大/从旧到新)。 orderway='desc' (默认,最新的在前面)
idlist 指定文章ID,直接调用指定的几篇文章,忽略栏目限制。 idlist='100,101,102' (只调用ID为100, 101, 102的三篇文章)
channelid 指定模型ID1=文章,2=图集,3=软件等,用于调用不同模型的内容。 channelid='1' (只调用文章模型)
limit 分页偏移量,格式为 起始数,数量 limit='0,5' (从第0条开始,取5条,即前5条)
limit='5,10' (从第5条开始,取10条,即第6到15条)

常用字段调用

arclist 的底层模板中,你可以使用 field: 来调用文章的各个字段。

字段名 说明 示例
field:title [field:title/]
field:arcurl 文章链接 [field:arcurl/]
field:pubdate 发布时间(时间戳) [field:pubdate/]
field:description 文章摘要 [field:description/]
field:litpic 文章缩略图 <img src="[field:litpic/]">
field:textile 文章正文内容(不带HTML标签) [field:textile function='cn_substr(@me, 100)'/] (截取100字)
field:typeid 所属栏目ID
field:typename 所属栏目名称 [field:typename/]
field:click 文章点击数 [field:click/]

综合实例:常见的首页布局

下面是一个典型的首页布局代码,包含了头条新闻、图文资讯、最新文章等多个模块。

假设栏目结构:

  • 栏目ID 1: 网站首页
  • 栏目ID 2: 头条新闻 (带属性“头条”)
  • 栏目ID 3: 图文资讯
  • 栏目ID 4: 技术文档

index.htm 模板代码示例:

<!DOCTYPE html>
<html>
<head>我的DedeCMS网站</title>
</head>
<body>
    <!-- 1. 调用头条新闻 (带有"头条"属性的文章) -->
    <div class="headlines">
        <h2>头条新闻</h2>
        <ul>
            {dede:arclist typeid='2' titlelen='60' row='5' orderby='pubdate' orderway='desc'}
                <li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
            {/dede:arclist}
        </ul>
    </div>
    <!-- 2. 调用图文资讯 (带缩略图) -->
    <div class="news-pic">
        <h2>图文资讯</h2>
        <ul>
            {dede:arclist typeid='3' row='4' titlelen='30'}
                <li>
                    <a href="[field:arcurl/]">
                        <img src="[field:litpic/]" alt="[field:title/]">
                        <span>[field:title/]</span>
                    </a>
                </li>
            {/dede:arclist}
        </ul>
    </div>
    <!-- 3. 调用技术文档栏目下的最新文章 -->
    <div class="tech-doc">
        <h2>技术文档</h2>
        <ul>
            {dede:arclist typeid='4' row='10' titlelen='40'}
                <li>
                    <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
                    <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
                </li>
            {/dede:arclist}
        </ul>
    </div>
    <!-- 4. 调用全站最新文章 -->
    <div class="latest-all">
        <h2>最新更新</h2>
        <ul>
            {dede:arclist row='15' titlelen='35'}
                <li>
                    <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
                </li>
            {dede:arclist}
        </ul>
    </div>
</body>
</html>

其他常用调用标签

除了 arclist,还有几个标签也经常在首页使用。

调用指定栏目 ({dede:channel})

用于调用栏目列表,比如做主导航或子导航。

{dede:channel type='top' row='8'}
    <li><a href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:channel}
  • type='top': 只调用顶级栏目。
  • row='8': 调用8个栏目。
  • [field:typeurl/]: 栏目链接。
  • [field:typename/]: 栏目名称。

调用单篇文档 ({dede:field})

通常用于调用首页的“网站公告”、“关于我们”等固定内容,这些内容需要你在后台“添加单页文档”,并指定其首页模板。

<!-- 在后台的“首页管理”中,为某个单页文档指定模板,index_about.htm -->
<!-- 然后在 index.htm 中用 include 标签引入 -->
{dede:include filename='index_about.htm'/}

或者,直接在后台的“系统基本参数” -> “核心设置”中,设置“首页默认内容”,然后用以下标签调用:

{dede:field name='position'/} <!-- 面包屑导航 -->
{dede:field name='title'/}   <!-- 当前页面标题 -->
{dede:field name='description'/} <!-- 网站描述 -->
{dede:field name='keywords'/}   <!-- 网站关键词 -->
{dede:field name='content'/}   <!-- 首页默认内容 -->

注意事项与最佳实践

  1. 栏目ID: 在使用 typeid 之前,务必去后台“栏目管理”中确认你想要调用的栏目ID。
  2. 模板缓存: DedeCMS有强大的缓存机制,修改完模板后,如果首页没有更新,请去后台“生成” -> “更新主页HTML”,或者清除缓存。
  3. 标签闭合: 确保所有标签都正确闭合,{dede:xxx} 对应 {/dede:xxx},否则会导致页面错乱。
  4. 简洁高效: 尽量使用 typeid 来限制调用范围,避免在全站海量数据中查询,这样可以提高网站加载速度。
  5. 自定义函数: 像 cn_substrMyDate 这样的自定义函数非常有用,可以让你更灵活地处理数据和显示格式。

希望这份详细的指南能帮助你完全掌握DedeCMS首页内容的调用!如果还有更具体的需求,可以继续提问。

-- 展开阅读全文 --
头像
dede数据库操作有哪些核心方法?
« 上一篇 今天
织梦英文上下篇如何正确调用?
下一篇 » 今天

相关文章

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

目录[+]