懒人导航 主题开发 教程 (来试试创建自己的主题吧)

2026-09-09 · 18 阅读

懒人导航 主题开发 教程 (来试试创建自己的主题吧)

教程 懒人导航 应用中心 主题开发

​主题开发在线文档:​https://site.ikunwl.com/data/docs/#ch3

1 主题目录结构

主题放在 templates/{主题名}/ 目录下,以下是以/mytheme/主题名为主演示。
判定一个目录是否为可用主题:目录存在且包含 index.phpTheme::exists()),theme.json 提供展示信息。

templates/mytheme/
theme.json 主题信息(名称/标题/版本/作者/简介/预览图)
index.php 首页模板(必需,判定主题存在与否的依据)
category.php 分类页模板(可选,缺失时回退 default 主题)
site.php 站点详情页模板
search.php 搜索页模板
submit.php 提交站点页模板
article_list.php 文章列表页模板(article 插件启用后生效)
article_detail.php 文章详情页模板
error.php 错误页模板(收到 $code / $message)
header.php 公共头部片段(可选;Theme::partial('header') 加载)
footer.php 公共底部片段(可选;含 before_footer / after_footer 钩子)
404.php 404 兼容页(可选,参考模板)
css/ 样式文件(Theme::asset('css/xxx.css') 引用)
js/ 脚本文件(Theme::asset('js/xxx.js') 引用)
screenshot.png 主题截图(可选,后台主题管理展示)
admin.php 主题自带后台设置页(可选;存在时主题管理当前主题卡片出现「设置」,见开发文档 3.8)

缺失的模板文件会自动回退到 templates/default/ 对应文件(Theme::render() / Theme::partial() 均支持回退),因此可以只覆盖想自定义的页面。直接复制 templates/default/ 目录作为新主题起点是最快的做法。

2 theme.json 配置

每个主题可包含 theme.json,由 Theme::getInfo() 读取并合并到默认值(名称/标题/版本/作者/简介),供后台主题管理展示;缺失时使用目录名等默认值。

{
  "name": "default",
  "title": "我的主题",
  "version": "1.0",
  "author": "你的名字",
  "description": "主题简介",
  "preview": ""
}
字段 必填 说明
name 主题标识(默认取目录名,后台展示用)
title 显示名称(默认取目录名)
version 版本号(默认 1.0)
author 作者
description 简介
preview 预览图 URL 或留空(screenshot.png 会被自动识别为截图)

theme.json 外,系统还会自动检测 index.php / category.php / site.php / search.php / submit.php 是否存在并记录到 files 字段,供后台展示文件齐全度。

其他详见主题开发文档~偷偷说一句,可以把文档丢给 AI,就可以写主题了哦,文档很完善了,期待你的主题,做好主题可以在:> 茶馆 < 分享主题,也可以在:> 反馈 < 反馈你所遇到的问题。

返回文章列表
分享: