2010-09-20 2 views
0

У меня есть новая установка CakePHP 1.3, и в настоящее время она имеет один макет. Я собираюсь добавить еще несколько, но не хочу, чтобы я продолжал копировать и вставлять верхний и нижний колонтитулы в каждый макет.CakePHP, компоновка с общим заголовком и нижним колонтитулом

Сначала я подумал, что могу сделать это с помощью Elements, но, похоже, он не отображает фрагменты Configure::read('var_name');, находясь в элементе.

Моя другая мысль состояла в том, чтобы создать общий макет и использовать множество переменных, чтобы добавлять и удалять разделы с экрана в зависимости от того, какой тип пользователя они есть ... но было бы неприятно сказать, что это не так.

Мой вопрос: Можно ли включить заголовок/нижний колонтитул в макет при получении функции Configure::read() для вывода текста?

ответ

5

Я все еще думаю, что элементы - это правильный путь для этого (общие фрагменты представления, FTW). Я должен признать, что я немного удивлен тем, что элементы не могут читать из класса Configure, но я соглашусь, что я его не пробовал. Если это на самом деле не будет работать, то попробуйте передать значения непосредственно к элементу:

<?php echo $this->element('partial_name', array('var_name', Configure::read('var_name'); ?> 

В элементе, то вы должны быть в состоянии получить доступ к переменной просто как $var_name. Подробнее о передаче переменных в элементы см. Раздел [Передача переменных в элемент] (Передача переменных в элемент) в документации по элементу.

Надеюсь, что это поможет.

+1

+1 Класс 'Configure' доступен по всему миру в Cake, это не * unincluded * в элементах (это не может быть) или что-то в этом роде. У ОП просто есть некоторые проблемы в его коде. – deceze

0

Создать элемент с новым заголовком, предположим new_header.ctp. Затем поместите элемент ('new_header')?> В предпочтительном расположении позиции

+0

См. Ответ @Rob Wilkerson. это работает, но вы не можете получить доступ к переменным из класса configure. –

Смежные вопросы