Вот кусочек меню
<ul id="ul_catalog_menu_XEVOpk">
<!-- first level-->
<li onmouseover="BX.CatalogMenu.itemOver(this);" onmouseout="BX.CatalogMenu.itemOut(this)" class="bx_hma_one_lvl dropdown" style="width: 10.7565%;" id="menu-item-1">
<a href="/catalog/tookalook/" style="background: url("https:/upload/medialibrary/67d/Bez-fona-s-tsvetom-teksta.png") 0% 0% / 102px 90px no-repeat; margin-top: -17px;"></a>
<span style="display: none"></span>
<span class="bx_children_advanced_panel animate">
<img src="" alt="">
</span>
</li>
<!-- first level-->
<li onmouseover="BX.CatalogMenu.itemOver(this);" onmouseout="BX.CatalogMenu.itemOut(this)" class="bx_hma_one_lvl dropdown" style="width: 17.4941%;" id="menu-item-4">
<a href="/catalog/bluzki_dzhempera/">
Блузки, джемпера </a>
<span style="display: none"></span>
<span class="bx_children_advanced_panel animate">
<img src="" alt="">
</span>
<!-- first level-->
<li onmouseover="BX.CatalogMenu.itemOver(this);" onmouseout="BX.CatalogMenu.itemOut(this)" class="bx_hma_one_lvl
" style="width: 6.73759%;">
<a href="/catalog/bryuki/">
Брюки </a>
</li>
</ul>
Меню формируется автоматически на основании дерева групп из 1С
"А почему не на сервере сразу это определить?" - не знаю как сделать.