Делается подобное предельно просто. Сперва нужно в разделе управления контентом (Контент -> Страницы) распределить нужные страницы по нужным подразделам, т.е. если раньше список выглядел, например, так:
-> 1. Услуга 1
-> 2. Услуга 2
-> 3. Услуга 3
...
новый список контента примет примерно такой вид:
-> 1. Строительство машин
|-> 1.1. Услуга 1
|-> 1.2. Услуга 2
|-> 1.3. Услуга 3
-> 2. Ремонт двигателей
|-> 2.1. Услуга 1
|-> 2.2. Услуга 2
...
Нажатие в разделе управления страницами кнопочки "Изменить порядок страниц" позволяет таскать мышой страницы как угодно, так что выстроить структуру несложно.
При построении меню система пробегает по всем страницам и различает глубину вложенности. Потенциально можно создать меню с любой глубиной вложенности.
Свежесозданные основные разделы могут быть как страницами с общим описанием, так и просто служить только для обозначения раздела со своим названием.
С созданием вложенных меню стандартный скрипт cssmenutpl вполне спокойно справится, изменения нужны только если хочется дополнительных украшалок и эффектов. Отображение же и пропадание вложенных подменю решается уже средствами CSS.