Как я могу сделать поле ввода ссылки в TCA

Мне нужна та же функция, что и в стандарте TYPO3. Там вы можете выбрать ссылку (внешний сайт, внутренний сайт, файл и т.д.)

Как я могу это сделать?


person zoom23    schedule 16.01.2013    source источник


Ответы (4)


Вы можете найти TCA для бэкэнда TYPO3 в файлах typo3/sysext/cms/tbl_tt_content.php и typo3/sysext/cms/tbl_cms.php. Здесь вы найдете пример header_link.

Решение для TYPO3 6.1 и ниже:

'header_link' => array(
    'label' => 'LLL:EXT:cms/locallang_ttc.xml:header_link',
    'exclude' => 1,
    'config' => array(
        'type' => 'input',
        'size' => '50',
        'max' => '256',
        'eval' => 'trim',
        'wizards' => array(
            '_PADDING' => 2,
            'link' => array(
                'type' => 'popup',
                'title' => 'LLL:EXT:cms/locallang_ttc.xml:header_link_formlabel',
                'icon' => 'link_popup.gif',
                'script' => 'browse_links.php?mode=wizard',
                'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1',
            ),
        ),
        'softref' => 'typolink',
    ),
),

Решение для TYPO3 6.2.x - 7.6.x:

'header_link' => array(
    'label' => 'LLL:EXT:cms/locallang_ttc.xml:header_link',
    'exclude' => 1,
    'config' => array(
        'type' => 'input',
        'size' => '50',
        'max' => '256',
        'eval' => 'trim',
        'wizards' => array(
            '_PADDING' => 2,
            'link' => array(
                'type' => 'popup',
                'title' => 'LLL:EXT:cms/locallang_ttc.xml:header_link_formlabel',
                'icon' => 'EXT:backend/Resources/Public/Images/FormFieldWizard/wizard_link.gif',
                'module' => array(
                    'name' => 'wizard_element_browser',
                    'urlParameters' => array(
                        'mode' => 'wizard',
                        'act' => 'page'
                    )
                ),
                'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1',
            ),
        ),
        'softref' => 'typolink',
    ),
),

Решение для TYPO3 8.x:

'header_link' => array(
    'label' => 'LLL:EXT:cms/locallang_ttc.xml:header_link',
    'exclude' => 1,
    'config' => array(
        'type' => 'input',
        'renderType' => 'inputLink',
    ),
),
person Michiel Roos    schedule 17.01.2013
comment
Важной частью является конфигурация wizards. - person pgampe; 17.01.2013
comment
Вы можете использовать blinkLinkOptions, чтобы ограничить пользователя определенным выводом. Вы можете проверить здесь. snipplr.com/view/71972 / - person Vishal Tanna; 29.09.2015
comment
Это устарело и стало намного проще в более новых версиях TYPO3 через renderType. - person Mathias Brodala; 14.12.2017
comment
отсутствует скобка ), в версии 8.x не может быть изменена, так как ограничения на редактирование составляют минимум 6 символов) - person Hafenkranich; 08.02.2021
comment
Спасибо @Hafenkranich, исправлено - person Michiel Roos; 01.04.2021

TCA выглядит немного иначе в новой версии 7 TYPO3:

        'link' => array(
            'label' => 'LLL:EXT:cms/locallang_ttc.xlf:header_link',
            'exclude' => 1,
            'config' => array(
                'type' => 'input',
                'size' => '50',
                'max' => '1024',
                'eval' => 'trim',
                'wizards' => array(
                    'link' => array(
                        'type' => 'popup',
                        'title' => 'LLL:EXT:cms/locallang_ttc.xlf:header_link_formlabel',
                        'icon' => 'link_popup.gif',
                        'module' => array(
                            'name' => 'wizard_element_browser',
                            'urlParameters' => array(
                                'mode' => 'wizard'
                            )
                        ),
                        'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1'
                    )
                ),
                'softref' => 'typolink'
            )
        ),
person bernland    schedule 30.09.2015
comment
Спасибо за поддержание этой темы с обновленным ответом. Еще одно небольшое изменение для правильного отображения значка редактирования в Typo3 ›= 7.5: 'icon' => 'EXT:backend/Resources/Public/Images/FormFieldWizard/wizard_link.gif'. - person Liquinaut; 24.10.2015

В TYPO3 8.x это очень просто, просто добавьте 'renderType' => 'inputLink' в поле input.

person Mathias Brodala    schedule 14.12.2017

Следующее будет работать для TYPO3 7.6.X

'detailpage' => array(
            'exclude' => 1,
            'label' => 'LLL:EXT:myExt/Resources/Private/Language/locallang_db.xlf:tx_myExt_domain_model_mdl1.detailpage',
            'config' => array(
                'type' => 'input',
                'size' => 30,
                'eval' => 'trim',
                'wizards' => array(
                    '_PADDING' => 2,
                    'link' => array(
                        'type' => 'popup',
                        'title' => 'LLL:EXT:cms/locallang_ttc.xml:header_link_formlabel',
                        'icon' => 'link_popup.gif',
                        'module' => array(
                            'name' => 'wizard_element_browser',
                            'urlParameters' => array(
                                'mode' => 'wizard',
                                'act' => 'page'
                            )
                        ),
                        'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1',
                    ),
                ),
                'softref' => 'typolink',
            ),
),
person Mihir Bhatt    schedule 12.12.2016