跳转到主要内容

主题开发

您可以根据此文档开发自己喜欢的OneNav主题。

目录结构

OneNav主题位于站点根目录下的/templates目录,或者是/data/templates,逻辑为:

  1. 优先读取/templates目录下的主题
  2. 如果未读取到/templates目录下的主题,则尝试从/data/templates读取

主题目录命名规范

  1. 主题目录不能包含特殊字符,比如-/.*!@#$%^&
  2. 目录名称不能包含空格

创建一个主题

/templates下创建一个目录,比如HelloWorld,里面至少需要存在2个文件,分别是:

  • index.php - 主题首页文件
  • info.json - 主题描述等信息

info.json配置信息

info.jsonn内容包含:

{
    "name":"Hello World",
    "description":"Hello World",
    "homepage":"https://www.xiaoz.me",
    "version":"1.0.0",
    "update":"2022/04/13",
    "author":"xiaoz",
    "screenshot":"https://img.rss.ink/imgs/2022/03/42ed3ef2c4a50f6d.png"
}

字段含义如下:

  • name:主题名称
  • description:主题描述
  • homepage:作者主页
  • version:主题版本
  • update:主题更新时间
  • author:主题作者
  • screenshot:主题截图

这个时候回到OneNav后台 - 系统设置 - 主题设置,可以看到刚刚创建好的HelloWorld主题,不过当前没有实际作用,因为index.php还没有任何内容。

内置变量

您在index.php中可以使用以下变量,注意需要通过PHP开始符和结束符包裹,比如<?php echo $name; ?>

  • $site['title']:站点标题
  • $site['logo']:站点logo
  • $site['subtitle']:站点副标题
  • $site['keywords']:站点关键词
  • $site['description']:站点描述
  • $site['custom_header']:自定义header
  • $template:主题文件夹名称,比如HelloWorld

index.php