aayaresko/laravel-table

laravel 5 简单 HTML 表格构建器

v1.0.4 2016-10-31 09:16 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:42:19 UTC


README

laravel 5 HTML 表格构建器

安装

安装扩展的首选方式是通过 composer。检查 composer.json 以了解此扩展的要求和依赖关系。要安装,请运行

$ php composer.phar require aayaresko/laravel-table

或添加

"aayaresko/laravel-table": "^1.0"

到您的 composer.json 的 require 部分。

配置

它不需要任何额外的配置。

用法

简单地创建一个新的 TablesFacade 实例,并将所有必需的参数传递给它

$table = new TablesFacade($data_provider, $attributes, $default_actions_route);

$data_provider 用作模型源。它应该是 Illuminate\Contracts\Pagination\LengthAwarePaginatorIlluminate\Database\Eloquent\Collection 的实例。

$attributes 数组包含要渲染在每一行中的属性列表。您可以使用 '点' 语法来定位相关模型的属性值

$table = new TablesFacade(
    $data_provider, 
    [
        'nickname',
        'email',
        'profile.full_name',
        'created',        
    ], 
    $default_actions_route
);

在您的视图中,您应该放置类似以下内容

<div class="table-responsive">
    {{ $table->renderTable() }}
    {{ $table->renderLinks() }}
</div>

当您使用 Illuminate\Contracts\Pagination\LengthAwarePaginator 作为 $data_provider 时,您可以使用 renderLinks() 方法。

您可以为任何属性指定自定义列名

$table = new TablesFacade(
    $data_provider, 
    [
        'Alias' => 'nickname',
        'email',
        'Full name' => 'profile.full_name',
    ], 
    $default_actions_route
);

该自定义名称将自动翻译。

您可以为任何属性值附加一个回调来渲染

$table = new TablesFacade(
    $data_provider, 
    [
        'nickname',
        'email',
        'profile.full_name',
        'created',   
        'alias' => function ($model) {
            return $model->alias;
        }
    ], 
    $default_actions_route
);

函数签名非常简单:function ($model) {}

$default_actions_route 是用于生成所有操作按钮链接的 '父' 路由。您可以将 <$default_actions_route 设置为 'false'。

您可以通过 $action_buttons 属性配置自己的操作按钮列表。

'show' => [
    'title' => '<i class="glyphicon glyphicon-eye-open"></i>',
    'route' => 'backend.accounts',
],
'edit' => [
    'title' => '<i class="glyphicon glyphicon-pencil"></i>',
    'route' => 'frontend.accounts',
],
'destroy' => [
    'title' => 'My button content',
    'url' => 'backend/accounts/destroy'
    'options' => [
        'class' => 'delete-ajax',
    ]
]

请注意,routeurl 选项是互斥的。您可以通过将 $action_buttons 的值设置为 'false' 来删除 $action_buttons 列。您可以通过按钮 options 数组指定任何按钮的任何 html 选项。

您可以通过 $table_options$row_options$item_options 分别为表格本身、tr 和 td 标签指定属性值。您可以通过 $not_found_text 指定没有模型时显示的文本。