你可能和我一样找了很久 GitHub, 却找不到一款优雅的 laravel 主题扩展插件,老样子,既然找不到就自己动手丰衣足食,该扩展插件核心为:利用 View::addNamespace () 和 View::prependNamespace () 实现主题模板功能
-
GitHub: hongyukeji/laravel-theme
- 安装:
composer require hongyukeji/laravel-theme
- 发布 config/themes.php 配置文件
php artisan vendor:publish --provider=Hongyukeji\\LaravelTheme\\ThemeServiceProvider
- 使用:
// 1. 在 config/themes.php 中 添加 templates, 如: 'frontend' => [ 'path_prefix' => 'resources/views/frontend/', 'template' => 'default', 'template_default' => 'default', ],
// 2. 在控制器中使用: public function index() { return view('frontend::index.index'); }
// 3. 在视图目录新建frontend目录和对应的index(frontend => 终端, default => 主题): resources/views/frontend resources/views/frontend/default resources/views/frontend/default/index resources/views/frontend/default/index/index.blade.php
-
templates 参数说明:
- path_prefix 为每个终端模板目录路径
- template 为使用模板的目录
- template_default 为默认模板目录,即找不到 template 模板对应的目录文件,会自动在该参数定义的目录去查找
- 助手函数你可能会需要:
get_template_dir 获取给定目录下的所有目录 - 图片