我正在使用zf2 flashMessenger()输出Google Analytics代码段以注册交易。 flashMessenger允许我只输出一次片段,避免重复事件。
问题是flashMessenger在输出内容之前使用EscapeHtml助手来转义内容。这是来自flashMessenger的getter。
/**
* Retrieve the escapeHtml helper
*
* @return EscapeHtml
*/
protected function getEscapeHtmlHelper()
{
if ($this->escapeHtmlHelper) {
return $this->escapeHtmlHelper;
}
if (method_exists($this->getView(), 'plugin')) {
$this->escapeHtmlHelper = $this->view->plugin('escapehtml');
}
if (!$this->escapeHtmlHelper instanceof EscapeHtml) {
$this->escapeHtmlHelper = new EscapeHtml();
}
return $this->escapeHtmlHelper;
}
其中一个条件是如果method_exists($this->getView(), 'plugin')
使用$this->view->plugin('escapehtml');
。如何设置$ this-> view->插件,因为我想使用自定义EscapeHtml()对象。
谢谢!
答案 0 :(得分:0)
如果您不需要,可以使用自己的默认escapeHtml
视图助手覆盖:
在Module#getViewHelperConfig
方法中:
class Module
{
public function getViewHelperConfig()
{
return array(
'invokables' => array(
'escapeHtml' => 'Foo\View\Helper\EscapeHtml',
)
);
}
}