dede根目录调用标签

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

在 DedeCMS 中,根目录的首页文件 index.php 本身是一个 PHP 脚本,它负责初始化系统、接收请求并最终通过 include 方式加载模板文件 index.htm,你不是直接在 index.php 文件里写标签,而是在 index.htm 这个模板文件里使用 DedeCMS 的模板标签。

dede根目录调用标签
(图片来源网络,侵删)

下面我将分模块,详细列出在首页 index.htm 中最常用和最重要的调用标签及其用法。


基础配置与说明

  1. 标签位置:所有模板标签都写在 index.htm 文件中。
  2. 标签格式:DedeCMS 标签通常由 {dede:标签名 属性='值'}{/dede:标签名} 组成。
  3. 常用变量
    • {dede:global.cfg_webname/}:网站名称
    • {dede:global.cfg_weburl/}:网站网址
    • {dede:global.cfg_description/}:网站描述
    • {dede:global.cfg_keyword/}:网站关键词

核心内容调用标签

调用文档列表(文章列表)

这是最核心、最常用的标签,用于调用指定栏目下的文章列表。

基本语法:

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

常用属性说明:

dede根目录调用标签
(图片来源网络,侵删)
属性 说明 示例
typeid 指定栏目ID,调用单个栏目,用栏目ID;调用多个栏目,用逗号隔开,如 '1,2,3',留空表示调用所有栏目。 typeid='1'
row 调用条数,显示多少篇文章。 row='10'
orderby 排序方式pubdate (发布时间,默认)、click (点击量)、id (文章ID)、rand (随机)。 orderby='click'
channelid 模型ID1 代表文章模型,2 代表图集模型,3 代表下载模型等,默认为 1 channelid='1'
limit 分页限制,格式为 起始位置,条数limit='0,5' 表示从第0条开始,调用5条。 limit='0,5'

常用字段说明 (通过 [field:字段名/] 调用):

字段 说明
[field:title/]
[field:arcurl/] 文章链接(完整URL)
[field:pubdate/] 发布时间(Unix时间戳)
[field:description/] 在后台文章内容中手动设置的摘要)
[field:litpic/] 文章缩略图
[field:click/] 文章点击量

示例:调用 ID 为 1 的栏目下的 10 篇最新文章,标题显示 30 个字符。

<h2>最新文章</h2>
<ul>
    {dede:arclist typeid='1' row='10' titlelen='30'}
        <li>
            <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
            <span class="time">[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
        </li>
    {/dede:arclist}
</ul>

调用栏目列表

用于调用指定层级的栏目。

基本语法:

dede根目录调用标签
(图片来源网络,侵删)
{dede:channel type='top' row='8'}
    <a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}

常用属性说明:

属性 说明 示例
type 栏目类型top (顶级栏目)、son (当前栏目的子栏目)、self (包括当前栏目和子栏目)。 type='top'
row 调用栏目数量 row='8'
typeid 指定栏目ID,如果指定了 typeidtype 属性会失效,只调用该ID下的子栏目。 typeid='5'

调用友情链接

调用后台设置的友情链接。

基本语法:

{dede:flink type='text' row='24'}
    <a href="[field:url/]" target="_blank">[field:name/]</a>
{/dede:flink}

常用属性说明:

属性 说明 示例
type 显示类型text (文字链接)、image (图片链接)、textall (所有类型)。 type='text'
row 调用数量 row='24'

高级与特殊标签

调用指定单篇文档

常用于调用“网站公告”、“公司简介”等固定内容,你需要先在后台创建一个文档,并记下其文章ID。

基本语法:

{dede:sql sql='Select body From dede_arctiny where id=文章ID'}
    [field:body/]
{/dede:sql}

或者使用更灵活的 arclist

{dede:arclist idlist='文章ID'}
    [field:title/]
    [field:body/]
{/dede:arclist}

示例:调用 ID 为 100 的文章内容。

{dede:sql sql='Select body From dede_arctiny where id=100'}
    <div class="notice">
        [field:body/]
    </div>
{/dede:sql}

调用子栏目及其文章

这是一个非常常见的布局,即“大栏目 + 子栏目文章列表”。

基本思路:

  1. 先用 {dede:channel} 调用子栏目列表。
  2. 在循环中,对每一个子栏目,再用 {dede:arclist} 调用其下的文章。

示例代码:

{dede:channel type='son' typeid='父栏目ID'}
    <div class="box">
        <h3><a href="[field:typelink/]">[field:typename/]</a></h3>
        <ul>
            {dede:arclist row='5' titlelen='30'}
                <li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
            {/dede:arclist}
        </ul>
    </div>
{/dede:channel}

注意:这里的 typeid='父栏目ID' 需要替换成你实际的父栏目ID。

调用评论/留言

调用最新的评论信息。

基本语法:

{dede:loop table='dede_feedback' sort='dtime' row='10'}
    [field:username/] 评论了 [field:arctitle/]:<br />
    [field:msg function='htmlspecialchars(@me)'/]
{/dede:loop}

参数说明:

  • table: 评论表,默认为 dede_feedback
  • sort: 排序字段,dtime 是评论时间。
  • row: 调用条数。

分页标签

如果你的首页内容很多,需要分页显示,就需要用到分页标签。

分页标签必须放在 {dede:arclist}{dede:list} 标签的后面。

基本语法:

{dede:arclist typeid='1' row='10' pagesize='20'}
    <!-- 文章列表内容 -->
    <a href="[field:arcurl/]">[field:title/]</a>
{/dede:arclist}
<!-- 分页条 -->
<div class="dede_pages">
    <ul>
        <li><span class="pageinfo">共 <strong>{dede:pagelist listsize='0'/}</strong> 页</span></li>
    </ul>
</div>

或者更常用的简洁分页:

{dede:pagelist listitem='info,index,end,pre,next,pageno' listsize='5'/}

listitem 属性说明:

  • info: 显示 "共X页X条" 信息
  • index: 显示首页
  • pre: 显示上一页
  • next: 显示下一页
  • pageno: 显示页码
  • end: 显示尾页

搜索表单

用于生成一个站内搜索的表单。

基本语法:

<form name="formsearch" action="{dede:global.cfg_cmspath/}/search.php">
    <input type="hidden" name="kwtype" value="1" />
    <input type="hidden" name="searchtype" id="searchtype" value="titlekeyword" />
    <input type="text" name="q" value="在这里输入关键词" />
    <button type="submit">搜索</button>
</form>

总结与注意事项

  1. 标签位置:始终在模板文件(如 index.htm)中调用,而不是在 index.php 中。
  2. 缓存机制:DedeCMS 有强大的缓存机制,修改模板后,如果首页没有更新,可以进入后台的“生成” -> “更新主页HTML”来刷新页面,或者清空缓存。
  3. 调试:如果标签不生效,最常见的原因是:
    • typeididlist 写错了。
    • 栏目或文章被禁用了(在后台检查状态)。
    • 模板标签写错,比如拼写错误、引号不匹配。
    • 缓存问题。
  4. 自定义函数:像 function="MyDate('Y-m-d', @me)" 这样的写法,是调用 DedeCMS 的自定义函数来格式化时间。@me 代表当前字段的原始值。

掌握以上这些标签,你就可以构建出功能完善的 DedeCMS 首页了,对于更复杂的需求,可以进一步学习 DedeCMS 的自定义模型、标签嵌套和SQL查询等高级技巧。

-- 展开阅读全文 --
头像
Linux C语言如何获取IP地址?
« 上一篇 今天
Linux C语言编程教程该怎么学?
下一篇 » 今天

相关文章

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