fromholdio/silverstripe-superlinker

Superlinker

安装次数: 1,089

依赖项: 4

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 1

开放问题: 1

类型:silverstripe-vendormodule


README

需要 Silverstripe 5+

CMS 字段测试片段

// for $has_one relation, testing inline fields
$linkFields = SuperLink::singleton()->getCMSLinkFields('SuperLink' . HasOneEdit::FIELD_SEPARATOR);
$fields->addFieldsToTab('Root.Main', $linkFields->toArray());

// for $has_one relation, testing with edit form
$fields->addFieldsToTab('Root.Main', [
    HasOneMiniGridField::create(
        'SuperLink',
        'SuperLink',
        $this
    )
]);

// for $has_many relation, testing with gridfield
$linksField = MiniGridField::create(
    'SuperLinks',
    'Links',
    $this
)->setLimit(7)->setShowLimitMessage(true);
$fields->addFieldToTab('Root.Main', $linksField);

// for the HasOne/MiniGridFields, currently adding these lines provides nicer UI
$config = $linksField->getGridConfig()?->addComponent(new GridField_ActionMenu());
$linksField->setGridConfig($config);

v3 待办事项

  • 每种链接类型的验证
  • 更丰富的摘要字段内容
  • 更新 MiniGridField 以使用 GridField_ActionMenu
  • 为了便于开发,移除当前现有的 yml 配置(转换为 yml.example/readme 或类似格式)
  • 添加而非 HasOneMiniGridField 的模态框
  • 解决关于处理、命名和访问器(Title vs LinkText)的不确定性问题
  • 损坏或空链接的汇报
  • 权限
  • 增加对链接容器对象的意识,以进行孤儿报告/修剪(&可能扩展配置到容器/关系)
  • 文档/README
  • 格式/主题/样式作为可选扩展
  • 更智能地处理设置/选项
  • 通过 yml 配置应用显示逻辑(也许字段排序),使用 linktypes x fieldnames(允许链接类型共享字段,而不是要求每个类使用自己的字段)