예제 #1
0
function create_menu($current_menu_id)
{
    $items = menuItems();
    $menus = new JMenuSite();
    if (isset($items[$current_menu_id])) {
        $item = $items[$current_menu_id];
        foreach ($item as $key => $item_id) {
            echo '<li>';
            echo $menus->getItem($item_id)->title;
            echo '</li>';
        }
    }
}
예제 #2
0
	/**
	 * Get default menu item to be shown up.
	 *
	 * @param   JMenuSite  $menu     Joomla menu.
	 * @param   object     $active   Active menu item.
	 * @param   array      $visited  Already visited menu items.
	 *
	 * @return object|null
	 */
	protected function getDefaultMenuItem(JMenuSite $menu, $active, $visited = array())
	{
		if (empty($active->query['defaultmenu']) || $active->id == $active->query['defaultmenu'])
		{
			// There is no highlighted menu item!
			return null;
		}

		$item = $menu->getItem($active->query['defaultmenu']);

		if (!$item)
		{
			// Menu item points to nowhere, abort!
			KunenaError::warning(JText::sprintf('COM_KUNENA_WARNING_MENU_NOT_EXISTS'), 'menu');

			return null;
		}
		elseif (isset($visited[$item->id]))
		{
			// Menu loop detected, abort!
			KunenaError::warning(JText::sprintf('COM_KUNENA_WARNING_MENU_LOOP'), 'menu');

			return null;
		}
		elseif (empty($item->component) || $item->component != 'com_kunena' || !isset($item->query['view']))
		{
			// Menu item doesn't point to Kunena, abort!
			KunenaError::warning(JText::sprintf('COM_KUNENA_WARNING_MENU_NOT_KUNENA'), 'menu');

			return null;
		}
		elseif ($item->query['view'] == 'home')
		{
			// Menu item is pointing to another Home Page, try to find default menu item from there.
			$visited[$item->id] = 1;
			$item = $this->getDefaultMenuItem($menu, $item->query['defaultmenu'], $visited);
		}

		return $item;
	}