是否可以通過php包含typoscript文件? 通常我會包括Typo腳本與此:包括typoscript和php
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/templates/typoscript/setup/1.ts">
但我想這樣做,只是用PHP,而不是Typo腳本。那可能嗎?
我的目的:我想動態加載Typo腳本在我的網頁
是否可以通過php包含typoscript文件? 通常我會包括Typo腳本與此:包括typoscript和php
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/templates/typoscript/setup/1.ts">
但我想這樣做,只是用PHP,而不是Typo腳本。那可能嗎?
我的目的:我想動態加載Typo腳本在我的網頁
這可以通過在早期階段調用一致函數來實現,例如,在撥打電話或在ext_localconf.php
委託它。例如,bookstrap package加載Typo腳本在PHP這樣的:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
'<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY
. '/Configuration/PageTS/Mod/Wizards/newContentElement.txt">'
);
請考慮,即Typo腳本緩存實際前端渲染開始之前。這意味着,如果您已經調用了插件類或控制器邏輯,則不應該修改TypoScript。
可能是你需要從PHP函數返回值,並且使用的TypoScript條件選擇Typo腳本文件。
我不想用php的條件來檢查是否應該導入typoscript文件,我不知道typoscript文件的名稱。我想從php動態獲取typoscript文件的名稱 – alphanyx
你可以嘗試以下的(如果我得到你的權利):
$typoscriptFile .= file_get_contents($someFile);
$parser = t3lib_div::makeInstance('t3lib_TSparser');
$parser->parse($typoscriptFile);
$tsArray = $parser->setup;
我真的不知道如何將與有關全球Typo腳本雖然任何東西玩。
如果你想要一個完整的正確的解析,如果你從$GLOBALS['TSFE']->tmpl
填充一個新的t3lib_TStemplate
實例並運行上面的代碼,你也許可以把這樣的東西拉掉。可能工作,從未嘗試過。
也許你可以解釋你想要做什麼。我想有更好的辦法。你知道TypoScript條件嗎?常量? – maholtz
我不知道我想包含哪個輸入框文件。所以條件不會幫助我。我想嘗試爲typoscript文件製作自動加載器,因此文件的名稱是動態的 – alphanyx
您嘗試去的方式非常不尋常。也許可以採取TYPO3的方式。但是,如果不知道你想要存檔什麼,沒有人能以不同的方式提供幫助。 – maholtz