Yii Framework Forum: redirect - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

redirect Rate Topic: -----

#1 User is offline   RTJ 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 42
  • Joined: 04-May 12

Posted 06 May 2012 - 11:41 AM

Hola a todos,
voy probando con Yii y tengo una duda.
porque este redirect no me funciona después en un edit:
$this->redirect('view',array('id'=>$model->id));

solo me funciona así:
$this->redirect('../view/'.$model->id));


tengo la versión 1.1.10 de Yii
no se si tiene que ver algo con esto o estoy haciendo algo mal

Muchas gracias de antemano.
0

#2 User is offline   bluyell 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 201
  • Joined: 28-October 11

Posted 06 May 2012 - 09:01 PM

View PostRTJ, on 06 May 2012 - 11:41 AM, said:

Hola a todos,
voy probando con Yii y tengo una duda.
porque este redirect no me funciona después en un edit:
$this->redirect('view',array('id'=>$model->id));

solo me funciona así:
$this->redirect('../view/'.$model->id));


tengo la versión 1.1.10 de Yii
no se si tiene que ver algo con esto o estoy haciendo algo mal

Muchas gracias de antemano.



hola,

para invocar una vista dentro de un action de un controller es: render, no redirect.


$this->render('view', array('id'=>$model->id));

si tu quisieras llamar a redirect, seria para algo como:

$this->redirect('index.php?r=tucontroller/update&id=12');

EL RENDER/VIEW funciona asi:

ejemplo, tienes
  • un modelo llamado Orden, en /protected/models/orden.php.
  • una controladora: /protected/controllers/orden.php
  • una vista: /protected/views/orden/vista.php


cuando tu llamas a
index.php?r=orden/vista&id=1

lo que sucede internamente es esto:

  • root/index.php recibe un GET, para ir a la controladora ORDEN (protected/controllers/orden.php) y buscar la funcion:
    public function actionVista($id) {
    // codigo...
    }
  • se invoca la funcion actionVista, ella espera tener en la URL el parametro ID, porque se o pusiste en los argumentos de la funcion ($id)
  • el actionVista debera cargar el modelo, de: /protected/models/orden.php, asi:
    • $model = Orden::model()->findByAttributes(array('idorden'=>$id));
  • el actionVista indicara renderizar la vista: protected/views/orden/vista
    • asi: $this->render('vista', array('model'=>$model));
      • donde: this, es el apuntador a la controladora: orden instanciada por Yii framework para ti por el archivo root index.php
      • 'vista', es el nombre del archivo a conseguir en: /protected/views/orden/vista.php
      • listo.


Deberás echas una lectura mas profunda a Yii, la consigues aqui mismo en el sitio web, mira como esta hecha la aplicacion de inicio que crea el yiic.bat










0

#3 User is offline   sebas 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 492
  • Joined: 28-October 08
  • Location:Buenos Aires, Argentina

Posted 07 May 2012 - 12:07 PM

A la funcion redirect hay que pasarle la URL.

Lo que vos le envias es un array.

Fijate de poner así:
$this->redirect(array('view', 'id'=>$model->id));


Lo cual normaliza la URL.
1

#4 User is offline   RTJ 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 42
  • Joined: 04-May 12

Posted 08 May 2012 - 07:24 AM

View Postsebas, on 07 May 2012 - 12:07 PM, said:

A la funcion redirect hay que pasarle la URL.

Lo que vos le envias es un array.

Fijate de poner así:
$this->redirect(array('view', 'id'=>$model->id));


Lo cual normaliza la URL.


Muchas gracias, es justo lo que necesitaba :)
gracias por aclararme esto ;)
Saludos
0

#5 User is offline   sportive 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 01-August 12

Posted 03 October 2012 - 09:01 AM

Como hago para enviar dos o mas variables por referencia en usando redirect??? por ejemplo

$this->redirect(array('view_numeros','num'=>$num, 'error'=>$error));

asino me funciona probe tambien

$this->redirect(array('view',array('num'=>$num, 'error'=>$error)));

y tampoco como puedo hacer para pasar las variables num y error a la vista????
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users