怎么调用织梦留言板

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

基础调用(最常用)

这是最基本、最直接的调用方式,它会显示最新的几条留言,包含留言者姓名、留言内容和留言时间。

怎么调用织梦留言板
(图片来源网络,侵删)

代码示例:

<h3>最新留言</h3>
<ul class="guestbook-list">
    {dede:guestbook}
    <li>
        <div class="guest-info">
            <span class="name">[field:uname function='htmlspecialchars(@me)'/]</span>
            <span class="time">[field:time function='strftime("%Y-%m-%d %H:%M",@me)'/]</span>
        </div>
        <div class="guest-content">[field:msg function='htmlspecialchars(@me)'/]</div>
    </li>
    {/dede:guestbook}
</ul>

代码解释:

  • {dede:guestbook}{/dede:guestbook}:这是标签的开始和结束,它们之间的内容会被循环输出。
  • [field:uname ...]:调用留言者的用户名。
    • function='htmlspecialchars(@me)':这是一个非常重要的安全函数,它会将特殊字符(如 <, >, &)转换为HTML实体,可以有效防止XSS跨站脚本攻击。强烈建议在所有用户输入内容上都使用此函数。
  • [field:time ...]:调用留言的时间。
    • function='strftime("%Y-%m-%d %H:%M",@me)':这是一个时间格式化函数,%Y-%m-%d %H:%M 是输出格式,代表 年-月-日 时:分,你可以根据需要修改这个格式,"%Y年%m月%d日"
  • [field:msg ...]:调用留言的正文内容。
    • 同样,也建议使用 htmlspecialchars 函数进行过滤。

常用参数详解

通过给 {dede:guestbook} 标签添加参数,可以更精确地控制留言的显示。

row - 设置显示条数

用于指定要显示的留言数量。

怎么调用织梦留言板
(图片来源网络,侵删)

示例:显示最新的5条留言

{dede:guestbook row='5'}
    <!-- 循环内容 -->
{/dede:guestbook}

titlelen - 设置标题长度

虽然留言板没有标题,但如果你想在留言内容前截取一部分作为摘要,可以使用这个参数,它作用于留言内容 [field:msg]

示例:让留言内容只显示前30个字符

{dede:guestbook row='5' titlelen='30'}
    <li>[field:msg function='htmlspecialchars(@me)'/]</li>
{/dede:guestbook}

infolen - 设置信息长度

这个参数和 titlelen 类似,也是用于截取留言内容的长度,通常两者选其一使用即可。

示例:让留言内容只显示前50个字符

{dede:guestbook row='5' infolen='50'}
    <li>[field:msg function='htmlspecialchars(@me)'/]</li>
{/dede:guestbook}

orderby - 排序方式

用于设置留言的排序规则。

  • dtime:按留言时间降序(默认,最新的在前)。
  • dtime asc:按留言时间升序(最早的在前)。

示例:按留言时间升序显示,即显示最早的留言

{dede:guestbook row='10' orderby='dtime asc'}
    <!-- 循环内容 -->
{/dede:guestbook}

完整实例:创建一个“最新留言”模块

假设你想在网站首页的侧边栏显示一个“最新留言”模块,包含5条留言,每条留言显示用户名、时间和截取后的30字内容。

HTML 代码 (放在模板文件中):

<div class="sidebar-box">
    <h3 class="sidebar-title">最新留言</h3>
    <ul class="sidebar-list">
        {dede:guestbook row='5' titlelen='30'}
        <li>
            <span class="guest-user">[field:uname function='htmlspecialchars(@me)'/] 说:</span>
            <span class="guest-text">[field:msg function='htmlspecialchars(@me)'/]</span>
            <span class="guest-time">([field:time function='strftime("%m-%d",@me)'/])</span>
        </li>
        {/dede:guestbook}
    </ul>
</div>
<style>
/* 一些简单的样式,让留言更好看 */
.sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sidebar-list li {
    padding: 8px 0;
    border-bottom: 1px dashed #eee;
    font-size: 14px;
    line-height: 1.5;
}
.guest-user {
    font-weight: bold;
    color: #0066cc;
}
.guest-text {
    color: #333;
}
.guest-time {
    color: #999;
    font-size: 12px;
    float: right;
}
</style>

重要注意事项

  1. 开启留言功能

    • 确保你的网站后台已经开启了留言板功能,路径:后台 -> 系统 -> 系统基本参数 -> 互动设置 -> 是否开启留言板功能,选择“是”。
    • 确保留言板模块已启用,路径:后台 -> 模块 -> 模块管理 -> 找到“留言板”并确保其为“启用”状态。
  2. 安全第一

    • 再次强调,务必在调用 [field:msg][field:uname] 等用户提交的字段时,使用 function='htmlspecialchars(@me)' 进行过滤,这是防止网站被恶意脚本注入的关键。
  3. 调用位置

    这个标签可以在织梦的任何模板文件中使用,包括首页、列表页、文章页,甚至是自定义的页面模板。

  4. 分页

    • 默认的 {dede:guestbook} 标签不包含分页功能,如果你需要一个非常长的留言列表并希望分页显示,你需要使用更复杂的 arclist 标签结合自定义模型来实现,或者修改 guestbook.htm 模板文件来支持分页,对于大多数网站首页侧边栏的“最新留言”不使用分页是常见且正确的做法。

通过以上步骤,你就可以灵活地在织梦网站的任何地方调用留言板了。

-- 展开阅读全文 --
头像
C语言remove函数如何正确删除文件?
« 上一篇 04-22
dede如何批量替换标题?
下一篇 » 04-22

相关文章

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

目录[+]