用PHP包含typoscript

时间:2013-01-09 08:25:41

标签: php typo3 typoscript

是否可以通过php包含一个typoscript文件? 通常情况下,我会将typoscript包含在内:

<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/templates/typoscript/setup/1.ts">

但我想用php而不是typoscript来做这件事。那可能吗?

我的目的:我想在我的页面中动态加载typoscript

3 个答案:

答案 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实例并运行上面的代码,那么您可以将这样的内容拉出来。可能会工作,从未尝试过。