我正在使用一个声明性JavaScript组件库,并试图将其集成到Cake Admin视图和模板中,特别是用于表单元素。
我遇到的麻烦是我需要将“模板”或“视图”中的值传递给布局。我在CakePHP 3.x中找不到有关如何实现此目标的任何文档。
在CakePHP 2.x中,这很容易,您只需设置$this->var_for_layout
。
答案 0 :(得分:2)
您可以在模板中使用$this->set()
来设置其他视图变量,这些变量将在您的布局中可用,这与在控制器中设置视图变量的原因相同。
如果您要为模板设置HTML片段作为布局,则也可以使用View Blocks。
答案 1 :(得分:1)
您不能,不能也不应为模板中的布局设置变量。
如果您需要布局或模板中的数据,则需要在应用程序中进行设置并将其传递给视图层。
如果您需要布局中的数据,通常会在AppController中收集并设置数据,以便无论您的控制器操作如何,该数据始终可供布局使用。
大多数人使用AppController::beforeFilter
方法。