【发布时间】:2020-10-05 11:39:03
【问题描述】:
我正在寻找一种方法来通过新的 PageTitleProvider API 获取页面标题集,以便在 FluidTemplate 中显示它。
在我们的一个 TYPO3 安装中,页面标题用作标题,显示在页面本身上。主 PAGE 对象设置为呈现 FLUIDTEMPLATE 对象。我已经在文档中的新 PageTitleAPI 上实现了示例,https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/PageTitleApi/Index.html 到我的扩展中,并且对于标签来说效果很好。
但是,在页面本身中,仍然显示页面中设置的标题,而不是我在扩展程序中设置的标题。
我发现,我可以实例化 PageTitleProviderManager,但 getTitle 仍然解析为页面名称,而不是我设置的标题,这很可能是因为此对象在扩展设置 PageTitleProviders 之前已解析。
$pageTitleProviderManager = GeneralUtility::makeInstance(\TYPO3\CMS\Core\PageTitle\PageTitleProviderManager::class);
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump( $pageTitleProviderManager->getTitle() );
// -> outputs the page name, not the title custom page title
有没有办法在所有 Providers 都被处理后解析页面标题并显示在一个流体模板中?
【问题讨论】:
-
我没试过,不过应该可以读出TSFE并赋值给模板。
-
TSFE 中有一个 getPageTitle(),是的。但这也只包含页面名称。