2015-01-31 4 views
12

Можно ли пересылать данные с одного действия контроллера на другое перед рендерингом? В принципе, я хочу, если у нас есть что-то, что делает zend _forward?Пересылаемые данные от одного действия контроллера к другому в yii2

Вот мой сценарий. У меня есть платежный шлюз, который возвращает данные обратно в мое действие контроллера, и я хочу обрабатывать данные на отдельном контроллере/действии, но отображать главную страницу (без перенаправления). Можно переслать управление от одного контроллера/действия к другому?

Может ли кто-нибудь предложить мне, для чего я могу пойти?

+0

Вы можете просто извлечь соответствующую часть контроллера к другому методу и использовать его на обоих. Это вариант? – dminones

+0

@dminones Нет Я хочу полный рендер – alwaysLearn

+0

Вы пробовали это: $ this-> actionIndex ($ data); Он должен работать – dminones

ответ

0

Насколько я знаю, Yii 1 был вперед метод в контроллере, который позволил вам направить на другой контроллер/действие с просто:

$this->forward("new_controller/new_action"); 

Я уверен, что-то подобное можно было бы работать в Yii2 тоже.

+0

Может быть, немного ленив за то, что не гуглинг, а кто за это платит? Это правильный ответ. Второй (3 месяца спустя) просто уточняет детали. – nssmart

+2

Он попросил версию Yii2 – Skatox

22

В Yii 2, вы можете использовать это, который дает тот же результат вперед():

Yii::$app->runAction('new_controller/new_action', ['param1'=>'value1', 'param2'=>'value2']); 
+0

, если вы хотите сделать это в модальном режиме, добавьте '$ this-> layout = false;' в действие вашего контроллера – Ruben

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