我正在使用声明性 JavaScript 组件库,并尝试将其集成到蛋糕管理视图和模板中,特别是针对表单元素。
我遇到的麻烦是我需要将值从我的模板或视图传递到布局。我找不到任何关于如何在 CakePHP 3.x 中实现这一点的文档。
在 CakePHP 2.x 中这很容易,您只需将$this->var_for_layout
.
我正在使用声明性 JavaScript 组件库,并尝试将其集成到蛋糕管理视图和模板中,特别是针对表单元素。
我遇到的麻烦是我需要将值从我的模板或视图传递到布局。我找不到任何关于如何在 CakePHP 3.x 中实现这一点的文档。
在 CakePHP 2.x 中这很容易,您只需将$this->var_for_layout
.
您可以$this->set()
在模板中使用来设置其他视图变量,这些变量将在您的布局中可用,与控制器中设置的视图变量相同。
如果你想从模板中为布局设置 HTML 片段,你也可以使用View Blocks。
您不能、不能也不应该在模板中为布局设置变量。
如果您需要布局或模板中的数据,则需要在应用程序中设置它并将其传递给视图层。
如果您需要 Layout 中的数据,通常会在 AppController 中收集和设置这些数据,以便无论您的控制器操作如何,Layout 都可以始终使用它。
大多数人都使用这种AppController::beforeFilter
方法。