我希望我的日曆擴展名返回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來進行真正必要的設置,例如當我想在幾種可能性之間添加選擇時。 –