Это в PHP 5.6 вылезает. Исправить можно, но в решении проблемы с меню не поможет.
Ну да. Потому что ядро Джумлы поменялось, я полагаю.
Ладно, давайте посмотрим, какие ошибки выдаст вот так
<?php include('functions.php'); $hmenu = new hm_Base($this->params); ?>
Нет, почему же. Людям надо помогать. Просто иногда работа в целом понятна, а в маленьком кусочке - проблема, которую оказывается сложно решить. Заранее всего не предусмотришь, а работу надо доделывать.
Но вообще, сделать миграцию со старой джумлы на новую - это иногда сложнее, чем её с нуля установить.
Потому что сначала кажется, что фигня, а потом лезут проблемы, как заячьи уши из шляпы фокусника:)
Ну, если это Вы на фрилансе отметились, то этот файл уже передо мной.:)
Там на самом деле всё сложнее, чем казалось на первый взгляд. Корни уходят глубже, в структуру ядра Джумлы. В этом шаблоне используется класс JParameter, который, насколько я понимаю, в 3-й ветке Джумлы отсутствует. Поэтому как бы не пришлось переписывать шаблоновый класс:(
Н-да... Тут уже надо подумать, что там за массив или объект предполагается в качестве params. Ещё полезут и ошибки, связанные с разными стандартами в PHP4 и PHP5.
После подключения файла с описанием класса
<?php include('functions.php'); $hmenu = new hm_Base();?>
Да не надо там ничего комментировать. Всего-то надо добавить строчку с определением переменной. Типа
$hmenu = new hm_Base();
Я бы даже сказал "чересчур активно". Замучаешься искать прапрародителей.