TYPO3-页面渲染后挂钩/信号

时间:2019-06-06 12:38:24

标签: typo3

是否有任何钩子/信号或其他任何东西,以便我可以修改TYPO3渲染的前端页面的最终HTML代码?

我的用例是: 我想对整个网站上显示的链接应用一些正则表达式并记录下来-无论该链接是通过tt_content正文(typolink或硬编码)还是通过前端插件呈现,还是通过排印或任何其他方式呈现。

2 个答案:

答案 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;
  }

}