Typo3:如何读取页面->编辑->选项卡中字段的值:元数据

Typo3: How can I read the value of a field in page->edit->tab: Metadata

我根据一张图片创建了一张 header,一张主图 Header 和一张副图 Header。

page/edit/Metadata中的以下fields/labels重命名为:

    TCEFORM.pages.author.label.default = HeaderImageMainTitle
    TCEFORM.pages.author_email.label.default = HeaderImageSubTitle

现在我得到了 media/create 新 relation/image 文件的内容并且工作正常。但是上面两个标签为 'author' 和 'author_email' 的字段的值保持为空(格式标签在那里,但没有内容):

lib.headerteaser = COA
lib.headerteaser.stdWrap.wrap = <div id="headerTeaser">|</div>

lib.headerteaser.10 = IMAGE
lib.headerteaser.10 {
  file {
    import.data = levelmedia:-1, slide
    treatIdAsReference = 1
    import.listNum = 0
  }
  wrap = |
}

lib.headerteaser.20 = TEXT
lib.headerteaser.20.data = levelfield : -1 , HeaderImageMainTitle, slide
lib.headerteaser.20.wrap = <div id="headerTeaserText"><h1>|</h1>

lib.headerteaser.30 = TEXT
lib.headerteaser.30.data = levelfield : -1 , HeaderImageSubTitle, slide
lib.headerteaser.30.wrap = <p>|</p></div>

模板中的 viewhelper 如下所示:

    <f:cObject typoscriptObjectPath="lib.headerteaser" />

我想念什么?学习了 google 太棒了!!

在 .data 属性中使用字段名称,而不是字段标签:

lib.headerteaser.20.data = levelfield:-1, author, slide
lib.headerteaser.30.data = levelfield:-1, author_email, slide

而且我认为您需要更新 Typo3 配置:

$GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields'] = ',author,author_email';

我测试了这段代码,工作正常(Typo3 7.6.0)。

我测试过的 Typoscript 设置(无图像):

lib.headerteaser = COA
lib.headerteaser.stdWrap.wrap = <div id="headerTeaser">|</div>

lib.headerteaser.20 = TEXT
lib.headerteaser.20.data = levelfield:-1, author, slide
lib.headerteaser.20.wrap = <div id="headerTeaserText"><h1>|</h1>

lib.headerteaser.30 = TEXT
lib.headerteaser.30.data = levelfield:-1, author_email, slide
lib.headerteaser.30.wrap = <p>|</p></div>

page = PAGE
page.10 < lib.headerteaser

设置 typo3conf/LocalConfiguration.php:

<?php
return [
    ...
    'FE' => [
        'addRootLineFields' => ',author,author_email',
    ],
    ...
];

加上清除 Typo3 缓存。