Theme Develop

主题模板是 Laravel Blade 模板文件,必须依赖网站引擎运行,为网站引擎提供 UE&UI 界面;开发主题模板需要先确认为哪个引擎开发的,需要遵循该引擎的模板标准,参见该引擎的开发文档。

Files Directory Structure

ThemeDemo/          //主题模板文件夹(以 uniKey 命名)
├── PluginConfig.php    //安装配置文件,负责定义主题的基础属性
├── assets/             //主题特有的资源文件
│   ├── fresns.png          //主题封面图(正方形),必须存在且位置固定
│   ├── style.css           //样式文件
│   └── css/                //文件夹(自定义文件夹)
│       └── style.css           //文件
├── views/              //模板文件夹
│   ├── functions.blade.php //主题模板设置文件(位置固定),负责定义主题模板自己的配置项
│   ├── welcome.blade.php   //Blade 视图模板文件
│   └── theme/              //文件夹(自定义文件夹)
│       └── theme.blade.php     //Blade 视图模板文件
├── LICENSE             //版权文件(非必须)
└── README.md           //说明文件(非必须)

文件分发介绍

安装包文件夹分发到执行目录
assets//public/assets/{unikey}/
views//resources/views/themes/{unikey}/
其余文件不分发

Files Description

PluginConfig.php

  • 由于主题模板也是入库管理的模式,所以「安装」使用了插件的配置文件来处理主题模板的信息入库。
class PluginConfig extends BasePluginConfig
{
    public $type = 5; //类型必须为 5
    public $uniKey = "DemoPlugin"; //主题标识名,全局唯一值,大驼峰命名
    public $name = '演示主题';
    public $description = "这是一个官方演示主题";
    public $author = "唐杰";
    public $authorLink = "https://tangjie.me";
    public $currVersion = '1.0.0'; //语义化版本号
    public $currVersionInt = 1; //整型版本号
    public $settingPath = "functions.php"; //如果主题无 functions.php 文件,该参数可删除,或者参数值留空
}
1
2
3
4
5
6
7
8
9
10
11
12

functions.php

  • 主题模板设置文件,负责定义主题模板自己的配置项,共有四种配置类型。
    • 1、常规表单组件:组件为 input、textarea、select
    • 2、上传文件组件:组件为 input type="file"
    • 3、多语言组件:组件为 input 或 textarea
    • 4、关联插件组件:组件为 select 或 select multiple
  • 组件演示:https://fresns.org/prototype/engine/functions.htmlopen in new window

使用方式待更新

views 文件夹介绍

主题模板核心文件,采用标准的模板文件目录,可以避免用户更换引擎的时候,无法兼容使用。以下目录结构,供网站引擎参数。

ThemeDemo/                  //主题模板文件夹(以 uniKey 命名)
├── PluginConfig.php            //安装配置文件
├── assets/                     //主题特有的资源文件
│   ├── fresns.png                  //主题封面图
│   ├── css/                        //主题样式文件夹
│   ├── images/                     //主题图片资源文件夹
│   ├── fonts/                      //主题字体文件夹
│   └── js/                         //主题 JavaScript 文件夹
├── views/                      //模板文件夹
│   ├── functions.blade.php         //主题模板设置文件
│   ├── components/                 //组件文件
│   │   ├── member.blade.php            //列表模块(组件)模板:成员
│   │   ├── group.blade.php             //列表模块(组件)模板:小组
│   │   ├── hashtag.blade.php           //列表模块(组件)模板:话题
│   │   ├── post.blade.php              //列表模块(组件)模板:帖子
│   │   ├── comment.blade.php           //列表模块(组件)模板:评论
│   │   ├── extend.blade.php            //列表模块(组件)模板:扩展内容
│   │   └── implant.blade.php           //列表模块(组件)模板:植入内容
│   ├── commons/                    //公共模板文件
│   │   ├── header.blade.php            //页头模板
│   │   ├── footer.blade.php            //页尾模板
│   │   ├── profile.blade.php           //Profile 页头模板
│   │   ├── sidebar.blade.php           //Sidebar 模板
│   │   ├── 404.blade.php               //错误页模板
│   ├── portal/                     //门户模板文件
│   │   └── index.blade.php             //门户骨架
│   ├── members/                    //成员模板文件
│   │   ├── index.blade.php             //成员主页
│   │   ├── list.blade.php              //成员列表页
│   │   ├── likes.blade.php             //我点赞的成员
│   │   ├── following.blade.php         //我关注的成员
│   │   ├── blocking.blade.php          //我屏蔽的成员
│   │   └── follow.blade.php            //关注成员的帖子列表页
│   ├── groups/                     //小组模板文件夹
│   │   ├── index.blade.php             //小组主页
│   │   ├── list.blade.php              //小组列表页
│   │   ├── likes.blade.php             //我点赞的小组
│   │   ├── following.blade.php         //我关注的小组
│   │   ├── blocking.blade.php          //我屏蔽的小组
│   │   ├── follow.blade.php            //关注小组的帖子列表页
│   │   └── detail.blade.php            //单个小组详情页(小组下帖子列表)
│   ├── hashtags/                   //话题模板文件夹
│   │   ├── index.blade.php             //话题主页
│   │   ├── list.blade.php              //话题列表页
│   │   ├── likes.blade.php             //我点赞的话题
│   │   ├── following.blade.php         //我关注的话题
│   │   ├── blocking.blade.php          //我屏蔽的话题
│   │   ├── follow.blade.php            //关注话题的帖子列表页
│   │   └── detail.blade.php            //单个话题详情页(话题下帖子列表)
│   ├── posts/                      //帖子模板文件夹
│   │   ├── index.blade.php             //帖子主页
│   │   ├── list.blade.php              //帖子列表页
│   │   ├── likes.blade.php             //我点赞的帖子
│   │   ├── following.blade.php         //我关注的帖子
│   │   ├── blocking.blade.php          //我屏蔽的帖子
│   │   ├── follows.blade.php           //关注对象(成员、小组、话题)的帖子
│   │   ├── nearby.blade.php            //附近范围内帖子
│   │   ├── position.blade.php          //指定位置附近的帖子
│   │   └── detail.blade.php            //单个帖子详情页(帖子下评论列表)
│   ├── comments/                   //评论模板文件夹
│   │   ├── index.blade.php             //评论主页
│   │   ├── list.blade.php              //评论列表页
│   │   ├── likes.blade.php             //我点赞的评论
│   │   ├── following.blade.php         //我关注的评论
│   │   ├── blocking.blade.php          //我屏蔽的评论
│   │   └── detail.blade.php            //单个评论详情页(子级评论列表)
│   ├── messages/                   //消息模板文件夹
│   │   ├── index.blade.php             //消息主页
│   │   ├── dialog.blade.php            //通知
│   │   └── notify.blade.php            //会话框
│   ├── profile/                    //访问成员模板文件夹
│   │   ├── index.blade.php             // TA 的主页
│   │   ├── posts.blade.php             // TA 发表的帖子
│   │   ├── comments.blade.php          // TA 发表的评论
│   │   ├── likers.blade.php            // 点赞 TA 的成员
│   │   ├── followers.blade.php         // 关注 TA 的成员
│   │   ├── shielders.blade.php         // 屏蔽 TA 的成员
│   │   ├── likes_members.blade.php     // TA 点赞的成员
│   │   ├── likes_groups.blade.php      // TA 点赞的小组
│   │   ├── likes_hashtags.blade.php    // TA 点赞的话题
│   │   ├── likes_posts.blade.php       // TA 点赞的帖子
│   │   ├── likes_comments.blade.php    // TA 点赞的评论
│   │   ├── following_members.blade.php // TA 关注的成员
│   │   ├── following_groups.blade.php  // TA 关注的小组
│   │   ├── following_hashtags.blade.php// TA 关注的话题
│   │   ├── following_posts.blade.php   // TA 关注的帖子
│   │   ├── following_comments.blade.php// TA 关注的评论
│   │   ├── blocking_members.blade.php  // TA 屏蔽的成员
│   │   ├── blocking_groups.blade.php   // TA 屏蔽的小组
│   │   ├── blocking_hashtags.blade.php // TA 屏蔽的话题
│   │   ├── blocking_posts.blade.php    // TA 屏蔽的帖子
│   │   └── blocking_comments.blade.php // TA 屏蔽的评论
│   ├── user/                       //用户中心模板文件夹
│   │   ├── index.blade.php             //用户中心
│   │   ├── signup.blade.php            //注册
│   │   ├── signin.blade.php            //登录
│   │   ├── reset.blade.php             //找回密码
│   │   ├── wallet.blade.php            //钱包页(包括交易记录列表)
│   │   ├── members.blade.php           //成员列表(切换成员)
│   │   └── setting.blade.php           //设置页
│   ├── search/                     //搜索模板文件夹
│   │   ├── index.blade.php             //搜索首页
│   │   └── list.blade.php              //搜索结果列表页
│   └── editor/                     //编辑器模板文件夹
│        ├── index.blade.php             //高级编辑器
│        ├── post_box.blade.php          //快速发表帖子框
│        ├── comment_box.blade.php       //快速发表评论框
│        └── drafts.blade.php            //草稿箱
├── LICENSE                     //版权文件
└── README.md                   //说明文件