Your IP : 216.73.216.240
<?php
/*
* @package Tech Fry Library
* @license https://www.gnu.org/licenses/gpl-3.0.en.html
*/
namespace TechFry\Library\View\Sky;
defined('_JEXEC') or die;
class Navigation extends Bootstrap
{
public $ul_class;
public $li_class;
public $a_class;
public $active_id;
public function display()
{
// $config - list_class, list_item_class, link_class
$this->ul_class = $this->config['list_class'] ?? '';
$this->li_class .= $this->config['list_item_class'] ?? '';
$this->a_class .= $this->config['link_class'] ?? '';
$output = '<ul class="' . $this->ul_class . '">';
foreach ($this->data as $item)
{
// $item - Joomla\CMS\Menu\MenuItem Object
if ($item->level == 1)
{
if (!$item->deeper)
{
$output .= $this->get_menu_item($item);
}
else
{
// Dropdown Menu
$config = array(
'trigger_text' => $item->title,
'trigger_class' => $this->a_class,
'trigger_icon' => $item->menu_icon,
'dropdown_tag' => 'li',
);
$dropdown = new Dropdown(array(), $config);
}
}
elseif ($item->level == 2)
{
$dropdown->add_data($item);
if ($item->shallower)
{
$output .= $dropdown->display();
}
}
}
$output .= '</ul>';
return $output;
}
public function get_menu_item($item)
{
// Add active class to a
if (isset($item->id) && $item->id == $this->active_id)
{
$this->a_class .= ' active';
}
$output = '<li class="' . $this->li_class . '">';
$icon = $item->menu_icon ?? $item->icon ?? '';
$output .= '<a href="' . $item->flink . '" class="' . $this->a_class . '"';
if (isset($item->browserNav) && $item->browserNav)
{
$output .= ' target="_blank"';
}
$output .= '>';
if ($icon)
{
$output .= '<i class="' . $icon . '"></i> ';
}
$output .= $item->title;
$output .= '</a>';
$output .= '</li>';
return $output;
}
public function set_active($active_id)
{
$this->active_id = $active_id;
}
}