Iconos menu Drupal 7

227 views
Skip to first unread message

Ricardo Proaño

unread,
Oct 13, 2012, 5:40:47 AM10/13/12
to drup...@googlegroups.com, drupal-...@googlegroups.com

Hola amigos

Solicito su ayuda como siempre,  estoy trabajando con drupal 7  y Omega com Theme,

Tengo un menú llamado redes con los enlaces facebook, Twitter, etc y lo que quiero es quitar los textos y colocar  los iconos respectivos. Pero deseo aprender más y lo estoy realizando con el template.php. Lo que no se es como es el nombre de mi variable de impresión.


Les dejo mi código para que me den una mano.


function disyscorp_preprocess_page(&$vars, $hook){

                 $menu_redes_links = menu_navigation_links('menu-redes');

                 $icono['facebook']= '<img src="'.path_to_theme().'/images/facebook.png'.'" width="16" height="16" /> ';

                 $icono['twitter']='<img src="'.path_to_theme().'/images/twitter.png'.'" width="16" height="16" /> ';

                 $icono['youtube']='<img src="'.path_to_theme().'/images/youtube.png'.'" width="16" height="16" /> ';

                 foreach($menu_redes_links as $k => $v){

                $menu_redes_links[$k]['title'] = $icono[$menu_redes_links[$k]['title']];

                $menu_redes_links[$k]['html'] = TRUE; 

                }

                /*dpm($vars['links__menu_redes']);*/

                print theme ( 'links__menu_redes' , array('links'=>$menu_redes_links));

                 Aquí creo es el problema no sé si es el nombre de impresión y no la encuentro.

$vars['links__menu_redes'] = theme ( 'links__menu_redes' , array('links'=>$menu_redes_links));

 }

 

En espera de su ayuda les anticipo mis agradecimientos

Atentamente

Ricardo

a.san...@gmail.com

unread,
Oct 13, 2012, 9:17:56 AM10/13/12
to drup...@googlegroups.com
En D7 es mas facil usando el modulo menu_attributes, le pones una
clase a cada item de tu menu y luego le aplicas css a discrecion
Saludos

El día 13 de octubre de 2012 04:40, Ricardo Proaño
<ricardo...@gmail.com> escribió:
> --
> -- Has recibido este mensaje porque estás suscrito al grupo "Drupal en
> Español". Para publicar una entrada en este grupo, envía un correo
> electrónico a:
> drup...@googlegroups.com.
>
> Y por favor toma tiempo para leer la siguiente información (te lo
> agradeceremos):
> http://es.wikibooks.org/wiki/Netiquette/Grupos_de_noticias_y_foros
> https://datatracker.ietf.org/doc/rfc1855/
>
> Para anular la suscripción a este grupo, envía un correo electrónico a
> drupal-es+...@googlegroups.com.
>
> Para tener acceso a más opciones, visita el grupo en
> https://groups.google.com/d/forum/drupal-es?hl=es.
>
>

Antonio Cucho Gamboa

unread,
Oct 13, 2012, 10:53:55 AM10/13/12
to drup...@googlegroups.com

Mi opinión es la misma que Adam, lo puedes hacer con CSS. Además te ahorras parte de proceso en tu server.

Ricardo Proaño

unread,
Oct 13, 2012, 9:21:26 PM10/13/12
to drup...@googlegroups.com

Hola amigos gracias por sus concejos


Pero replanteo la pregunta Cómo puedo saber cuáles son las variables de impresión que utilizan los tpl.

Es para aprender más sobre la estructura de Drupal 7

 

Gracias por su ayuda

Luis Huacho Lazo

unread,
Oct 13, 2012, 9:30:36 PM10/13/12
to drup...@googlegroups.com
Hola

Bueno esto quizas te ayude http://api.drupal.org/api/drupal/modules!system!page.tpl.php/7

Saludos Cordiales

Luis Huacho Lazo

Enviado desde mi teléfono celular



2012/10/13 Ricardo Proaño <ricardo...@gmail.com>

"F.L. Jonathan Araña Cruz"

unread,
Oct 14, 2012, 5:51:05 AM10/14/12
to drup...@googlegroups.com, Ricardo Proaño
On 13/10/12 10:40, Ricardo Proa�o wrote:
>
> Hola amigos
>
> Solicito su ayuda como siempre, estoy trabajando con drupal 7 y
> Omega com Theme,
>
> Tengo un men� llamado redes con los enlaces facebook, Twitter, etc y
> lo que quiero es quitar los textos y colocar los iconos respectivos.
> Pero deseo aprender m�s y lo estoy realizando con el template.php. Lo
> que no se es como es el nombre de mi variable de impresi�n.
>

Yo hago esto con el m�dulo menu_icons, sin tocar tpls. La ventaja es que
puedes asociar a cada menu item una imagen y hacer que la imagen pase
por un image style para alterarla seg�n lo necesites.

Tambi�n se puede hacer con puro css.

Y por supuesto tambi�n lo puedes hacer con tpls. Para ello hay varias
opciones, yo la que veo m�s adecuada es la siguiente:

* Posicionas el bloque del men� en la regi�n del theme que prefieras.
* Implementas theme_menu_link__menu_redes($menu_item). Esta funci�n es
invocada para cada menu item de menu-redes y devuelve el item renderizado.
* Adicionalmente puedes implementar el wrapper
theme_menu_tree__menu_redes($menu)

Nota, en tu caso ser�an las funciones:

* disyscorp_menu_link__menu_redes($menu_item)
* disyscorp_menu_tree__menu_redes($menu)


Por �ltimo, si quieres hacerlo por la v�a en que ibas, hice algo similar
a lo que pongo a continuaci�n en d6 pero no he probado en d7:


$tree = menu_tree_page_data('menu-redes');

/* alterar $tree para que el title de los items sea html con imagen y
adem�s a�adir en 'localized_options' la key html = TRUE */

$vars['rrss'] = menu_tree_output($tree);

... y en page.tpl.php hacer render($rrss);



>
> Les dejo mi c�digo para que me den una mano.
>
>
> function disyscorp_preprocess_page(&$vars, $hook){
>
> $menu_redes_links = menu_navigation_links('menu-redes');
>
> $icono['facebook']= '<img
> src="'.path_to_theme().'/images/facebook.png'.'" width="16"
> height="16" /> ';
>
> $icono['twitter']='<img
> src="'.path_to_theme().'/images/twitter.png'.'" width="16" height="16"
> /> ';
>
> $icono['youtube']='<img
> src="'.path_to_theme().'/images/youtube.png'.'" width="16" height="16"
> /> ';
>
> foreach($menu_redes_links as $k => $v){
>
> $menu_redes_links[$k]['title'] =
> $icono[$menu_redes_links[$k]['title']];
>
> $menu_redes_links[$k]['html'] = TRUE;
>
> }
>
> /*dpm($vars['links__menu_redes']);*/
>
> print theme ( 'links__menu_redes' ,
> array('links'=>$menu_redes_links));
>
> Aqu� creo es el problema no s� si es el nombre de
> impresi�n y no la encuentro.
>
> $vars['links__menu_redes'] = theme ( 'links__menu_redes' ,
> array('links'=>$menu_redes_links));
>
> }
>
>
>
> En espera de su ayuda les anticipo mis agradecimientos
>
> Atentamente
>
> Ricardo
>
> --
> -- Has recibido este mensaje porque est�s suscrito al grupo "Drupal en
> Espa�ol". Para publicar una entrada en este grupo, env�a un correo
> electr�nico a:
> drup...@googlegroups.com.
>
> Y por favor toma tiempo para leer la siguiente informaci�n (te lo
> Para anular la suscripci�n a este grupo, env�a un correo electr�nico a
> drupal-es+...@googlegroups.com.
>
> Para tener acceso a m�s opciones, visita el grupo en
> https://groups.google.com/d/forum/drupal-es?hl=es.
>
>

Reply all
Reply to author
Forward
0 new messages