是否有任何钩子/信号或其他任何东西,以便我可以修改TYPO3渲染的前端页面的最终HTML代码?
我的用例是: 我想对整个网站上显示的链接应用一些正则表达式并记录下来-无论该链接是通过tt_content正文(typolink或硬编码)还是通过前端插件呈现,还是通过排印或任何其他方式呈现。
答案 0 :(得分:1)
TypoScript中的<DATASET>
<ITEM>
<NAME>name product</NAME>
<SELL>0</SELL>
<PARAM>
<PARAM_NAME>material</PARAM_NAME>
<VAL>polyester</VAL>
<PERCENTAGE>96%</PERCENTAGE>
</PARAM>
<PARAM>
<PARAM_NAME>material</PARAM_NAME>
<VAL>elastan</VAL>
<PERCENTAGE>4%</PERCENTAGE>
</PARAM>
</ITEM>
</DATASET>
对象具有PAGE
,因此您可以在那里使用stdWrap
。
userFunc
答案 1 :(得分:0)
如果您更喜欢使用实钩子而不是stdWrap
,则可以查看具有三个钩子的函数generatePage_postProcessing。在CoreApi Documentation中,您可以找到如何使用钩子的方法。
在您的ext_localconf.php
中,您可以定义钩子用法。例如:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-all'][] = My\NameSpace\Hooks\PageGenerateHooks::class . '->contentPostProcAll'
现在在钩子类中,您可以修改内容:
<?php
namespace My\Namespace\Hooks;
use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
class PageGenerateHooks
{
/*
* \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController $pObj
*/
public function contentPostProcAll(TypoScriptFrontendController $pObj)
{
$pObj->content = preg_replace('#mySearch#i','myTerm', $pObj->content;
}
}