denis-kisel/laravel-admin-widget

v1.7 2019-12-14 12:39 UTC

This package is auto-updated.

Last update: 2024-08-29 05:06:41 UTC


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