2012-02-13 1 views
0

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

спасибо

+0

Как бы вы отображающее эти взгляды? Это случай, когда действие идентично, но на основе некоторой переменной следует использовать слегка измененное представление? Или действия совершенно разные, но взгляды имеют некоторый общий элемент? – deceze

+0

Действия идентичны, а виды разные. В принципе, я отправляю тот же массив, который будет отображаться в разных частях каждого представления. – user765368

+0

Если я прав, возможно, вы должны увидеть эту ссылку http://book.cakephp.org/1.3/view/1081/Elements – Ehtesham

ответ

2

Вы можете просто использовать одно действие в контроллере и 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'); 
    } ... 
} 
Смежные вопросы