如何在 PbootCMS 中创建留言板表单并调用留言记录?

    在 PbootCMS 中搭建留言板分为两大步骤:前端留言提交表单 和 后台留言列表的调用。下面给出可直接使用的完整代码和说明。

    一、创建留言提交表单

    使用 PbootCMS 内置标签 {pboot:msgaction} 作为表单提交地址,{pboot:checkcode} 生成验证码。表单字段名称(如 contacts、mobile、content)必须与后台留言表字段一致。

    以下是一个标准的留言表单 HTML 代码(可复制到模板中):

    <form action="{pboot:msgaction}" method="post">
        <div class="form-group">
            <label>联系人:</label>
            <input type="text" name="contacts" required>
        </div>
        <div class="form-group">
            <label>手机:</label>
            <input type="text" name="mobile" required>
        </div>
        <div class="form-group">
            <label>内容:</label>
            <textarea name="content" rows="5" required></textarea>
        </div>
        <div class="form-group">
            <label>验证码:</label>
            <input type="text" name="checkcode" required>
            <img src="{pboot:checkcode}" onclick="this.src='{pboot:checkcode}?'+Math.random();" style="cursor:pointer;" title="点击刷新">
        </div>
        <button type="submit">提交留言</button>
    </form>

    标签说明:    
       • {pboot:msgaction} – 留言数据接收地址,自动入库。
       • {pboot:checkcode} – 验证码图片地址,点击可刷新。
       • 若需增加字段(如邮箱),请先在后台“自定义表单”中添加,再在前台增加同名 input。

    二、调用留言记录列表

    使用 {pboot:message} 标签输出留言,支持分页、隐私保护(手机号中间隐藏)和格式化时间。

    以下是调用列表的核心代码:

    {pboot:message num=10 page=1}
    <div class="message-item">
        <p><strong>联系人:</strong>[message:contacts]</p>
        <p><strong>手机:</strong>[message:mobile substr=1,3]****[message:mobile substr=8]</p>
        <p><strong>内容:</strong>[message:content]</p>
        <p><strong>留言时间:</strong>[message:askdate style=Y-m-d H:i]</p>
        <p><strong>回复:</strong>[message:recontent]</p>
        <p><strong>回复时间:</strong>[message:replydate style=Y-m-d]</p>
    </div>
    {/pboot:message}

    参数详解:    
       • num=10 – 每页显示 10 条。
       • page=1 – 开启分页(1 开启,0 关闭)。
       • lg=all – 调取所有语言留言(可选)。
       • [message:mobile substr=1,3]****[message:mobile substr=8] – 手机号中间四位隐藏。
       • style=Y-m-d H:i – 自定义日期格式。

    三、分页导航(可选)

    若开启分页,在列表循环外部添加以下代码:

    <div class="pagination">
        {pboot:page}
    </div>

    四、完整整合示例(表单 + 列表)

    将以下内容放入模板页面即可(样式可自行调整):

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>留言板</title>
        <style>
            .form-group { margin-bottom: 15px; }
            .form-group input, .form-group textarea { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px; }
            .message-item { border-bottom: 1px solid #eee; padding: 15px 0; }
            .pagination { margin-top: 20px; }
        </style>
    </head>
    <body>
        <h2>我要留言</h2>
        <form action="{pboot:msgaction}" method="post">
            <div class="form-group">
                <label>联系人:</label>
                <input type="text" name="contacts" required>
            </div>
            <div class="form-group">
                <label>手机:</label>
                <input type="text" name="mobile" required>
            </div>
            <div class="form-group">
                <label>内容:</label>
                <textarea name="content" rows="5" required></textarea>
            </div>
            <div class="form-group">
                <label>验证码:</label>
                <input type="text" name="checkcode" required>
                <img src="{pboot:checkcode}" onclick="this.src='{pboot:checkcode}?'+Math.random();" style="cursor:pointer;">
            </div>
            <button type="submit">提交</button>
        </form>
    
        <hr>
    
        <h2>历史留言</h2>
        {pboot:message num=10 page=1}
            <div class="message-item">
                <p><strong>联系人:</strong>[message:contacts]</p>
                <p><strong>手机:</strong>[message:mobile substr=1,3]****[message:mobile substr=8]</p>
                <p><strong>内容:</strong>[message:content]</p>
                <p><strong>留言时间:</strong>[message:askdate style=Y-m-d H:i]</p>
                <p><strong>回复:</strong>[message:recontent]</p>
            </div>
        {/pboot:message}
        <div class="pagination">{pboot:page}</div>
    </body>
    </html>

    注意事项:    
       • 若留言不显示,检查后台是否有已审核记录,且 num 大于 0。
       • 分页标签 {pboot:page} 必须放在 {pboot:message} 循环外部。
       • 验证码不显示时检查服务器 GD 库是否开启。
       • 所有字段名称大小写敏感,请保持一致。

    通过上述代码,您即可快速搭建一个功能完整的 PbootCMS 留言板,便于用户互动和管理员回复。