отправка одной и той же информации в разные точки зрения cakePHP - PullRequest
0 голосов
/ 13 февраля 2012

У меня проблема с cakePHP. У меня есть 4 .ctp страницы просмотра, на которые я хочу отправить информацию с моего контроллера. Это не статические страницы, это фактически динамические страницы с пользовательскими формами, в которые пользователь может вводить информацию. У меня есть ситуация, когда мне нужно отправить один и тот же массив в 4 разных представления (потому что часть каждого представления требует, чтобы этот массив отображал одну и ту же информацию, то есть, в словах заказа, я хочу отображать одну и ту же информацию в 4 разных представлениях). Я знаю, что обычно у меня должно быть по 1 представлению на действия контроллера, но на этот раз я не хочу создавать 4 одинаковых действия для каждого из моих представлений (потому что, как я уже сказал, все, что я делаю, это отправляю массив в каждый из моих 4 файлов просмотра). Как мне сделать это без создания 4 повторяющихся действий в моем контроллере для моих 4 файлов просмотра. Надеюсь, достаточно ясно, что я пытаюсь сделать здесь.

спасибо

1 Ответ

2 голосов
/ 13 февраля 2012

Вы можете просто использовать одно действие в контроллере и render различные представления на основе некоторой логики:

public function my_action() {
    $this->set('myVar1', ...);
    $this->set('myVar2', ...);
    $this->set('myVar3', ...);

    if (/* something */) {
        $this->render('foo'); // renders my_controller/foo.ctp
    } else if (/* or other */) {
        $this->render('bar');
    } ...
}
...