nblum/silverstripe-table-field

此包已被废弃,不再维护。没有建议的替代包。

允许以所见即所得的方式编辑表格

安装次数: 3,260

依赖项: 1

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 2

开放问题: 0

语言:JavaScript

类型:silverstripe-vendormodule

2.0.1 2018-03-15 13:54 UTC

This package is auto-updated.

Last update: 2023-01-15 13:07:04 UTC


README

允许以所见即所得的方式编辑表格。结果保存为json格式。

screenshot

安装

composer require nblum/silverstripe-table-field

使用

在模型中

private static $db = [
    'Table' => 'Varchar',
];

public function getCMSFields()
{
    $fields = parent::getCMSFields();

    $fields->addFieldsToTab('Root.Main', [
        TableField::create('Table', 'Table')
    ]);

    return $fields;
}

public function Table()
{
    return new ArrayList(array_reduce(json_decode($this->dbObject('Table')->value), function ($carry, $row) {
        $carry = is_array($carry) ? $carry : [];
        return array_merge($carry, [['row' => new ArrayList(array_reduce($row, function($carry, $column) {
            $carry = is_array($carry) ? $carry : [];
            return array_merge($carry, [['column' => $column]]);
        }))]]);
    }));
}

在模板中

<table>
    <% loop $Table %>
        <tr>
            <% loop $row %>
                <%-- Using .RAW lets us but <b> tags in the table fields --%>
                <td>$column.RAW</td>
            <% end_loop %>
        </tr>
    <% end_loop %>
</table>

配置

没有配置选项

待办事项

  • 添加配置选项以设置最大行数和列数