Есть стандартное меню Joomla. Мне нужно ко всем элементам li добавить классы-уровни типа level-1, level-2 и т.д.
Вот HTML, код меню, который сейчас есть
<div class="moduletable testmenu">
<nav class="primaryLeftNavNew">
<ul class="nav menu">
<li class="item item-163 deeper parent"><a href="/foundation.html">Foundation</a>
<ul class="nav-child unstyled small sub1">
<li class="item item-221 deeper parent"><a href="/foundation/foundation-college.html">Foundation в колледже</a>
<ul class="nav-child unstyled small sub2">
<li class="item item-394"><a href="/foundation/foundation-college/foundation-v-kolledzhakh-irlandii.html">Foundation в колледжах Ирландии</a></li>
</ul>
</li>
<li class="item item-330 deeper parent"><a href="/foundation/foundation-v-universitete.html">Foundation в университете</a>
<ul class="nav-child unstyled small sub2">
<li class="item item-395"><a href="/foundation/foundation-v-universitete/foundation-v-universitetakh-velikobritanii.html">Foundation в университетах Великобритании</a></li>
<li class="item item-396"><a href="/foundation/foundation-v-universitete/foundation-v-universitetakh-irlandii.html">Foundation в университетах Ирландии</a></li>
</ul>
</li>
<li class="item item-223 deeper parent"><a href="/foundation/academic-programm.html">Краткосрочные программы</a>
<ul class="nav-child unstyled small sub2">
<li class="item item-351"><a href="/foundation/academic-programm/university-pathway.html">University Pathway </a></li>
<li class="item item-357"><a href="/foundation/academic-programm/academic-course.html">Краткосрочный академический курс</a></li>
</ul>
</li>
</ul>
</li>
<li class="item item-164 deeper parent"><a href="/bachelor.html">Bachelor Degree</a>
<ul class="nav-child unstyled small sub1">
<li class="item item-226 deeper parent"><a href="/bachelor/bachelor-uk.html">Бакалавриат в Великобритании</a>
<ul class="nav-child unstyled small sub2">
<li class="item item-362"><a href="/bachelor/bachelor-uk/hnc-hnd.html">HNC/HND</a></li>
<li class="item item-393"><a href="/bachelor/bachelor-uk/uk-uni-ranking.html">Рейтинг университетов UK</a></li>
</ul>
</li>
<li class="item item-348 deeper parent"><a href="/bachelor/bakalavriat-v-ssha.html">Бакалавриат в США</a>
<ul class="nav-child unstyled small sub2">
<li class="item item-527"><a href="/bachelor/bakalavriat-v-ssha/associate-degree.html">Associate Degree</a></li>
</ul>
</li>
<li class="item item-541"><a href="/bachelor/bakalavriat-v-germanii.html">Бакалавриат в Германии</a></li>
<li class="item item-567"><a href="/bachelor/bakalavriat-v-kanade.html">Бакалавриат в Канаде</a></li>
<li class="item item-540"><a href="/bachelor/bakalavriat-v-niderlandakh.html">Бакалавриат в Нидерландах</a></li>
<li class="item item-532"><a href="/bachelor/bakalavriat-v-knr.html">Бакалавриат в КНР</a></li>
<li class="item item-524"><a href="/bachelor/mirovoj-rejting-universitetov.html">Мировой рейтинг университетов</a></li>
</ul>
</li>
<li class="item item-165 deeper parent"><a href="/masters.html">Masters</a>
<ul class="nav-child unstyled small sub1">
<li class="item item-339"><a href="/masters/pre-masters.html">Pre-Masters</a></li>
<li class="item item-227"><a href="/masters/magistratura-v-velikobritanii.html">Pre-Masters Великобритания</a></li>
<li class="item item-228"><a href="/masters/magistratura-v-ssha.html">Pre-Masters США</a></li>
<li class="item item-352"><a href="/masters/pre-masters-kanada.html">Pre-Masters Канада</a></li>
</ul>
</li>
<li class="item item-806"><a href="https://studentprograms.ru/kursy-dlya-vzroslyh.html">Тестовый</a></li>
</ul>
</nav>
</div>
Вот что хочется
<div class="moduletable testmenu">
<nav class="primaryLeftNavNew">
<ul class="nav menu">
<li class="level-1 item item-163 deeper parent"><a href="/foundation.html">Foundation</a>
<ul class="nav-child unstyled small sub1">
<li class="level-2 item item-221 deeper parent"><a href="/foundation/foundation-college.html">Foundation в колледже</a>
<ul class="nav-child unstyled small sub2">
<li class="level-3 item item-394"><a href="/foundation/foundation-college/foundation-v-kolledzhakh-irlandii.html">Foundation в колледжах Ирландии</a></li>
</ul>
</li>
<li class="level-2 item item-330 deeper parent"><a href="/foundation/foundation-v-universitete.html">Foundation в университете</a>
<ul class="nav-child unstyled small sub2">
<li class="level-3 item item-395"><a href="/foundation/foundation-v-universitete/foundation-v-universitetakh-velikobritanii.html">Foundation в университетах Великобритании</a></li>
<li class="level-3 item item-396"><a href="/foundation/foundation-v-universitete/foundation-v-universitetakh-irlandii.html">Foundation в университетах Ирландии</a></li>
</ul>
</li>
<li class="level-2 item item-223 deeper parent"><a href="/foundation/academic-programm.html">Краткосрочные программы</a>
<ul class="nav-child unstyled small sub2">
<li class="level-3 item item-351"><a href="/foundation/academic-programm/university-pathway.html">University Pathway </a></li>
<li class="level-3 item item-357"><a href="/foundation/academic-programm/academic-course.html">Краткосрочный академический курс</a></li>
</ul>
</li>
</ul>
</li>
<li class="level-1 item item-164 deeper parent"><a href="/bachelor.html">Bachelor Degree</a>
<ul class="nav-child unstyled small sub1">
<li class="level-2 item item-226 deeper parent"><a href="/bachelor/bachelor-uk.html">Бакалавриат в Великобритании</a>
<ul class="nav-child unstyled small sub2">
<li class="level-3 item item-362"><a href="/bachelor/bachelor-uk/hnc-hnd.html">HNC/HND</a></li>
<li class="level-3 item item-393"><a href="/bachelor/bachelor-uk/uk-uni-ranking.html">Рейтинг университетов UK</a></li>
</ul>
</li>
<li class="level-2 item item-348 deeper parent"><a href="/bachelor/bakalavriat-v-ssha.html">Бакалавриат в США</a>
<ul class="nav-child unstyled small sub2">
<li class="level-3 item item-527"><a href="/bachelor/bakalavriat-v-ssha/associate-degree.html">Associate Degree</a></li>
</ul>
</li>
<li class="level-2 item item-541"><a href="/bachelor/bakalavriat-v-germanii.html">Бакалавриат в Германии</a></li>
<li class="level-2 item item-567"><a href="/bachelor/bakalavriat-v-kanade.html">Бакалавриат в Канаде</a></li>
<li class="level-2 item item-540"><a href="/bachelor/bakalavriat-v-niderlandakh.html">Бакалавриат в Нидерландах</a></li>
<li class="level-2 item item-532"><a href="/bachelor/bakalavriat-v-knr.html">Бакалавриат в КНР</a></li>
<li class="level-2 item item-524"><a href="/bachelor/mirovoj-rejting-universitetov.html">Мировой рейтинг университетов</a></li>
</ul>
</li>
<li class="level-1 item item-165 deeper parent"><a href="/masters.html">Masters</a>
<ul class="nav-child unstyled small sub1">
<li class="level-2 item item-339"><a href="/masters/pre-masters.html">Pre-Masters</a></li>
<li class="level-2 item item-227"><a href="/masters/magistratura-v-velikobritanii.html">Pre-Masters Великобритания</a></li>
<li class="level-2 item item-228"><a href="/masters/magistratura-v-ssha.html">Pre-Masters США</a></li>
<li class="level-2 item item-352"><a href="/masters/pre-masters-kanada.html">Pre-Masters Канада</a></li>
</ul>
</li>
<li class="level-1 item item-806"><a href="https://studentprograms.ru/kursy-dlya-vzroslyh.html">Тестовый</a></li>
</ul>
</nav>
</div>
Вот стандартный php-код меню
<?php
/**
* @package Joomla.Site
* @subpackage mod_menu
*
* [member=126442]copyright[/member] Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
$id = '';
if ($tagId = $params->get('tag_id', ''))
{
$id = ' id="' . $tagId . '"';
}
// The menu class is deprecated. Use nav instead
?>
<nav class="primaryLeftNavNew">
<ul class="nav menu<?php echo $class_sfx; ?>"<?php echo $id; ?>>
<?php foreach ($list as $i => &$item)
{
$class = 'item item-' . $item->id;
if ($item->id == $default_id)
{
$class .= ' default';
}
if ($item->id == $active_id || ($item->type === 'alias' && $item->params->get('aliasoptions') == $active_id))
{
$class .= ' current';
}
if (in_array($item->id, $path))
{
$class .= ' active';
}
elseif ($item->type === 'alias')
{
$aliasToId = $item->params->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 ';
}
if ($item->parent)
{
$class .= ' parent';
}
echo '<li class="' . $class . '">';
switch ($item->type) :
case 'separator':
case 'component':
case 'heading':
case 'url':
require JModuleHelper::getLayoutPath('mod_menu', 'default_' . $item->type);
break;
default:
require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
break;
endswitch;
// The next item is deeper.
if ($item->deeper)
{
//echo '<ul class="nav-child unstyled small">';
if ($item->level == 1) {
echo '<ul class="nav-child unstyled small sub1">';
}
elseif ($item->level == 2) {
echo '<ul class="nav-child unstyled small sub2">';
}
elseif ($item->level == 3) {
echo '<ul class="nav-child unstyled small sub3">';
}
elseif ($item->level == 4) {
echo '<ul class="nav-child unstyled small sub4">';
}
elseif ($item->level == 5) {
echo '<ul class="nav-child unstyled small sub5">';
}
}
// The next item is shallower.
elseif ($item->shallower)
{
echo '</li>';
echo str_repeat('</ul></li>', $item->level_diff);
}
// The next item is on the same level.
else
{
echo '</li>';
}
}
?></ul>
</nav>