Olá pessoal, eu fiz um formulário aqui no Yii que é bem grande, e as pessoas que estão digitando precisam de processos rápidos, então fiz com que após o create o em vez de redirecionar a pagina para view do que acabou de cadastrar ele redireciona a pagina para a própria create.
Mas para ficar legal mesmo preciso que ao direcionar para a pagina create apareça uma mensagem ou como alert ou dentro de uma tag do html mesmo na pagina de create.
1- Cria 2 botões no formulário <button name="botao" value="adicionar">Adicionar</button> e outro <button name="botao" value="adicionaroutro">Adicionar outro</button>
Controller
public function actionCreate() {
$model = new Paciente;
$telefone = new Telefone;
// Uncomment the following line if AJAX validation is needed
$this->performAjaxValidation($model);
if (isset($_POST['Paciente'])) {
$model->attributes = $_POST['Paciente'];
if ($model->save()) {
...
if ($_POST["botao"] == "adicionar")
$this->redirect(array('index', 'alerta' => 'ok'));
else if ($_POST["botao"] == "adicionaroutro")
$this->redirect(array('create', 'alerta' => 'ok'));
else if ($_POST["botao"] == "adicionareditar")
$this->redirect(array('update', 'id' => $model->codpaciente, 'alerta' => 'ok'));
}
}
$this->render('create', array(
'model' => $model,
));
}
Ai tu usa o exemplo Panurge:
if ( Yii::app()->request->getQuery('alerta') == 'ok' ) echo "Registro criado!";
Tem outra alternativa é usando o Yii::app()->user->setFlash(), antes do redirect.
Yii::app()->user->setFlash('success', 'Salvo com sucesso.');
Valeus, eu fiz da primeira forma pq precisava que fosse rápido no dia, mas agora vou fazer da segunda forma que parece ter uma interação melhor com usuário.