有没有可能通过php包含一个typoscript文件?通常,我会将typoscript包含在下面的代码中:
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/templates/typoscript/setup/1.ts">但我只想用php而不是typoscript来做这件事。这有可能吗?
我的目的:我想在我的页面中动态加载typoscript
发布于 2016-10-11 00:48:52
这可以通过在早期阶段调用一致的函数来实现,例如在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。
发布于 2013-01-09 20:13:56
您可能需要从php函数返回一个值,并使用typoscript条件来选择typoscript文件。
发布于 2013-01-11 01:40:10
您可以尝试以下操作(如果我没弄错的话):
$typoscriptFile .= file_get_contents($someFile);
$parser = t3lib_div::makeInstance('t3lib_TSparser');
$parser->parse($typoscriptFile);
$tsArray = $parser->setup;不过,我真的不知道它能不能很好地处理任何与全局typoscript相关的事情。
如果您想要一个完整、正确的解析,如果您从$GLOBALS['TSFE']->tmpl填充了一个新的t3lib_TStemplate实例,然后运行上面的代码,那么您也许能够完成类似这样的操作。可能行得通,从来没试过。
https://stackoverflow.com/questions/14230998
复制相似问题