用途:把静态 HTML/CSS 网站部署到 ERPNext/Frappe v15/v16,通过 Web Page、Page Builder 和 REST API 托管页面。
主要能力:创建可复用 Web Template 渲染原始 HTML;用 page_blocks 创建/更新 Web Page;配置 Website Settings 的首页、品牌、导航与全局 CSS;集成 Frappe 内置 Discussion Topic/Reply 论坛;提供部署脚本模式与故障排查。
关键用法:v16 不渲染 main_section,须用 content_type: "Page Builder" 配合 page_blocks。先一次性创建 "Raw HTML Section" Web Template(字段 fieldtype 必须为 Text,模板用 {{ values.html_content }}),再创建 Web Page,其中 web_template_values 是 JSON 字符串,需 json.dumps() 序列化。更新用 PUT /api/resource/Web%20Page/{name},按路由查找用 GET /api/resource/Web%20Page?filters=[["route","=","my-page"]]&fields=["name"]。Website Settings 通过 PUT /api/resource/Website%20Settings/Website%20Settings 配置 home_page、brand_html、head_html、top_bar_items、footer_items。认证使用 Authorization: token {api_key}:{api_secret},密钥应通过环境变量或安全配置传入,不得写入技能文件或提交到 git。
CSS 管理:页面级 CSS 放 Web Page 的 css 字段,Google Fonts、CSS 变量与 Frappe 包裹层修复放 head_html;不要对内容元素滥用 !important,仅针对 Frappe 自身包裹元素(如 .page-header-wrapper、.page-breadcrumbs、.page-content-wrapper 等)做覆盖。
从 HTML 原型部署:提取主体内容,去掉原型自带导航与页脚;把 .html 链接改为 Frappe 路由(如 about.html → /about);本地 img/ 路径需上传到 Frappe File Manager 或改用绝对 URL。
论坛:使用内置 "Discussions" Web Template 作为 page block,字段含 title、cta_title、docname、single_thread;可通过 POST /api/resource/Discussion%20Topic 与 POST /api/resource/Discussion%20Reply 管理主题与回复。
限制与排查:页面空白多因 v16 未用 Page Builder;内容上方白条由 Frappe 包裹层造成;Web Template 字段类型报错需改用 Text;图片不显示因本地路径无法解析。具体收费、平台支持范围等资料未提供。