guysartorelli/silverstripe-gridfield-preview

独立的 silverstripe GridField 组件,可直接从 GridField 预览记录

安装: 43

依赖: 0

建议: 0

安全: 0

星标: 5

关注者: 5

分支: 1

开放问题: 0

类型:silverstripe-vendormodule

2.0.0 2023-02-14 08:01 UTC

This package is auto-updated.

Last update: 2024-09-19 04:08:27 UTC


README

一个独立的 GridField 组件,允许直接从 GridField 预览记录。

安装

composer require guysartorelli/silverstripe-gridfield-preview

CMS 用户使用

example of usage

在 gridfield 中点击预览按钮。这将自动打开预览面板(如果你的屏幕足够宽,将以分割模式显示,否则以预览模式显示),并将预览设置为点击的记录。

preview button

开发者使用

直接在 ModelAdmin 中使用

使用此模块的最简单方法是将 PreviewableModelAdminExtension 作为扩展添加到您的 ModelAdmin 子类中。默认情况下,这将向所有具有 CMSPreviewable 模型的标签页添加预览按钮。

MyApp\Admin\MyModelAdmin:
  extensions:
    - GuySartorelli\GridFieldPreview\PreviewableModelAdminExtension

您还可以配置它仅向特定模型类添加组件

MyApp\Admin\MyModelAdmin:
  extensions:
    - GuySartorelli\GridFieldPreview\PreviewableModelAdminExtension
  gridfield_previewable_classes:
    - MyApp\Model\MyPreviewableModel

在任何其他 GridField

您可以将 GridFieldPreviewButton GridField 组件添加到任何 GridField 中,即使它属于具有自己预览的 DataObject

use GuySartorelli\GridFieldPreview\GridFieldPreviewButton;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridFieldConfig_RecordViewer;

//...

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

        $fields->addFieldToTab('Root.Main', GridField::create(
            'SomethingPreviewable',
            'Something Previewable',
            MyPreviewableDataObject::get(),
            $config = GridFieldConfig_RecordViewer::create()
        ));

        // Here's the important part - add the GridFieldPreviewButton component!
        $config->addComponent(GridFieldPreviewButton::create());

        return $fields;
    }