是否有任何钩子/信号或任何其他东西,以便我可以修改TYPO3呈现的前端页面的最终HTML代码?
我的用例是:我想对显示在整个网站上的链接应用一些正则表达式和日志记录-无论链接是通过tt_content正文(类型链接或硬编码)呈现的,还是通过前端插件呈现的,或者是通过typoscript或其他可能的方式呈现的。
发布于 2019-06-06 13:05:33
TypoScript中的PAGE
对象具有stdWrap
,因此您可以在那里使用userFunc
。
page = PAGE
page {
...
stdWrap.userFunc = Your\NameSpace\YourClass->doStuff
}
发布于 2019-06-06 13:20:04
如果您更喜欢使用真正的钩子而不是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;
}
}
https://stackoverflow.com/questions/56477780
复制相似问题