【发布时间】:2017-10-19 09:09:48
【问题描述】:
我希望我的日历扩展返回 XML 和 iCal 输出,同时避免需要任何额外的 TypoScript(额外的页面或 typeNum)。为此,我创建了一个专用的导出控制器。正在加载正确的 XML 扩展模板,但包装在常规 HTML 页面模板中。
这是我在ExportController->listAction() 中尝试的。以下行符合我的预期,因为输出中没有 HTML <head> 部分:
$GLOBALS['TSFE']->config['config']['disableAllHeaderCode'] = 1;
虽然我可以看到 $GLOBALS['TSFE']->tmpl->setup 的 f:debug 输出中的变化,但使用以下行,页面仍然被完全解析:
$GLOBALS['TSFE']->tmpl->setup['page.']['10.']['file'] = 'path/to/empty/templatefile.xml';
我什至更进一步,尝试覆盖我的 TypoScript ($GLOBALS['TSFE']->tmpl->setup['page.']['10.']['file.']['stdWrap.']['cObject.']['default.']) 中的所有模板设置——结果相同。
虽然,在设置$GLOBALS['TSFE']->tmpl->setup = null; 时,一些页面内容消失了:扩展的 XML 模板之后的所有输出以及所有内容元素的上方 - 但模板的那部分仍然存在。
另外——但没有成功——我尝试了这个:
$this->objectManager->get(\TYPO3\CMS\Core\Page\PageRenderer::class)->setTemplateFile('path/to/empty/templatefile.xml');
有没有什么非 TypoScript 方法可以实现我想要的?
【问题讨论】:
标签: php typo3 extbase typo3-7.6.x