mvo/contao-group-widget

添加了一个新的分组小部件,允许重复一组DCA字段。

安装次数: 60,837

依赖项: 10

建议者: 1

安全: 0

星标: 24

关注者: 5

分支: 9

开放问题: 12

类型:contao-bundle

v1.5.8 2024-09-07 08:27 UTC

README

Latest version on packagist

这个Contao CMS扩展提供了一个输入类型 group,允许在后台重复一组字段。结果数据可以是序列化的数组或自定义实体关系(ORM)。

设计决策/限制

分组元素小部件仍然是相应DCA的“一等公民”。只有它们的定义会在运行时动态生成。这样我们就不干扰显示的子小部件的渲染和状态。因此,通过加号按钮添加新元素时,将提交当前的DCA表单以添加新元素。

元素的视觉重新排序是通过CSS的order属性完成的。这样iframes可以保持活动状态(DOM不会改变),这对于处理tinyMCE富文本编辑器等组件特别有帮助。

文档

TLDR;

给我一个例子,好吗?

$GLOBALS['TL_DCA']['tl_content']['fields']['my_group'] = [
    'inputType' => 'group',
    'palette' => ['amount', 'singleSRC', 'text'],   
    'fields' => [
        'amount' => [ // additional field, defined inline
            'inputType' => 'text',
            'eval' => ['tl_class' => 'w50'],
        ],
        '&singleSRC' => [ // let's change some properties of the existing field
            'eval' => ['mandatory' => false],
        ]   
    ],   
    
    // force at least 1, at max 5 elements
    'min' => 1,
    'max' => 5,
    
    // disable ordering (on by default)
    'order' => false,
    
    // store serialized into a blob (default storage backend)
    'sql' => [
        'type' => 'blob',
        'length' => \Doctrine\DBAL\Platforms\MySqlPlatform::LENGTH_LIMIT_BLOB,
        'notnull' => false,
    ],
];