首页 文章

TYPO3 TCA / Flexform链接向导:如何在后端显示页面名称?

提问于
浏览
0

我使用前端的流体模板和后端的flexform xml文件创建了一个自定义内容元素 . 该元素有一个链接输入字段,使用链接向导,如本问题中所述:

How can i make a Link input Field in TCA

这工作正常,但是当我从向导中的页面树中选择页面时,输入字段显示页面ID(例如"4") . 如果我在vanilla TYPO3提供的内容元素中使用相同的(?)向导(例如"shortcut"页面类型),则后端显示链接输入字段中页面的 name ,而不是ID . 有没有一种简单的方法将该功能引入我自己的元素?

备注:就我而言,我不使用PHP数组编写风格,而是使用XML编写风格 . 那么PHP数组中的'config'=> array(...)是什么...在我的XML Flexform中 .

1 回答

  • 1

    这是标准行为,请参阅 Header 下的一个示例 Link 字段,它也使用页面的uid,原因很简单:它允许选择页面,还可以选择外部URL,电子邮件地址或文件引用 - 因此它没有't use page' Headers 但它的uid .

    第二个示例 - 页面快捷方式肯定允许您只存储 pages 记录,因此它可以在列表中呈现其 Headers - 但不允许您混合使用不同类型的链接 .

    如果您的ext将始终存储一种类型的链接(即对页面的引用),您可以使用 Group 类型的TCA字段,如documentation所示

    'storage_pid' => array(
             'exclude' => 1,
             'label' => 'LLL:EXT:lang/locallang_tca.xlf:storage_pid',
             'config' => array(
                     'type' => 'group',
                     'internal_type' => 'db',
                     'allowed' => 'pages',
                     'size' => '1',
                     'maxitems' => '1',
                     'minitems' => '0',
                     'show_thumbs' => '1',
                     'wizards' => array(
                             'suggest' => array(
                                     'type' => 'suggest'
                             )
                     )
             )
     ),
    

相关问题