Seb*_*ger 0 namespaces typo3 fluid view-helpers
我试图在Typo3扩展中创建多个Viewhelpers。
<?php
namespace PdvPolymer\ViewHelpers;
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractTagBasedViewHelper;
class ButtonUpViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractTagBasedViewHelper
{...
Run Code Online (Sandbox Code Playgroud)
ViewHelper位于目录扩展名\ Classes \ ViewHelpers中
当我打电话给它时,这很好用
<div xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers" xmlns:p="http://typo3.org/ns/Extension/ViewHelpers">
<p:buttonUp></p:buttonUp>
</div>
Run Code Online (Sandbox Code Playgroud)
但是现在我已经尝试将ViewHelper放在诸如extension \ Classes \ ViewHelpers \ Custom之类的子目录中
现在,ViewHelper的新命名空间为
namespace Extension\ViewHelpers\Custom;
Run Code Online (Sandbox Code Playgroud)
现在我用以下方式调用ViewHelper
<p:custom.buttonUp></p:custom.buttonUp>
Run Code Online (Sandbox Code Playgroud)
但是现在我得到一个类似的错误:
Oops, an error occurred! Code: 2016091908135339232bbd
Run Code Online (Sandbox Code Playgroud)
我的问题是,我错了什么?Typo3中的内部Fluid-Extension像我一样都一样。我检查了!
有人知道吗?
有2个不同的问题。
首先,我建议避免在名称空间声明中使用子目录,而只使用xmlns:p="http://typo3.org/ns/Extension/ViewHelpers"。调用ViewHelper时,请始终在模板中添加子目录路径,例如
<p:custom.buttonUp></p:custom.buttonUp>
Run Code Online (Sandbox Code Playgroud)
您不需要两次声明。
2)关于错误处理
使用TypoScript config.contentObjectExceptionHandler = 0在您的开发系统上将其关闭,您将看到一条更有用的消息。您可以在docs中找到更多信息。