+
+ &$item) :
+ $itemParams = $item->getParams();
+ $class = 'nav-item mod-menu-main__item item-' . $item->id;
+
+ if ($item->id == $default_id) {
+ $class .= ' default';
+ }
+
+ if ($item->id == $active_id || ($item->type === 'alias' && $itemParams->get('aliasoptions') == $active_id)) {
+ $class .= ' current';
+ }
+
+ if (in_array($item->id, $path)) {
+ $class .= ' active';
+ } elseif ($item->type === 'alias') {
+ $aliasToId = $itemParams->get('aliasoptions');
+
+ if (count($path) > 0 && $aliasToId == $path[count($path) - 1]) {
+ $class .= ' active';
+ } elseif (in_array($aliasToId, $path)) {
+ $class .= ' alias-parent-active';
+ }
+ }
+
+ if ($item->type === 'separator') {
+ $class .= ' divider';
+ }
+
+ if ($item->deeper) {
+ $class .= ' deeper dropdown';
+ }
+
+ if ($item->parent) {
+ $class .= ' parent';
+ }
+
+ echo '- ';
+
+ switch ($item->type) :
+ case 'separator':
+ case 'component':
+ case 'heading':
+ case 'url':
+ require ModuleHelper::getLayoutPath('mod_menu', 'mainmenu_' . $item->type);
+ break;
+
+ default:
+ require ModuleHelper::getLayoutPath('mod_menu', 'mainmenu_url');
+ break;
+ endswitch;
+
+ // The next item is deeper.
+ if ($item->deeper) {
+ echo '
';
+ } elseif ($item->shallower) {
+ // The next item is shallower.
+ echo '
';
+ echo str_repeat('
', $item->level_diff);
+ } else {
+ // The next item is on the same level.
+ echo '';
+ }
+endforeach;
+?>
+