Настройка макетов с CakePHP на основе текущей записи - PullRequest
0 голосов
/ 08 марта 2011

Есть ли у кого-нибудь рекомендации о том, как настроить размещение по горизонтали, основываясь не на текущем представлении, а на данных, связанных с представлением?В большинстве случаев у моделей, которые мы используем, есть связанный идентификатор клуба, поэтому придется настраивать изображение заголовка макета, CSS и т. Д., В зависимости от того, с каким клубом связана текущая страница.

Вот что я думаю до сих пор.Вызовите функцию в модели, связанной с текущим контроллером, которая предоставляет параметры макета.В appController, beforeRender, установите параметры макета для клуба.

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

Некоторые советы будутбудь великим!

Ответы [ 3 ]

1 голос
/ 08 марта 2011

Russel,

вы можете посмотреть на это .

0 голосов
/ 23 апреля 2011

В итоге мы проверили в контроллере приложений домен, из которого в данный момент загружается сайт, а затем настроили макет на основе этой информации (создайте макет для каждого домена, для которого должен выглядеть сайт).Не очень хорошее решение, но оно отлично работает.

0 голосов
/ 08 марта 2011

Просто создайте файл в макетах с именем «dashboard.ctp», тогда, если ваше представление индексное, ваша функция будет выглядеть примерно так ...

    function index() {
    $this->User->recursive = 2;
            $this->layout = 'dashboard';
    $this->set('users', $this->paginate());
}

Важная строка: $ this-> layout = 'dashboard';

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