В Cakephp использование помощника для установки переменных шаблона

StackOverflow https://stackoverflow.com/questions/1400893

  •  05-07-2019
  •  | 
  •  

Вопрос

Можно ли установить переменную шаблона в помощнике?

В конечном счете, то, что я пытаюсь сделать, - это добавить вспомогательный код в заголовок макета для использования с javascript и тому подобным.

Способы, которые я могу придумать, которые я бы предпочел не использовать:

  • Передача объекта просмотра:не хотите беспокоиться о необходимости вызывать дополнительную функцию
  • используя ключевое слово "global" для получения представления, мне действительно хотелось бы избегать его использования, за исключением крайнего случая, поскольку оно не считается ортодоксальным

Есть какие-нибудь мысли?

Обновление 2012-02-20: Поскольку cake был обновлен совсем недавно, я попытался включить ответы на Cake 1.2, а также на Cake 2.Спасибо Адаму и Марку за их рекомендации

Это было полезно?

Решение

Я обнаружил, что вы можете использовать реестр классов, чтобы захватить его, поэтому я создал эту функцию в своем помощнике:

/**
 * Access to the view for special operatoins
 */
protected function getView() {
    return ClassRegistry::getObject('view');
}

Обновление 2013-02-20:Я написал выше для Cake 1.2, Адам (в комментарии ниже) предложил использовать $this->_View->viewVars['var'] для торта 2.3, который выглядит аппетитно, но у меня нет способа протестировать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top