it-swarm-es.tech

¿Cómo obtener el alias o título del elemento de menú activo?

En mi plantilla quiero dar una clase adicional al cuerpo del documento que tomará los nombres del alias del elemento del menú, para que pueda crear un estilo individual entre las páginas.

Pero, ¿cómo puedo obtener el alias o el título del elemento de menú activo?

6
FFrewin

Para obtener los datos del elemento de menú activo (actual), use el siguiente código:

 $app       = JFactory::getApplication(); // Access the Application Object

 $menu      = $app->getMenu(); // Load the JMenuSite Object

 $active    = $menu->getActive(); // Load the Active Menu Item as an stdClass Object

$active es un objeto del elemento del menú actual.

Saliendo con print_r($active) puede tener una vista de todas sus propiedades.

Ejemplo de salida de lo anterior print_r();

stdClass Object
(
    [id] => 136
    [menutype] => main-menu
    [title] => Photos
    [alias] => photos
    [note] => 
    [route] => photos
    [link] => index.php?option=com_content&view=article&id=157
    [type] => component
    [level] => 1
    [language] => en-US
    [browserNav] => 0
    [access] => 1
    [params] => Joomla\Registry\Registry Object
        (
            [data:protected] => stdClass Object
                (
                    [show_title] => 
                    [link_titles] => 
                    [show_intro] => 
                    [info_block_position] => 
                    [show_category] => 
                    [link_category] => 
                    [show_parent_category] => 
                    [link_parent_category] => 
                    [show_author] => 
                    [link_author] => 
                    [show_create_date] => 
                    [show_modify_date] => 
                    [show_publish_date] => 
                    [show_item_navigation] => 
                    [show_vote] => 
                    [show_icons] => 
                    [show_print_icon] => 
                    [show_email_icon] => 
                    [show_hits] => 
                    [show_tags] => 
                    [show_noauth] => 
                    [urls_position] => 
                    [menu-anchor_title] => 
                    [menu-anchor_css] => 
                    [menu_image] => 
                    [menu_text] => 1
                    [page_title] => 
                    [show_page_heading] => 0
                    [page_heading] => 
                    [pageclass_sfx] => 
                    [menu-meta_description] => 
                    [menu-meta_keywords] => 
                    [robots] => 
                    [secure] => 0
                )

        )

    [home] => 0
    [img] => 
    [template_style_id] => 0
    [component_id] => 22
    [parent_id] => 1
    [component] => com_content
    [tree] => Array
        (
            [0] => 136
        )

    [query] => Array
        (
            [option] => com_content
            [view] => article
            [id] => 157
        )

)

Para usar cualquiera de las propiedades, puede repetir $active->'property name';

p.ej. echo $active->alias;

10
FFrewin