Yii Framework Forum: Buttons dinamicos en CButtonColumn - Yii Framework Forum

Jump to content

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

Buttons dinamicos en CButtonColumn Rate Topic: -----

#1 User is offline   vicelow 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 24-August 11

Posted 22 September 2011 - 03:36 PM

Muy Buenas!
mi pregunta es la siguiente, Estoy usando un CGridView y me gustaría mostrar un botón activar o desactivar dependiendo de como esté el registro en la base de datos. Para esto estoy utilizando la propiedad buttons como se muestra a continuación:

array(
     'class'=>'CButtonColumn',
     'template'=>'{activar}',
     'buttons'=>array
         (
	    'activar' => array
		(
		    'label'=>'activar/desactivar',
		    'imageUrl'=>$model->activeImg('$data->id'),
		    'url'=>'"#"',	   
		),
          ),
),



El problema es que no puedo acceder al id dataprovider ('$data->id')pues imageUrl no acepta una expresión php.
¿Cómo puedo hacer para mostrar dinamicamente el boton dependiendo de cómo esté el registro en la bd?


Muchas gracias por leer y cualquier ayuda es bienvenida

Saludos
0

#2 User is offline   shaolin 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 112
  • Joined: 29-January 11
  • Location:Zacatecas, México

Posted 24 September 2011 - 09:47 AM

Que onda.. espero estes bien, a tu pregunta debes de tener toda la instrucción en una cadena en su defecto para que te reconozca el $data debe de estar indicado de esta forma

array(
     'class'=>'CButtonColumn',
     'template'=>'{activar}',
     'buttons'=>array
         (
            'activar' => array
                (
                    'label'=>'activar/desactivar',
                    'imageUrl'=>'$model->activeImg($data->id)',
                    'url'=>'"#"',          
                ),
          ),
),


La cosa aquí es que tu instrucción tu llamada a algo en tu casa que estas pidiendo el id se debe de indicar de sa forma porque sino no te reconocera correctamente la variable $data por ejemplo una url con imágen que puse para mandar llamar a los reportes la indique de esta manera.

//Ten en cuenta que esto esta dentro de tu clase CButtonColumn es como tu estas indicando la imágen.
'imprimir'=>array(
		'label'=>'Imprimir',	
                'url'=>'Yii::app()->controller->createUrl("programa/imprimir",array("id"=>$data->t01_id))',
			"options"=>array(
				"title"=>"Imprimir PDF",
				"target"=>"_blank",
				),
			),


Si te fijas mi llamada de url la tengo dentro de apostrofes pero ten en cuenta que entre comillas dobles no reconoce bien las instrucciones indicadas... no se a que se deba, espero te sirva. Saludos...
0

#3 User is offline   vicelow 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 24-August 11

Posted 25 September 2011 - 10:03 AM

Gracias por tu respuesta shaolin...

El problema está en la propiedad imageUrl, si lo coloco todo con comillas, automáticamente lo toma como la ruta de la imagen, es decir renderiza la view de la siguiente forma:

<img src="$model->activeImg($data->id)" alt="activar/desactivar">


Sin embargo en la propiedad url, no hay problemas
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