ianrothmann / rocket-laravel-framework
RocketFramework Laravel 辅助工具
Requires
- php: >=5.4.0
- ianrothmann/laravel-vue-bridge: *
- laravel/framework: >=5.4.0
- spatie/laravel-translation-loader: ^2.0
README
RocketFramework for Vue Laravel 辅助工具。
安装
composer install ianrothmann/rocket-laravel-framework
在 config/app.php 中
服务提供者
IanRothmann\RocketLaravelAppFramework\ServiceProviders\RocketAppServiceProvider::class
门面
'Rocket' =>IanRothmann\RocketLaravelAppFramework\Facades\Rocket::class
发布配置
php artisan vendor:publish --provider="IanRothmann\RocketLaravelAppFramework\ServiceProviders\RocketAppServiceProvider" --tag="config"
菜单
菜单可以在中间件中指定,也可以在任何控制器中修改,在传递视图之前。
用法
您可以给菜单起一个名字,例如 "main",然后链接着项目。图标是可选的。如果您需要自定义项目,可以使用 ->custom
Rocket::menu('main') ->route(label,routeName,paramsArray,icon,userRightOrClosureReturningBool) ->route('Change Password','password.change',[],'person','user_edit') ->link(name,url,icon,userRightOrClosureReturningBool) ->custom(RocketMenu::item("Google")->link("http://google.com")->hint('Go to Google')->icon('delete')->id('google')->target('_blank')->right(userRightOrClosureReturningBool));
组也是可能的。指定 ->group
。这会返回项目。然后指定 ->subMenu()
,现在您可以将项目链接到子菜单中。您需要再次使用 Rocket::menu('main')
来添加主菜单项目。
Rocket::menu('main') ->group('Rocket CRUD') ->subMenu() ->route('CRUD Table','rocket.crud.table'); Rocket::menu('main')->route('Home','home',[]);
前置
有时人们希望前置项目(尤其是在从控制器修改定义在中间件中的菜单时。所有项目函数都可以以 push
开头以前置。
Rocket::menu('main')->pushRoute('Home','home',[]); //pushLink, pushGroup, pushCustom etc.
前端
此包与 VueBridge 集成,并将菜单在 $store.state.server.rocketMenus
中可用,用于在 RocketVueAppFramework
中与 rocket-framework-menu
一起使用。
<rocket-framework-menu :menu="$store.state.server.rocketMenus&&$store.state.server.rocketMenus.main"></rocket-framework-menu>
面包屑
使用 Rocket::breadcrumbs()
,以访问 BreadcrumbsService。
您可以使用以下方法:
@include('rocket::breadcrumbsmenu')
来显示带有菜单项目的菜单图标
或者
@include('rocket::breadcrumbs')
显示经典的面包屑栏。所有这些都仅实现于 Vuetify。您不能同时使用两者,请确保在页面上只使用其中之一。
在 config/rocketframework.php
中,您可能设置
'breadcrumbs' => [ 'number'=>4, //Number of breadcrumbs to save 'default'=>'show' //Default behaviour to show or hide breadcrumbs ]
在任意页面上,您可以调用:Rocket::breadcrumbs()->show()
或 Rocket::breadcrumbs()->hide()
以离开默认行为。您还可以为面包屑设置一个命名空间以限制系统上的某些部分/会话。例如:Rocket::breadcrumbs()->setBreadcrumbsNamespace($clientid)
原地编辑语言
这使您可以使用 blade 语法 @editabletext(language_line_code)
或 @editablehtml(language_line_code)
。如果编辑模式处于活动状态,用户将能够就地编辑文本。这对于面向公众的网站等很有用。
- 使用
Rocket::activateLanguageEdit()
或Rocket::deactivateLanguageEdit()
进入编辑模式。 - 在 app/config/rocketframework.php 中有语言配置 - 主要用于更新路由。默认值在大多数情况下应该适用。 - 但请记住路由保护的中件。默认是 [], 但应该有认证和权限。
- 它使用了 spatie/laravel-translation-loader 包将其存储在
language_lines
表中,请确保表存在 - 更多信息请查看他们的 readme。您必须在项目中安装此包并覆盖服务提供者,如他们的 readme 中所述。