dede新闻资讯模板如何快速搭建?

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

模板文件结构

一个典型的DedeCMS新闻资讯模块,其模板文件通常存放在 /templets/ 目录下,并按照栏目ID进行组织。

假设您的“新闻资讯”栏目的ID是 1,那么模板文件结构大致如下:

/templets/
├── default/                  // 默认模板目录
│   ├── index.htm            // 网站首页模板
│   ├── article_article.htm  // 文章内容页模板
│   ├── list_default.htm      // 文章列表页模板 (栏目列表页)
│   └── ...                  // 其他页面模板
│
└── plus/                     // 公共模板目录
    └── view_img.htm          // 图片集内容页

对于新闻资讯,我们最关心的是三个核心文件:

  1. list_default.htm: 列表页模板,用于显示一个栏目下的所有文章标题、发布时间等,通常分页显示。
  2. article_article.htm: 内容页模板,用于显示单篇文章的完整内容,包括标题、正文、作者、来源、点击量等。
  3. index.htm: 首页模板,通常用于调用各大栏目的最新文章或推荐文章。

核心DedeCMS标签

在编写模板时,你需要熟练使用DedeCMS的专用标签。

列表页常用标签 (list_default.htm)

这些标签通常放在 {dede:list} 循环标签内。

说明 示例
{dede:list} 列表循环开始,用于遍历当前栏目的所有文章。 {dede:list pagesize='10'}
{/dede:list} 列表循环结束 {/dede:list}
[field:title/] <a href="[field:arcurl/]">[field:title/]</a>
[field:arcurl/] 文章的完整链接地址。 <a href="[field:arcurl/]" title="[field:title/]">
[field:pubdate function="MyDate('Y-m-d',@me)"/] 文章发布时间。function用于格式化时间。 <span>[field:pubdate function="MyDate('Y-m-d',@me)"]</span>
[field:description/] 中自动截取)。 <p>[field:description function='cn_substr(@me,100)']...</p>
[field:litpic/] 文章的缩略图。 <img src="[field:litpic/]" alt="[field:title/]" />
[field:click/] 文章的点击量。 <span>阅读([field:click/])</span>
[field:source/] 文章来源。 <span>来源:[field:source/]</span>
[field:writer/] 文章作者。 <span>作者:[field:writer/]</span>
[field:typedir/] 当前栏目的目录路径。 <a href="[field:typedir/]">更多</a>
{dede:pagelist/} 分页导航 {dede:pagelist listsize='5'/}

{dede:list} 属性说明:

  • pagesize='10': 每页显示的文章数量。

模板实例代码

列表页模板 (list_default.htm)

这是一个常见的新闻列表页布局,包含文章标题、时间、缩略图和分页。

{dede:include filename="head.htm"/} <!-- 引入头部文件 -->
<div class="main">
    <div class="left">
        <div class="title">
            <h2>{dede:field.typename/}</h2> <!-- 显示当前栏目名称 -->
            <div class="more"><a href="{dede:field.typeurl/}">更多</a></div>
        </div>
        <div class="news_list">
            {dede:list pagesize='10'}
            <div class="news_item">
                <div class="img_box">
                    <a href="[field:arcurl/]">
                        <img src="[field:litpic/]" alt="[field:title/]" />
                    </a>
                </div>
                <div class="text_box">
                    <h3><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></h3>
                    <p>[field:description function='cn_substr(@me,120)']...</p>
                    <div class="info">
                        <span>[field:pubdate function="MyDate('Y-m-d',@me)"]</span>
                        <span>阅读([field:click/])</span>
                    </div>
                </div>
            </div>
            {/dede:list}
        </div>
        <div class="page">
            {dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/}
        </div>
    </div>
    <!-- 右侧边栏可以放 {dede:include filename="right.htm"} -->
</div>
{dede:include filename="footer.htm"} <!-- 引入底部文件 -->

内容页模板 (article_article.htm)

这个模板用于展示单篇文章的详细内容。

{dede:include filename="head.htm"/}
<div class="main">
    <div class="left">
        <div class="title">
            <h2>{dede:field.title/}</h2>
            <div class="info">
                <span>发布时间:{dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/}</span>
                <span>来源:{dede:field.source/}</span>
                <span>作者:{dede:field.writer/}</span>
                <span>点击:{dede:field.click/}</span>
            </div>
        </div>
        <div class="content">
            {dede:field.body/} <!-- 这是文章正文的核心标签 -->
        </div>
        <div class="prenext">
            <div class="pre">
                {dede:prenext get='pre'/}
            </div>
            <div class="next">
                {dede:prenext get='next'/}
            </div>
        </div>
        <!-- 文档评论模块 -->
        {dede:include filename="plus/feedback.htm"/}
    </div>
    <!-- 右侧边栏 -->
</div>
{dede:include filename="footer.htm"}

高级技巧与优化

条件判断 (if

页,你可能需要根据文章属性显示不同的内容,只有“推荐”的文章才显示“[荐]”标签。

<!-- 在列表项中使用 -->
{dede:list}
    <h3>
        [field:title/]
        {dede:if iscommend='yes'}
            <span class="recommend">[荐]</span>
        {/dede:if}
    </h3>
{/dede:list}

{dede:if} 常用属性:

  • iscommend='yes': 判断是否为推荐文章。
  • typeid='1': 判断是否属于指定ID的栏目。
  • ismember='yes': 判断是否为会员投稿。

调用指定栏目的文章

你可以在首页或任何页面调用其他栏目的最新文章。

<!-- 调用ID为 '2' 的栏目下的5篇最新文章 -->
{dede:arclist typeid='2' titlelen='30' row='5'}
    <li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}

{dede:arclist} 常用属性:

  • typeid: 指定栏目ID。
  • row: 调用文章数量,len`: 标题长度。
  • type: image(仅图片集)、spec(专题)等。
  • infolen: 摘要长度。

分页

当一篇文章很长时,DedeCMS支持手动分页,在内容页模板中,你需要使用 {dede:pagebreak/} 标签来显示分页链接。

在文章编辑器中:你需要插入分页符。 article_article.htm 模板中:在 {dede:field.body/} 的适当位置(通常是末尾)添加:

<div class="pages">
    {dede:pagebreak/}
</div>

SEO优化

  • 标题 (Title):
  • 关键词 (Keywords):
    <meta name="keywords" content="{dede:field.keywords/}" />
  • 描述 (Description):
    <meta name="description" content="{dede:field.description function='html2text(@me)'/}" />

    html2text 函数可以将HTML标签去掉,只保留纯文本,更适合搜索引擎。


如何使用这些模板

  1. 登录后台:进入您的DedeCMS后台管理系统。
  2. 进入模板管理:在左侧菜单找到 模板 -> 模板管理
  3. 选择模板:在“模板管理”页面,点击右上角的 默认模板管理
  4. 编辑模板:在列表中找到您要修改的模板文件(如 list_default.htm),点击后面的 修改 按钮。
  5. 粘贴代码:将您准备好的代码粘贴到编辑器中,点击 保存
  6. 生成页面:修改模板后,需要重新生成页面才能看到效果,进入 生成 -> 一键生成,选择 更新栏目HTML更新文档HTML,然后点击 开始生成

希望这份详细的指南能帮助您快速上手DedeCMS新闻资讯模板的开发!

-- 展开阅读全文 --
头像
织梦网站如何添加滚动公告?
« 上一篇 今天
织梦首页刷新为何超级慢?
下一篇 » 今天
取消
微信二维码
支付宝二维码