我现在在flow3中有一些实体,转发器和控制器,它们运行良好。如果有人需要全局流量变量(例如,在默认布局中打印的用户名),他必须定义并使用全局控制器。
如何创建和使用此类控制器?
答案 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