【问题标题】:How can i make a Link input Field in TCA如何在 TCA 中创建链接输入字段
【发布时间】:2023-04-03 17:25:01
【问题描述】:

我需要与 TYPO3 标准相同的功能。在那里您可以选择一个链接(外部站点、内部站点、文件等)

我该怎么做?

【问题讨论】:

    标签: typo3-tca


    【解决方案1】:

    您可以在typo3/sysext/cms/tbl_tt_content.php 和typo3/sysext/cms/tbl_cms.php 文件中找到TYPO3 后端的TCA。 在这里您可以找到 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',
        ),
    ),
    

    【讨论】:

    • 重要的部分是wizards配置。
    • 您可以使用blindLinkOptions 来限制用户使用特定的输出。你可以在这里查看。 snipplr.com/view/71972/…
    • 这已经过时了,并且在较新的 TYPO3 版本中通过renderType 简化了很多。
    • 8.x 版中缺少括号 ), 无法更改,因为编辑限制最少为 6 个字符)
    【解决方案2】:

    TYPO3 的新版本 7 中的 TCA 看起来略有不同:

            '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'
                )
            ),
    

    【讨论】:

    • 感谢您以最新的答案保持这个主题的活力。编辑图标在 Typo3 >= 7.5 中正确显示的另一个小改动:'icon' => 'EXT:backend/Resources/Public/Images/FormFieldWizard/wizard_link.gif'
    【解决方案3】:

    在 TYPO3 8.x 中,这非常简单,只需将 'renderType' => 'inputLink' 添加到您的 input 字段即可。

    【讨论】:

      【解决方案4】:

      以下内容适用于 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',
                  ),
      ),
      

      【讨论】:

        猜你喜欢
        • 2018-08-07
        • 1970-01-01
        • 1970-01-01
        • 2021-10-22
        • 1970-01-01
        • 2012-05-16
        • 2019-11-25
        • 2012-03-08
        • 1970-01-01
        相关资源
        最近更新 更多