1

我现在在 flow3 中有一些实体、存储库和控制器,它们工作得很好。如果有人需要全局流体变量(例如默认布局中打印的用户名),他必须定义和使用全局控制器。

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

4

1 回答 1

2

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

假设您有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

于 2013-09-27T18:27:55.660 回答