menatwork/contao-multicolumnwizard-bundle

Contao开源CMS的多列向导

3.6.8 2024-05-24 05:44 UTC

README

Build Status Latest Version tagged Latest Version on Packagist Installations via composer per month

contao-multicolumnwizard-bundle 的仓库已迁移至 contao-community-alliance。我们计划在新版本从CCA发布之前,通过错误修复支持此版本。

MultiColumnWizard

MultiColumnWizard 是一个用于在DCA元素中映射同一类型和/或不同类型的多个字段(输入类型)的组件。MCW的各个字段以列的形式列在后台,并可以逐行作为一个组扩展。布局对应于形式为 array[rows][fields] 的多维数组,该数组以序列化数组的形式存储在数据库中。该组件几乎与 MultiTextWizard 或 MultiSelectWizard 完全相同,它扩展了任何组件的功能。

更多详细信息可以在contao wiki中找到 http://de.contaowiki.org/MultiColumnWizard

安装

多列向导通常通过扩展安装。如果需要自行安装多列向导,请使用具有 composer 的控制台,通过以下调用

composer require menatwork/contao-multicolumnwizard-bundle

web/contao-manager.phar.php composer require menatwork/contao-multicolumnwizard-bundle

开发者应在他们的 composer.json 中将 Multicolumnwizard 添加为依赖项包。

用法

与列字段一起使用

<?php
$GLOBALS['TL_DCA']['tl_theme']['fields']['templateSelection'] = [
    'label'     => &$GLOBALS['TL_LANG']['tl_theme']['templateSelection'],
    'exclude'   => true,
    'inputType' => 'multiColumnWizard',
    'eval'      => [
        'columnFields' => [
            'ts_client_os'      => [
                'label'     => &$GLOBALS['TL_LANG']['tl_theme']['ts_client_os'],
                'exclude'   => true,
                'inputType' => 'select',
                'eval'      => [
                    'style'              => 'width:250px',
                    'includeBlankOption' => true,
                ],
                'options'   => [
                    'option1' => 'Option 1',
                    'option2' => 'Option 2',
                ],
            ],
            'ts_client_browser' => [
                'label'     => &$GLOBALS['TL_LANG']['tl_theme']['ts_client_browser'],
                'exclude'   => true,
                'inputType' => 'text',
                'eval'      => [ 'style' => 'width:180px' ],
            ],
        ],
    ],
    'sql'       => 'blob NULL',
];
?>

与回调一起使用

<?php
$GLOBALS['TL_DCA']['tl_table']['fields']['anything'] = [
    'label'     => &$GLOBALS['TL_LANG']['tl_table']['anything'],
    'exclude'   => true,
    'inputType' => 'multiColumnWizard',
    'eval'      => [
        'mandatory'       => true,
        'columnsCallback' => [ 'Class', 'Method' ],
    ],
    'sql'       => 'blob NULL',
];
?>

禁用拖放

<?php
$GLOBALS['TL_DCA']['tl_theme']['fields']['templateSelection'] = [
    'label'     => &$GLOBALS['TL_LANG']['tl_theme']['templateSelection'],
    'exclude'   => true,
    'inputType' => 'multiColumnWizard',
    'eval'      => [
        // add this line for use the up and down arrows
        'dragAndDrop'  => false,
        'columnFields' => [
            'ts_client_browser' => [
                'label'     => &$GLOBALS['TL_LANG']['tl_theme']['ts_client_browser'],
                'exclude'   => true,
                'inputType' => 'text',
                'eval'      => [ 'style' => 'width:180px' ],
            ],
        ],
    ],
    'sql'       => 'blob NULL',
];
?>

隐藏按钮

<?php
$GLOBALS['TL_DCA']['tl_theme']['fields']['templateSelection'] = [
    'label'     => &$GLOBALS['TL_LANG']['tl_theme']['templateSelection'],
    'exclude'   => true,
    'inputType' => 'multiColumnWizard',
    'eval'      => [
        // add this line for hide one or all buttons
        'buttons'      =>
        [
            'new'    => false,
            'copy'   => false,
            'delete' => false,
            'up'     => false,
            'down'   => false,
            'move'   => false
        ],
        // as alternative to hide all buttons use the next line
        //'hideButtons'  => true,
        'columnFields' => [
            'ts_client_browser' => [
                'label'     => &$GLOBALS['TL_LANG']['tl_theme']['ts_client_browser'],
                'exclude'   => true,
                'inputType' => 'text',
                'eval'      => [ 'style' => 'width:180px' ],
            ],
        ],
    ],
    'sql'       => 'blob NULL',
];
?>

其他参数

从版本 3.6.5 开始

可以使用Symfony翻译器来翻译标签和描述。为此,将 useTranslator 键设置为 true。

<?php
$GLOBALS['TL_DCA']['tl_theme']['fields']['anything'] = [
//...
    'inputType' => 'multiColumnWizard',
    'eval'      => [
        'useTranslator' => true,
// ...
    ],
];
?>

列的描述显示在列标题中,作为图标 🛈 旁边的工具提示 - 字符或文本可以在语言文件中更改。