Typo3 &引用;传递给ViewHelper的未声明参数";例外情况
更新TYPO3后,我得到一个Typo3 &引用;传递给ViewHelper的未声明参数";例外情况,typo3,fluid,typo3-9.x,view-helpers,Typo3,Fluid,Typo3 9.x,View Helpers,更新TYPO3后,我得到一个TYPO3Fluid\Fluid\Core\ViewHelper\Exception“传递给ViewHelper的未声明参数…有效参数为。”这可能是由于使用已删除功能的扩展。仅使用TYPO3 core,您不应该看到此错误 在扩展中:如果在ViewHelper类中仍使用带有参数的render()方法,则可能需要替换此方法: 之前: public函数呈现(Mail$Mail,$type='web',$function='createAction') 之后: publ
TYPO3Fluid\Fluid\Core\ViewHelper\Exception
“传递给ViewHelper的未声明参数…有效参数为。”这可能是由于使用已删除功能的扩展。仅使用TYPO3 core,您不应该看到此错误
在扩展中:如果在ViewHelper类中仍使用带有参数的render()方法,则可能需要替换此方法:
之前:
public函数呈现(Mail$Mail,$type='web',$function='createAction')
之后:
public函数初始化earguments()
{
父::initializeArguments();
$this->registerArgument('mail',mail::class,'mail',true);
$this->registerArgument('type','string','type:web | mail',false,'web');
$this->registerArgument('function','string','function:createAction | senderMail | receiverMail',false,'createAction');
}
公共职能
{
$mail=$this->arguments['mail'];
$type=$this->arguments['type']??'web';
// ...
}
另外,
- 如果不需要使用render()(例如,除非您需要访问$this变量),出于性能原因,您可能需要切换到renderStatic()(另请参见此说明)
- 从
中的类继承,而不是从TYPO3Fluid\Fluid\Core\ViewHelper
中继承:TYPO3\CMS\Fluid\Core\ViewHelper
//使用TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
使用TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
文件:
- (10人)
render()
函数中没有关于参数的注释时,会引发此错误。你必须包括它们
例如:
<?php
namespace VENDOR\ExtensionName\ViewHelpers;
class ExampleViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper
{
/**
*
* @param int $foo
* @return boolean
*/
public function render($foo) {
//function render lines
return $bar_boolean;
}
}