Програмне виведення багаторівневого меню з певною розміткою
Як програмно вивести багаторівневе main menu із такою розміткою?
Перевизначити: theme_menu_tree theme_menu_link
Функції зрозумілі, але у чому справа: $element['#below'] - у всіх порожній, чи є вкладення. Взагалі, весь масив $variables['element'] перевірив.
Грубо кажучи, я не знаю, звідки смикати дочірні пункти. Безпосередньо з бази?

Не має бути порожнім. Якщо є дочірні пункти в меню (і вони доступні користувачеві з прав), вони там будуть. Смикати прямо з бази не треба.
Завантажте дерево меню і подивіться, що там у масиві.
Я ж сказав, що весь масив елементу перевірив через Devel. Виведення всього масиву меню (за Вашим способом) теж нічого не дав (немає дочірніх елементів). Хоча в адмінці все нормально.

Я взяв наперед багаторівневе меню, до всіх елементів якого я маю доступ. Завантажив його функцією, яка свідомо вантажить усі дані меню і вивів:
$tree = menu_tree_all_data('menu_name'); dsm($tree);
Отримав ось цю картинку. Як бачите, у всіх елементів меню, які мають дочірні елементи, below містить їх масиви.
Я реально не уявляю, що чи як можна порадити без того, щоб мені покопатися у вашому коді. :)
Але тут висновок в tpl.php Я перевизначаю на рівні шаблону. Виходячи з Вашої відповіді, завантажив все дерево, але користі.
Меню в друпалі – це масив даних. Його треба завантажити у змінну. Є багато способів зробити це, залежно від того, що саме треба. https://api.drupal.org/api/drupal/includes%21menu.inc/7 описує всі ці різні способи.
Після завантаження із масивом можна працювати. Прибирати, додавати та змінювати будь-які пункти меню.
Після роботи, якщо вона потрібна, зміннуз масивом меню всередині треба "перетворити на хтмл". Це знову ж таки в друпалі можна зробити багатьма способами.
Приклад: $tree = menu_tree_all_data('machine-name-of-menu'); menu_tree_add_active_path($tree); print drupal_render(menu_tree_output($tree));
Простіший приклад: $menu = menu_navigation_links('menu-main-page'); print theme('links__menu_main_page', array('links' => $menu));
Однак треба пам'ятати, що "напікається" меню так, як зазначено у функціях перетворення масиву меню на хтмл - це функції темування в друпалі. Відповідно, якщо воно друкується не так, як треба - треба перевизначити функції теми, що відповідають за частини "друкування" меню. Як xandeadx писав, це theme_menu_tree для дерева та theme_menu_link для кожного окремого посилання в меню.