TYPO3 TCA/Flexform Link 向导:如何在后台显示页面名称?

TYPO3 TCA/Flexform Link Wizard: How to display page name in the backend?

我使用前端的流畅模板和后端的 flexform xml 文件创建了自定义内容元素。该元素有一个 link 输入字段,该字段使用 link 向导,如以下问题所述:

How can i make a Link input Field in TCA

这工作正常,但是当我 select 向导中页面树中的页面时,输入字段显示页面 ID(例如“4”)。如果我在 vanilla TYPO3 提供的内容元素中使用相同的 (?) 向导(例如 "shortcut" 页面类型),后端会在 name 中显示页面的 name =27=]输入字段,不是ID。 有没有一种简单的方法可以将该功能应用到我自己的元素中?

备注:在我的例子中,我没有使用PHP数组的写法,而是XML的。那么 PHP 数组中的 'config' => array(...) 是... 在我的 XML Flexform 中。

这是标准行为,请参见 Header 下的示例 Link 字段它也使用页面的 uid,原因很简单:它允许选择页面,但也可以外部 URL、电子邮件地址或文件引用 - 因此它不使用页面标题,而是使用它的 uid。

第二个示例 - 页面快捷方式绝对允许您仅存储 pages 记录,因此它可以在列表中呈现其标题 - 但不允许您混合不同种类的 link s.

如果您的分机将始终存储一种类型的 link(即对页面的引用),您可以使用 Group 类型的 TCA 字段,如 documentation[=16= 所示]

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