Как можно установить переменные макета в представлении или шаблоне Cake Widget - PullRequest
0 голосов
/ 15 апреля 2019

Я работаю с декларативной библиотекой компонентов JavaScript и пытаюсь интегрировать ее в представления и шаблоны администратора тортов, особенно для элементов формы.

Проблема в том, что мне нужно передать значение из моего шаблона или вида в макет. Я не могу найти документацию о том, как этого добиться в CakePHP 3.x.

В CakePHP 2.x это было легко, вам просто нужно было установить $this->var_for_layout.

Ответы [ 2 ]

2 голосов
/ 29 апреля 2019

Вы можете использовать $this->set() в своем шаблоне, чтобы установить дополнительные переменные вида, и они будут доступны в вашем макете так же, как и параметры вида, установленные в контроллере.

Если вы хотите установить фрагменты HTML из шаблонадля макета вы также можете использовать Просмотр блоков .

1 голос
/ 29 апреля 2019

Вы не можете, не можете и не должны устанавливать переменные для макета в шаблоне.

Если вам нужны данные либо в макете, либо в шаблоне, вам необходимо установить егов приложении и передайте его на слой представления.

Если вам нужны данные в макете, они обычно собираются и устанавливаются в AppController, чтобы они всегда были доступны для макета независимо от действия вашего контроллера.

Большинство людей используют метод AppController::beforeFilter.

...