我现在在 flow3 中有一些实体、存储库和控制器,它们工作得很好。如果有人需要全局流体变量(例如默认布局中打印的用户名),他必须定义和使用全局控制器。
如何创建和使用此类控制器?
我现在在 flow3 中有一些实体、存储库和控制器,它们工作得很好。如果有人需要全局流体变量(例如默认布局中打印的用户名),他必须定义和使用全局控制器。
如何创建和使用此类控制器?
控制器是类,因此您可以扩展它们并创建抽象的。
假设您有LoveController
包装My.Relationships
。您可以创建一些单独的基础包,即My.Life
带有AbstractLifeController
内部(php:)abstract class AbstractLifeController extends \TYPO3\Flow\Mvc\Controller\ActionController
。
现在有initialize*
方法(其中 * 可能是 Action、View、AnyAction 等)。在您的情况下使用: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