У меня есть ProjectController и ClientController.Перенаправление (обратно) на другой контроллер в Yii
Я хотел бы создать опцию из проекта _form.php, чтобы иметь ссылку рядом с раскрывающимся списком клиента, которая перенаправляет на ClientController :: actionCreate, но передает ей какую-то переменную, чтобы сообщить, исходит ли она из ProjectController :: actionUpdate или :: actionCreate.
Я был ClientController :: actionCreate, чтобы выполнить свою задачу, если пользователь добрался туда через ProjectController :: actionCreate OR :: actionUpdate, перенаправляет их обратно на эту страницу и задает client_id в модели проекта, чтобы соответствовать тому, что было только что созданный.
Если кто-то просто добавляет нового клиента через обычное меню, он может просто пойти с перенаправлением по умолчанию (я думаю, что он идет на просмотр).
В моей _form.php я использую следующий код для ссылки на клиент :: actionCreate
<?php echo " ".Chtml::link('+New client',array('client/create',array('redir'=>'project/'.Yii::app()->controller->action->id)));?>
с целью как-то говорить контроллер клиента, что ему необходимо отправить что-нибудь для проекта/обновления или создать проект/создать.
Я хотел бы использовать подобный код в ClientController :: actionCreate
public function actionCreate()
{
$model=new Client;
...
....
if(isset($_POST['Client']))
{
$model->attributes=$_POST['Client'];
if($model->save())
{
if(!empty($model->redir)){
$this->redirect(array($model->redir,'id'=>$model->id));
} else {
$this->redirect(array('view','id'=>$model->id));
}
}
}
...
....
}
Я новичок в Yii, не уверен, что лучший способ для достижения этой цели будет.
Большое спасибо за это. Думаю, у меня это есть.Просто чтобы убедиться, что это имеет смысл? Добавить 2 новые переменные в моей модели Client (публичный $ статус, $ REDIR) Марк те 2, как сейф в «безопасной» на «Создать» В actionCreate присвоить переменные $ _GET модели. После публикации проверьте свои значения и перенаправите их обратно на правильное действие/контроллер/идентификатор на основе любой логики, которую я настроил. Я пытаюсь понять, правильно ли это использовать Yii/MVC с вашим предложением выше. – McB
рад помочь. По вашему вопросу, да, вы можете это использовать. В этой ситуации я не думаю, что вам нужно объявить это безопасным. просто не ставьте его в «обязательные» правила. Это не беспокоит вас, если это не требуется. –