denis-kisel / laravel-admin-widget
laravel admin 插件
v1.7
2019-12-14 12:39 UTC
Requires
README
laravel-admin 包
安装
通过 Composer
$ composer require denis-kisel/laravel-admin-widget
在 config/app.php 文件中添加服务提供者。对于 laravel5.4+ 是可选的
/* * Package Service Providers... */ DenisKisel\LaravelAdminWidget\LaravelAdminWidgetServiceProvider::class,
执行发布
$ php artisan vendor:publish --provider="DenisKisel\\LaravelAdminWidget\\LaravelAdminWidgetServiceProvider"
运行迁移
$ php artisan migrate
使用方法
创建 Widget
命令: php artisan admin:widget {name}
$ php artisan admin:widget Slider
此命令将生成文件路径:app/Admin/Controllers/Widgets/SliderWidget.php。
并将添加路由 site.com/admin/slider-widget
获取 Widget 数据
以数组形式获取 widget 数据
<?php use DenisKisel\LaravelAdminWidget\Facade\Widget; Widget::getArray($code)
以集合形式获取 widget 数据
<?php use DenisKisel\LaravelAdminWidget\Facade\Widget; Widget::getCollection($code)
添加自定义数据
也可以添加自定义数据
<?php use DenisKisel\LaravelAdminWidget\Facade\Widget; Widget::put($code, $data) #Store or update widget
可排序项
对于可排序项,我使用 jquery-ui 库。
{items} - 是 NestedForm 键
Admin::js('/js/admin/jquery-ui.min.js'); Admin::script('$(function() { $(\'.has-many-{items}-forms\').sortable(); });');
实时示例
public function form() { Admin::js('/js/admin/jquery-ui.min.js'); Admin::script('$(function() { $(\'.has-many-items-forms\').sortable(); });'); $data = Widget::getArray($this->code); $form = new \Encore\Admin\Widgets\Form($data); $form->repeat('items', function (NestedForm $form) { $form->textarea('title', __('admin.title')); $form->image('image', __('admin.image')); }); $form->action(url()->current()); return $form->render(); }
修复错误
调用成员函数 getKey()
为了修复这个错误,只需运行
php artisan fix:nested_form