是否可以通过php包含一个typoscript文件? 通常情况下,我会将typoscript包含在内:
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/templates/typoscript/setup/1.ts">
但我想用php而不是typoscript来做这件事。那可能吗?
我的目的:我想在我的页面中动态加载typoscript
答案 0 :(得分:2)
这可以通过在早期阶段调用一致功能来实现,例如在ext_localconf.php
中调用或委派它。例如,bookstrap package正在PHP中加载TypoScript,如下所示:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
'<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY
. '/Configuration/PageTS/Mod/Wizards/newContentElement.txt">'
);
请考虑在实际的前端渲染开始之前缓存TypoScript。这意味着,如果您已经调用了插件类或控制器逻辑,则不应修改TypoScript。
答案 1 :(得分:0)
可能需要从php函数返回一个值并使用typoscript条件来选择typoscript文件。
答案 2 :(得分:0)
您可以尝试以下方法(如果我说得对你的话):
$typoscriptFile .= file_get_contents($someFile);
$parser = t3lib_div::makeInstance('t3lib_TSparser');
$parser->parse($typoscriptFile);
$tsArray = $parser->setup;
我真的不知道与全球打击错误相关的事情会有多好。
如果您想要一个完整正确的解析,如果您从t3lib_TStemplate
填充了一个新的$GLOBALS['TSFE']->tmpl
实例并运行上面的代码,那么您可以将这样的内容拉出来。可能会工作,从未尝试过。