Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Hierarchical Menus
#28
Hello
for those who want to use the hierarchical-menus plugin V1.1 with GetSimple 3.3.16
In the inc folder change the functions.php document by

PHP Code:
<?php
/**
 * General functions used by Hierarchical Menus plugin.
 *
 * (c)2012 mrdragonraaar.com
 */
if (!defined('IN_GS')) { die('you cannot load this page directly.'); }

/**
 * Template function to display hierarchical list of menus.
 * @param $currentpage current page slug
 * @param $display true to echo
 */
function get_hierarchical_navigation($currentpage$display true)
{
    if (
$display)
        echo 
exec_filter('menuitems'menu_html(top_menu_data(), 
        
   $currentpage));
    else
        return 
exec_filter('menuitems'menu_html(top_menu_data(), 
        
   $currentpage));
}

/**
 * Template function to display list of top level menus.
 * @param $currentpage current page slug
 * @param $display true to echo
 */
function get_top_navigation($currentpage$display true)
{
    if (
$display)
        echo 
exec_filter('menuitems'menu_html(top_menu_data(), 
        
   $currentpagefalse));
    else
        return 
exec_filter('menuitems'menu_html(top_menu_data(), 
        
   $currentpagefalse));
}

/**
 * Get array of top level menus.
 * @return array of top level menus
 */
function top_menu_data()
{
    return 
child_menu_data('');
}

/**
 * Template function to display list of child menus.
 * @param $currentpage current page slug
 * @param $display true to echo
 */
function get_child_navigation($currentpage$display true)
{
    if (
$display)
        echo 
exec_filter('menuitems'menu_html(
        
   nav_side_data($currentpage), $currentpagefalse));
    else
        return 
exec_filter('menuitems'menu_html(
        
   nav_side_data($currentpage), $currentpagefalse));
}

/**
 * Get array of child menus.
 * @param $parentslug parent page slug
 * @return array of child menus
 */
function child_menu_data($parentslug)
{
    
$menu_data menu_data();
    
$child_menu_data = array();

    foreach (
$menu_data as $menu)
    {
        if (
$menu['parent_slug'] == $parentslug)
        {
            
$child_menu_data[] = $menu;
        }
    }

    return 
$child_menu_data;
}


function 
nav_side_data($parentslug)
{
  $menu_data menu_data();
  $child_menu_data = array();

  foreach ($menu_data as $menu)
  {
    if ($menu['slug'] == $parentslug)
    {
      $grandparentslug $menu['parent_slug'];
    }
  }

  foreach ($menu_data as $menu)
  {
    if ($menu['parent_slug'] == $parentslug || ($menu['parent_slug'] == $grandparentslug && $menu['parent_slug'] != ''))
    {
      $child_menu_data[] = $menu;
    }
  }
  return($child_menu_data);
}

/**
 * Get menu html.
 * @param $menus menu data
 * @param $currentpage current page slug
 * @param $includechildren true if to include child menus
 * @return menu html
 */
function menu_html($menus$currentpage$includechildren true)
{
    
$menu_html '<ul>';

    foreach (
$menus as $menu)
    {
        if (
$menu['menu_status'] == 'Y')
        {
            
$classes = ($menu['parent_slug'] ? 
            
   $menu['parent_slug'] . ' ' '') . 
            
   $menu['slug'];
            if (
$currentpage == $menu['slug'])
            {
                
$classes 'current ' $classes;
            }

            
$menu_html .= '<li class="' $classes '"><a href="' $menu['url'] . '" title="' encode_quotes(cl($menu['title'])) . '">' strip_decode($menu['menu_text'] ? $menu['menu_text'] : $menu['title']) . '</a>';

            if (
$includechildren)
            {
                
$children child_menu_data($menu['slug']);
                if (!empty(
$children))
                {
                    
$menu_html .= menu_html($children$currentpage);
                }
            }

            
$menu_html .= '</li>';
        }
    }

    
$menu_html .= '</ul>';

    return 
$menu_html;
}

/**
 * Template function to display breadcrumb menu.
 * @param $currentpage current page slug
 * @param $seperator seperator between links (default: bullet)
 * @param $includehome true to include home link
 * @param $display true to echo
 */
function get_breadcrumb_navigation($currentpage$seperator '•'$includehome true$display true)
{
    
$menu_data menu_data();
    
$seperator '&nbsp;&nbsp;' $seperator '&nbsp;&nbsp;';
    
$menu_html '';
    
$parentpage $currentpage;

    while (
$parentpage)
    {
        foreach (
$menu_data as $menu)
        {
            if (
$menu['slug'] == $parentpage)
            {
                if (
$parentpage == $currentpage)
                    
$menu_html strip_decode($menu['title']);
                else
                    
$menu_html '<a class="' $menu['slug'] . '" href="' $menu['url'] . '" title="' encode_quotes(cl($menu['title'])) . '">' strip_decode($menu['title']) . '</a>' $seperator $menu_html;
                
$parentpage $menu['parent_slug'];
                break;
            }
        }
    }

    if (
$includehome)
    {
        
$menu_html '<a class="home" href="' get_site_url(false) . '" title="' i18n_r('hierarchical_menus/HMENU_HOME') . '">' i18n_r('hierarchical_menus/HMENU_HOME') . '</a>' $seperator $menu_html;
    }

    if (
$display)
        echo 
$menu_html;
    else
        return 
$menu_html;
}
?>
Reply


Messages In This Thread
Hierarchical Menus - by mrdragonraaar - 2012-11-03, 12:59:46
RE: Hierarchical Menus - by Connie - 2012-11-03, 17:58:54
RE: Hierarchical Menus - by mrdragonraaar - 2012-11-03, 22:26:57
RE: Hierarchical Menus - by mvlcek - 2012-11-03, 23:23:28
RE: Hierarchical Menus - by mrdragonraaar - 2012-11-03, 23:29:02
RE: Hierarchical Menus - by Connie - 2012-11-04, 00:08:10
RE: Hierarchical Menus - by mrdragonraaar - 2012-11-04, 00:10:54
RE: Hierarchical Menus - by lakechicago - 2013-04-22, 21:11:42
RE: Hierarchical Menus - by phpman - 2013-09-30, 06:45:13
RE: Hierarchical Menus - by Carlos - 2012-11-03, 18:23:19
RE: Hierarchical Menus - by andy.storey - 2012-11-09, 07:37:19
RE: Hierarchical Menus - by xStranger - 2012-11-10, 23:27:13
RE: Hierarchical Menus - by mrdragonraaar - 2012-11-19, 09:42:34
RE: Hierarchical Menus - by Oleg06 - 2012-11-19, 17:45:22
RE: Hierarchical Menus - by miagrimm - 2013-01-29, 23:43:08
RE: Hierarchical Menus - by cyberianTiger - 2013-03-27, 15:42:15
RE: Hierarchical Menus - by jbcarey - 2013-04-05, 06:10:08
RE: Hierarchical Menus - by shawn_a - 2013-04-05, 07:46:53
RE: Hierarchical Menus - by jbcarey - 2013-04-05, 07:50:20
RE: Hierarchical Menus - by shawn_a - 2013-04-05, 09:17:10
RE: Hierarchical Menus - by jbcarey - 2013-04-07, 22:36:29
RE: Hierarchical Menus - by shawn_a - 2013-04-08, 00:15:27
RE: Hierarchical Menus - by jbcarey - 2013-04-08, 01:24:29
RE: Hierarchical Menus - by kclaytor - 2016-09-24, 23:57:13
RE: Hierarchical Menus - by Domi - 2020-06-30, 23:19:37
RE: Hierarchical Menus - by Oleg06 - 2020-06-30, 23:33:08
RE: Hierarchical Menus - by Domi - 2020-07-04, 05:13:30
RE: Hierarchical Menus - by jjancel - 2021-11-18, 08:46:15
RE: Hierarchical Menus - by tibbz - 2023-02-17, 06:27:08
RE: Hierarchical Menus - by multicolor - 2023-02-17, 07:36:51
RE: Hierarchical Menus - by mvlcek - 2023-02-18, 05:31:26



Users browsing this thread: 1 Guest(s)