我希望我的日历扩展名返回XML和iCal输出,同时避免需要任何其他TypoScript (附加页或typeNum)。为此我创建了一个专用的导出控制器。正在加载正确的XML扩展模板,但将其包装在常规的HTML页面模板中。TYPO3 7:覆盖或删除扩展控制器内的页面模板
这是我在ExportController->listAction()
尝试。下面的代码行做什么,我希望它会因为没有HTML <head>
部分输出:
$GLOBALS['TSFE']->config['config']['disableAllHeaderCode'] = 1;
具有以下行而不是页面仍然被完全解析,虽然我可以看到在F中的变化:调试的$GLOBALS['TSFE']->tmpl->setup
输出:
$GLOBALS['TSFE']->tmpl->setup['page.']['10.']['file'] = 'path/to/empty/templatefile.xml';
我甚至更进一步,并试图从我的Typo脚本($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');
是否有任何非Typo脚本的方式来实现我想要什么?
谢谢你,克劳斯。我现在用一个专用的pageType去寻找TS解决方案 - 也因为我不懂如何使用'setViewConfiguration'。我的方法总是尽可能地在脚本中进行,并只使用TS来进行真正必要的设置,例如当我想在几种可能性之间添加选择时。 –