Flow3 - 如何初始化和使用全局控制器?

时间:2013-08-06 08:54:00

标签: php typo3 fluid typo3-flow

我现在在flow3中有一些实体,转发器和控制器,它们运行良好。如果有人需要全局流量变量(例如,在默认布局中打印的用户名),他必须定义并使用全局控制器。

如何创建和使用此类控制器?

1 个答案:

答案 0 :(得分:2)

控制器是类,因此您可以扩展它们并创建抽象的。

假设您在LoveController包中有My.Relationships。 您可以创建一些单独的基本包,即My.Life内置AbstractLifeController(php:abstract class AbstractLifeController extends \TYPO3\Flow\Mvc\Controller\ActionController)。

现在有initialize*个方法(其中*可能是Action,View,AnyAction等)。在您的情况下,在此abstarct控制器中使用:protected initializeView(\TYPO3\Flow\Mvc\View\ViewInterface $view)并指定一些变量,即$view->assign('myName', $myName); ...

然后,当您的LoveController extends \My\Life\Controller\AbstractLifeController时,该变量{myName}将在流体中显示其动作所使用的模板。

因此,不要为所有控制器扩展\ TYPO3 \ Flow \ Mvc \ Controller \ ActionController,只需将此抽象扩展为\ My \ Life \ Controller \ AbstractLifeController