Yii Framework Forum: abrir nueva pestaña y/o pagina - Yii Framework Forum

Jump to content

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

abrir nueva pestaña y/o pagina Rate Topic: -----

#1 User is offline   gallego123 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 11-August 09
  • Location:Argentina

Posted 01 March 2010 - 07:34 AM

Hola

quisiera mostrar los reportes del sistema en una nueva pagina y/o pestaña (me gustaría saber las dos formas)


encontre en el cookbookhttp://www.yiiframew...oc/cookbook/48/ el ejemplo 4

pero se hace desde la vista

hay alguna forma de hacerlo desde el controlador?

saludos y gracias
KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
0

#2 User is offline   PoL 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 506
  • Joined: 05-November 08
  • Location:Buenos Aires, Argentina

Posted 01 March 2010 - 07:46 AM

Hasta donde entiendo no...
La idea del controlador es que estas respondiendo a la llamada (request) actual.
Eso genera un html de resultado (el view).
En el view vos tenes un link con target="_blank" (eso es lo que explica el cookbook 48)

Pero tenes que tenes en cuenta un par de cosas mas...
Podes usar javascritp para abrir una ventana aparte (eso tambien lo haria en la vista)
El target="_blank" tiene a desaparecer en los proximos estandares.

O podes usar directamente "dialog boxes" en jquery (para my mucho mejor)
Un ejemplo esta en la pagina de jquery.
jQuery UI Dialog

Espero haberte ayudado.
Don't say what you think, think what you say
The problem is communication! Excess of communication!
0

#3 User is offline   gallego123 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 11-August 09
  • Location:Argentina

Posted 01 March 2010 - 07:56 AM

View PostPoL, on 01 March 2010 - 07:46 AM, said:

Hasta donde entiendo no...
La idea del controlador es que estas respondiendo a la llamada (request) actual.
Eso genera un html de resultado (el view).
En el view vos tenes un link con target="_blank" (eso es lo que explica el cookbook 48)

Pero tenes que tenes en cuenta un par de cosas mas...
Podes usar javascritp para abrir una ventana aparte (eso tambien lo haria en la vista)
El target="_blank" tiene a desaparecer en los proximos estandares.

O podes usar directamente "dialog boxes" en jquery (para my mucho mejor)
Un ejemplo esta en la pagina de jquery.
jQuery UI Dialog

Espero haberte ayudado.



ok, desde el controlador no puedo pasarle ningun parametro en el render para que me habra la pagina en una nueva ventana

que tengo que modificar en el template (tengo uno para reportes)
para que me habra una ventana nueva siempre?

un ejemplo me vendria bien, porque de js no se mucho

saludos
KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
0

#4 User is offline   PoL 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 506
  • Joined: 05-November 08
  • Location:Buenos Aires, Argentina

Posted 01 March 2010 - 08:15 AM

En el controlador podes pasar todos los parametros que quieras. Eso si es valido.

$this->render('la_vista',array('modelo'=>$model,'otroparamtro'=>true, etc....));


en la vista

if ($otroparametro){
   // Hacer algo
}  else {
   // Otra cosa
}

Don't say what you think, think what you say
The problem is communication! Excess of communication!
0

#5 User is offline   gallego123 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 11-August 09
  • Location:Argentina

Posted 01 March 2010 - 08:44 AM

creo que quiero hacer cosas que no se pueden hacer

lo que queria era no tener que modificar las vistas (como indica Ejemplo4)
y solo modificar el controlador

saludos :(
KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
0

#6 User is offline   PoL 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 506
  • Joined: 05-November 08
  • Location:Buenos Aires, Argentina

Posted 01 March 2010 - 08:58 AM

ok, entiendo...
Lamento no serte de ayuda...
Don't say what you think, think what you say
The problem is communication! Excess of communication!
0

#7 User is offline   gallego123 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 11-August 09
  • Location:Argentina

Posted 01 March 2010 - 09:29 AM

View PostPoL, on 01 March 2010 - 08:58 AM, said:

ok, entiendo...
Lamento no serte de ayuda...


hey! todo bien, el problema es que no conozco los limites, pero los voy aprendiendo

gracias PoL!

un saludo
KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
0

#8 User is offline   gallego123 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 11-August 09
  • Location:Argentina

Posted 02 March 2010 - 10:03 AM

Hola de nuevo

modifique las vistas tal como dice el ejemplo
,array('target'=>'_blank')


esto me abre una nueva pestaña

como hago para que me abra una ventana?
KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
0

#9 User is offline   ngleich 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 16-April 09

Posted 02 March 2010 - 10:53 AM

Creo que llego un poco tarde ya que cambiaste las vistas, pero se me ocurre que poniendo

Yii::app()->getClientScript()->registerCoreScript('jquery');
Yii::app()->getClientScript()->registerScript('abrirAparte', 'jQuery("a").attr("target","_blank")');

en la acción del controlador se puede hacer que todos los link de la página se abran en página nueva. En caso de no querer que sean TODOS los links de la página (por ejemplo tenes un menu que queres que se abran en la misma página) hay que ver como filtrar dentro de "a" para que sea solo con los que se desean. Por ejemplo si se quiere solo los que tengan la clase "nuevo" seria Yii::app()->getClientScript()->registerScript('abrirAparte', 'jQuery("a.nuevo").attr("target","_blank")'); .

Para que se abra en una nueva ventana, me parece que hay una forma en javascript con windows.open pero la verdad no se muy bien eso.

Saludos
0

#10 User is offline   gallego123 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 11-August 09
  • Location:Argentina

Posted 03 March 2010 - 05:21 AM

View Postngleich, on 02 March 2010 - 10:53 AM, said:

Creo que llego un poco tarde ya que cambiaste las vistas, pero se me ocurre que poniendo

Yii::app()->getClientScript()->registerCoreScript('jquery');
Yii::app()->getClientScript()->registerScript('abrirAparte', 'jQuery("a").attr("target","_blank")');

en la acción del controlador se puede hacer que todos los link de la página se abran en página nueva. En caso de no querer que sean TODOS los links de la página (por ejemplo tenes un menu que queres que se abran en la misma página) hay que ver como filtrar dentro de "a" para que sea solo con los que se desean. Por ejemplo si se quiere solo los que tengan la clase "nuevo" seria Yii::app()->getClientScript()->registerScript('abrirAparte', 'jQuery("a.nuevo").attr("target","_blank")'); .

Para que se abra en una nueva ventana, me parece que hay una forma en javascript con windows.open pero la verdad no se muy bien eso.

Saludos


gracias por contestar!
el código va en el template?
Yii::app()->getClientScript()->registerCoreScript('jquery');
Yii::app()->getClientScript()->registerScript('abrirAparte', 'jQuery("a").attr("target","_blank")');


voy a probarlo y les cuento


para abrir la ventana yo uso el código de abajo, supongo que no es "la forma"
pero me funciona

echo CHtml::link('', '#',array('class'=>'btn_lov'
                ,'title'=>Yii::t('msj','title_buscar')
                ,'onclick'=>'lovMatriculas()'));



<script type="text/javascript">
function lovMatriculas(){

    var url= "<?php echo $this->createUrl('rp_matriculas/lovRp_matriculas',
             array('des_id_matricula'=>'Rp_novedades_mat_idMatricula'
                  ,'des_matricula'=>'Rp_matriculas_matricula'
                  ,'des_libro'=>'Rp_matriculas_libro'
                  ,'des_folio'=>'Rp_matriculas_folio'
                  ,'des_titulo'=>'Rp_titulos_descripcion'
                  ,'des_especialidad'=>'Rp_especialidades_descripcion'
                  ,'des_documento'=>'Personas_nro_documento'
                  ,'des_nombre'=>'Personas_nombre'
                  ,'des_apellido'=>'Personas_apellido'
                  )
           )?>";

  window.open(url,"lov_matriculas"
  ,"alwaysRaised=yes,toolbar=no,menubar=no,status=no
  ,resizable=yes,width=600,height=500,left=50,top=100");
}

</script>


KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
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