[特例]社区模板

本专章面向 Community 社区站点模板 开发。Community 与 CMS/Wiki 共用 Liquid 与大部分 site / page 对象,但在前台交互、用户权限与表单提交上有显著差异。

何时阅读本章

  • 你在 选择与安装模板 中选择了 Community 模板,或基于 Community 公共模板二次开发。
  • 你需要实现前台注册登录、发帖、评论、编辑帖子等功能。
若开发的是 CMS 或 Wiki 模板,阅读 开发指南 中的通用路径即可,无需深入本章。

与通用模板的差异摘要

  1. 前端用户认证 — 独立注册/登录界面,模板中通过 current_user 判断登录态。
  2. 前台表单 — 使用 {% form_tag 'page' %}{% form_tag 'edit_page' %} 等创建与编辑帖子,见 表单示例
  3. 页面权限标志 — 模板 schema 中 user_creatableuser_editableuser_deletable 控制前台是否允许创建/编辑/删除某类页面;user_permitted_attributes 限制可提交的 template_variables 字段。
  4. 评论与互动comment 对象及社区互动相关 API,见 变量和方法

阅读顺序

  1. 前置: 自定义变量和方法 — 先了解共用对象(文中标注「同 cms 站点」的部分)
  2. 变量和方法 — Community 专有的对象与差异说明
  3. 表单示例 — 创建/编辑帖子、评论等前台表单代码