Yii Framework Forum: Como Agregar Botones Dinámicos Al Menu De Yii - Yii Framework Forum

Jump to content

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

Como Agregar Botones Dinámicos Al Menu De Yii Rate Topic: -----

#1 User is offline   dj_lethal 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 41
  • Joined: 06-February 13

Posted 17 April 2013 - 10:32 AM

Hola a todos, necesito saber como es posible agregar botones dinámicos al menú de Yii.Por ejemplo necesito hacer una aplicacion en la que el webmaster pueda mediante un formulario agregar un botón en la barra de de menu de yii.Gracias de antemano.
0

#2 User is offline   Luciano 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 143
  • Joined: 20-September 09
  • Location:Buenos Aires, Argentina

Posted 18 April 2013 - 12:17 AM

View Postdj_lethal, on 17 April 2013 - 10:32 AM, said:

Hola a todos, necesito saber como es posible agregar botones dinámicos al menú de Yii.Por ejemplo necesito hacer una aplicacion en la que el webmaster pueda mediante un formulario agregar un botón en la barra de de menu de yii.Gracias de antemano.


Buenas!

Basicamente el menú de YII (zii.widgets.CMenu) se alimenta de un array de elementos: https://github.com/y...ts/main.php#L29
Tendrías que hacer un modelo que represente un elemento en el menú, podría tener como propiedades: label, url, orden y las que necesites.
Después hacer el ABM (con GII por ejemplo).
Una vez que tenés datos cargados, simplemente recorrerlos y crear un array con los datos que necesita el componente del menú.
Acá se listan todas las opciones que acepta cada ítem del array en cuestión: http://www.yiiframew...nu#items-detail

¿Vos necesitás algún ejemplo de código?

Saludos!
Company web site: pressEnter

Free as in "beer"...
0

#3 User is offline   dj_lethal 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 41
  • Joined: 06-February 13

Posted 18 April 2013 - 08:51 AM

View PostLuciano, on 18 April 2013 - 12:17 AM, said:

Buenas!

Basicamente el menú de YII (zii.widgets.CMenu) se alimenta de un array de elementos: https://github.com/y...ts/main.php#L29
Tendrías que hacer un modelo que represente un elemento en el menú, podría tener como propiedades: label, url, orden y las que necesites.
Después hacer el ABM (con GII por ejemplo).
Una vez que tenés datos cargados, simplemente recorrerlos y crear un array con los datos que necesita el componente del menú.
Acá se listan todas las opciones que acepta cada ítem del array en cuestión: http://www.yiiframew...nu#items-detail

¿Vos necesitás algún ejemplo de código?

Saludos!

Muchas gracias por la información,la he estado estudiando,pero si pudieras escribirme un ejemplo básico de com o hacerlo para aterrizar todo lo que he leido ahí.Saludos.
0

#4 User is offline   Geoide 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 13-January 13
  • Location:Zaragoza - Spain

Posted 20 April 2013 - 05:25 AM

Hola dj_lethal,

Se me ocurre algo así.

En el controlador de la vista tendrías:


$arrMenu = array();
//Dentro de este array metes los elementos de menu que quieras, con el formato adecuado
//Hay muchas formas de hacerlo, te pongo la más sencilla y directa, asigno cada elemento directamente

$arrMenu[]="array('label'=>'Home', 'url'=>array('usuario/pcontrol')),";
$arrMenu[]="array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),";

//Pasas el array a la vista que tiene la variable $arrMenu para recoger este array 

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



y en la vista:


 $this->widget('zii.widgets.CMenu',array(
    'items'=>array($arrMenu))); 



El array que creas en el controlador lo puedes rellenar de mil maneras dinámicamente, por ejemplo recogiendo datos de usuario, o como dices, que lo añada alguien. Por ejemplo, si programas un botón para añadir otro elemento al menú, debes de hacer que en el evento click (por ejemplo) envíe un nuevo elemento al arras $arrMenu (debe de llamar al método del controlador apropiadamente).

Espero explicarme. Sino, pregunta más concretamente lo que sea.

Saludos.
0

#5 User is offline   dj_lethal 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 41
  • Joined: 06-February 13

Posted 22 April 2013 - 01:38 PM

View PostGeoide, on 20 April 2013 - 05:25 AM, said:

Hola dj_lethal,

Se me ocurre algo así.

En el controlador de la vista tendrías:


$arrMenu = array();
//Dentro de este array metes los elementos de menu que quieras, con el formato adecuado
//Hay muchas formas de hacerlo, te pongo la más sencilla y directa, asigno cada elemento directamente

$arrMenu[]="array('label'=>'Home', 'url'=>array('usuario/pcontrol')),";
$arrMenu[]="array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),";

//Pasas el array a la vista que tiene la variable $arrMenu para recoger este array 

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



y en la vista:


 $this->widget('zii.widgets.CMenu',array(
    'items'=>array($arrMenu))); 



El array que creas en el controlador lo puedes rellenar de mil maneras dinámicamente, por ejemplo recogiendo datos de usuario, o como dices, que lo añada alguien. Por ejemplo, si programas un botón para añadir otro elemento al menú, debes de hacer que en el evento click (por ejemplo) envíe un nuevo elemento al arras $arrMenu (debe de llamar al método del controlador apropiadamente).

Espero explicarme. Sino, pregunta más concretamente lo que sea.

Saludos.

Muchas gracias Geoide,voy a probar con esto que me dices.
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