TYPO3:在具有供应商名称空间的扩展中编写ViewHelper

时间:2014-03-29 09:46:11

标签: namespaces typo3 fluid typo3-6.1.x

我在供应商名称空间中创建了一个带插件的扩展程序。到目前为止一切正常。所有类都以命名空间声明namespace \VENDOR\ExtensionName\...开头,而typo3自动加载它们就好了。

但是,当我添加ViewHelper时,问题就出现了。我把它放在\VENDOR\ExtensionName\ViewHelpers命名空间中。我在Fluid模板中添加了命名空间,如下所示:{namespace ns=VENDOR\ExtensionName\ViewHelpers}。当我使用<ns:myViewHelper />在模板中调用它时,我只是得到了一个哎呀...&#39;错误讯息:

Could not analyse class:VENDOR\ExtensionName\ViewHelpers\MyViewHelperViewHelper maybe not loaded or no autoloader?

当我将ViewHelper放在\TYPO3\...名称空间中时,情况也是如此。

如何在具有供应商名称空间的扩展中正确实现ViewHelper?

1 个答案:

答案 0 :(得分:3)

名称空间声明不得有前导反斜杠。

取而代之的是\Vendor\ExtensionName\ViewHelpers;,必须是Vendor\ExtensionName\ViewHelpers;

http://www.php.net/manual/en/language.namespaces.nested.php