系统安装步骤
- 将源码上传至网站根目录。
- 确保目录
storage/、public/uploads/可写。 - 浏览器访问
http://您的域名/install.php进入安装向导。 - 填写数据库信息(MySQL 5.7+ / 8.0)。
- 设置管理员账号密码,点击安装。
- 安装完成后删除
install.php,登录后台开始使用。
Nginx 伪静态配置
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?_route=$1 last;
}
}Apache 伪静态配置
在网站根目录创建 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?_route=$1 [QSA,PT,L]
</IfModule>模板目录结构
V2.0 前台模板位于 template/{模板目录}/,包含 header.php、footer.php、index.php、list.php、show.php、page.php 等文件,新版模块另含 product_list.php、product_detail.php、search.php、download_list.php、contact.php。可直接修改 HTML/CSS/JS 自定义网站外观。静态资源放在 public/static/templates/{模板目录}/。模板清单文件为 config.php(V2.0 标准)或 template.json(旧格式)。
模板标签说明
- {$变量名}:输出转义后的变量(如 {$site_name})。
- {include file="header"}:引入公共模板片段。
- url() / asset() / upload_url():分别生成页面 URL、静态资源 URL、上传文件 URL。
- csrf_field():输出表单 CSRF 隐藏域。
插件钩子使用教程
V2.0 内核提供统一的钩子(Hook)机制。前台模板只需在合适位置调用渲染钩子,插件即可向页面注入内容,模板与插件彻底解耦,模板内不写死任何插件代码。
一、模板预埋钩子挂载点
在模板 header.php 的 </head> 之前调用页面头部钩子:
<?php echo \App\Core\Hook::render(\App\Core\Hook::PAGE_HEAD); ?>在 footer.php 的 </body> 之前调用页脚 / 侧边悬浮位钩子:
<?php echo \App\Core\Hook::render(\App\Core\Hook::PAGE_FOOTER); ?>二、可用钩子一览
system.init:插件全局初始化,缓存常用数据。page.head:前台<head>内输出,用于注入样式与预加载资源。page.footer:前台</body>前输出,用于注入 DOM 节点(如悬浮客服窗)与脚本。content.render:文章 / 单页正文渲染时追加内容。article.publish:文章发布 / 更新后触发,用于写入业务数据。admin.head/admin.footer:后台页面头部 / 页脚输出。
三、插件注册钩子
插件在自身 config.php 清单中声明钩子与处理文件,内核加载插件时自动注册,无需手动调用:
<?php
// plugin/my_demo/config.php 插件清单
return [
'id' => 'my_demo',
'name' => '演示插件',
'version' => '2.0.0',
'hooks' => [
'page.head' => 'hooks/page_head.php',
'page.footer' => 'hooks/page_footer.php',
],
];钩子开发示例
钩子处理文件需 return 一个可调用对象(闭包)。输出型钩子的回调返回字符串即可,内核会自动拼接输出:
<?php
// plugin/my_demo/hooks/page_footer.php
// 前台页脚 / 侧边悬浮位挂载:返回 HTML 字符串,内核统一拼接
return function () {
// 若插件开关关闭,直接返回空串即可不输出任何内容
return '<div id="my-demo-float">演示插件悬浮位</div>';
};说明:每个钩子回调由内核独立捕获异常执行,单个插件回调报错会被记录并跳过,不会中断其它插件与模板的渲染,即插件故障隔离。
AI 智能客服插件部署说明
- 登录后台,进入「插件中心」。
- 点击「上传插件」,选择
dzdz_ai_cs.zip安装包并上传。 - 安装完成后点击「启用」,插件自动创建专属数据表,不影响系统原有数据。
- 进入插件配置页,设置开关、欢迎语、客服名称、主题色、悬浮位置、知识库与 IP 限流策略。
- 前台刷新任意页面,右下角 / 左下角出现客服悬浮图标,点击即可打开对话窗口。
- 如需卸载,在插件中心点击「卸载」,插件数据表会被自动清理,系统数据不受影响。
注:插件所有回答仅基于本地预设知识库与站内已有内容,遵循「预设 FAQ > 预设官方文档 > 站内内容 > 大模型兜底」四级优先级,全程不联网抓取外部内容。
栏目与文章使用教程
- 栏目管理:后台 → 栏目管理 → 添加栏目,设置栏目名称、别名(用于 URL)、类型(文章栏目/单页栏目)。
- 文章发布:后台 → 文章管理 → 添加文章,选择所属栏目,填写标题、摘要、正文,上传缩略图,设置置顶/推荐。
- 产品管理:后台 → 产品管理 → 添加产品,前台通过 /products/ 展示。
- 单页管理:后台 → 单页管理 → 添加单页,设置 slug 和内容,前台通过
/{slug}.html访问。 - SEO 设置:每个栏目、文章、单页均可独立设置 SEO 标题、关键词、描述。