dede封面模板如何正确调用?

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

什么是封面模板?

在 DedeCMS 中,内容模型分为“封面模板”、“列表模板”和“内容模板”。

dede封面模板调用
(图片来源网络,侵删)
  • 封面模板:一个栏目的“门面”,它通常用于显示该栏目下推荐、热门、头条等文章的摘要、缩略图和链接,一个栏目可以有多个封面模板,实现不同的展示效果。
  • 列表模板:显示该栏目下所有文章的列表,通常以“标题+日期+点击+的形式呈现,翻页功能在这里实现。
  • 内容模板:单篇文章的详细页面,显示文章的完整内容、图片、附件等。

核心区别:封面模板用于“推荐”和“聚合”内容,而列表模板用于“罗列”所有内容。


如何设置封面模板?

在调用之前,你必须确保你的栏目已经正确地设置了封面模板。

  1. 登录后台:进入 DedeCMS 后台管理系统。
  2. 进入栏目管理:在左侧菜单栏找到【核心】 -> 【栏目管理】。
  3. 选择栏目:点击你需要设置封面模板的栏目名称,进入栏目编辑页面。
  4. 选择封面模板
    • 在栏目编辑页面,找到“栏目封面模板”这一项。
    • 默认情况下,系统会提供一个默认的封面模板(如 default.htm)。
    • 你可以在这里选择一个已有的模板,或者点击后面的【浏览】按钮,从 /templets/default/ 目录(或你自定义的模板目录)中选择一个你制作好的封面模板文件。
  5. 更新栏目:点击【确定】或【保存】按钮,设置完成。

重要提示:一个栏目必须设置了封面模板,并且该模板文件存在于你的模板目录下,才能正常访问栏目的封面页(http://www.yoursite.com/plus/list.php?tid=1)。


封面模板中常用的调用标签

这是最核心的部分,在封面模板文件(如 cover.htm)中,你需要使用 DedeCMS 的特定标签来调用数据。

dede封面模板调用
(图片来源网络,侵删)

调用栏目基本信息

这些标签用于显示栏目自身的名称、描述等信息。

  • {dede:field name='typename'/}栏目名称
  • {dede:field name='description'/}栏目描述
  • {dede:field name='keywords'/}栏目关键词

调用栏目下的文章列表

这是封面模板最常用的功能,用于展示文章。

基本语法:

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

{dede:arclist} 标签常用属性说明:

dede封面模板调用
(图片来源网络,侵删)
属性名 含义 示例
typeid 指定栏目ID,如果为空,表示当前栏目。 typeid='1'
row 调用文章的数量。 row='8' (调用8篇文章)
infolen 内容摘要长度。 infolen='100'
orderby 排序方式,常用值:click(按点击)、pubdate(按发布日期)、id(按ID)。 orderby='click'
orderway 排序方向。desc(降序)、asc(升序)。 orderway='desc'
flag 非常重要! 特殊属性,用于指定文章属性,多个用隔开。 flag='c' (调用推荐文章), flag='h' (调用头条), flag='a' (调用特荐)
channelid 指定模型ID,默认为1(文章模型)。 channelid='1'
limit 起始位置,调用数量,格式为 起始数,数量 limit='0,5' (从第0篇开始,调用5篇)

[field:功能名/] 常用字段说明:

字段名 含义
[field:title/]
[field:arcurl/] 文章链接,非常重要!
[field:pubdate/] 发布时间戳,需要配合 function 使用。
[field:litpic/] 文章缩略图。
[field:description/] 手动在后台编辑的摘要)。
[field:click/] 文章点击次数。

时间格式化示例:

[field:pubdate function="MyDate('Y-m-d H:i:s', @me)"/]
  • MyDate 是 DedeCMS 的日期格式化函数。
  • 'Y-m-d H:i:s' 是目标格式,Y代表四位年份,m代表月份,d代表日,以此类推。
  • @me 代表当前字段的原始值(即时间戳)。

调用特定属性的文章

  • 调用推荐文章 (c):

    {dede:arclist flag='c' row='5'}
        <a href="[field:arcurl/]">[field:title/]</a>
    {/dede:arclist}
  • 调用头条文章 (h):

    {dede:arclist flag='h' row='3'}
        <a href="[field:arcurl/]">[field:title/]</a>
    {/dede:arclist}
  • 调用带缩略图的文章:

    {dede:arclist row='6' typeid='1' imgwidth='150' imgheight='100'}
        <a href="[field:arcurl/]">
            <img src="[field:litpic/]" alt="[field:title/]" width="150" height="100">
            <span>[field:title/]</span>
        </a>
    {/dede:arclist}
    • imgwidthimgheight 用于自动处理缩略图尺寸。

调用子栏目

在封面模板中,也常常需要显示当前栏目的所有子栏目。

{dede:channel type='son' row='8'}
    <li>
        <a href="[field:typeurl/]">[field:typename/]</a>
    </li>
{/dede:channel}
  • type='son':表示调用子栏目。
  • [field:typeurl/]:子栏目的链接。
  • [field:typename/]:子栏目的名称。

一个完整的封面模板示例

下面是一个简单的两栏式封面模板示例,左侧调用推荐文章,右侧调用子栏目。

文件名:cover.htm

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">{dede:field name='typename'/} - {dede:global.cfg_webname/}</title>
</head>
<body>
    <h1>{dede:field name='typename'/}</h1>
    <p>{dede:field name='description'/}</p>
    <div class="main-content">
        <!-- 左侧:推荐文章列表 -->
        <div class="left-column">
            <h2>推荐文章</h2>
            <ul>
                {dede:arclist flag='c' row='5' titlelen='40'}
                <li>
                    <a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a>
                    <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
                </li>
                {/dede:arclist}
            </ul>
        </div>
        <!-- 右侧:子栏目列表 -->
        <div class="right-column">
            <h2>子栏目</h2>
            <ul>
                {dede:channel type='son' row='10'}
                <li>
                    <a href="[field:typeurl/]">[field:typename/]</a>
                </li>
                {/dede:channel}
            </ul>
        </div>
    </div>
</body>
</html>

常见问题与技巧

  1. 为什么我的封面模板不生效?

    • 检查文件路径:确保模板文件上传到了正确的目录(通常是 /templets/你的模板名称/)。
    • 检查栏目设置:再次确认栏目的“栏目封面模板”选项是否正确选择了你的模板文件。
    • 检查标签语法:确保 {dede:...} 标签没有拼写错误,{/dede:...} 的闭合标签正确。
    • 更新缓存:在后台点击【系统】 -> 【一键更新网站】 -> 【更新栏目HTML】和【更新文档HTML】。
  2. 如何调用当前栏目下的所有文章(不分页)?

    • {dede:arclist} 标签中,将 row 属性设置为一个足够大的数字,row='10000',这样就能一次性显示所有文章,但要注意文章数量过多时页面会很长,影响加载速度和用户体验。
  3. 如何调用顶级栏目?

    • {dede:channel} 标签中使用 type='top'
    • {dede:arclist} 标签中,typeid 为空,默认就是调用当前栏目,如果你想调用顶级栏目,需要先通过 {dede:field name='typeid'/} 获取顶级栏目ID,再赋值给 typeid

希望这份详细的指南能帮助你完全掌握 DedeCMS 封面模板的调用!

-- 展开阅读全文 --
头像
dede如何调用图片?
« 上一篇 04-13
织梦网站栏目管理空白,如何解决?
下一篇 » 04-13
取消
微信二维码
支付宝二维码

目录[+]