- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте!
Подскажите как победить ошибку в шаблоне Joomla
Переношу сайт с версии 1.5 на 3
Все выставил в шаблоне под 3 как надо.
Но вот проблема возникла, выдает ошибку:
Notice: Undefined variable: hmenu in .....шаблон/index.php on line 22
Fatal error: Call to a member function genHMenu() on a non-object in .....шаблон/index.php on line 22
Сама строка из index.php
<div id="top_menu"><div id="topnav"><?php $hmenu->genHMenu (0); ?></div></div>
Куда копать? В PHP не очень силен.
Спасибо!
В Вашем шаблоне не определена переменная $hmenu. Нужно её определить как объект класса.
Я с joomla не знаком, но могу предположить что ошибка может быть вызвана тем, что не перенесли необходимый код в контроллер. Скорее всего ваш hmenu там должен был наследовать какой-нибудь класс. И скорее всего метод genHMenu тоже там переопределялся или определялся.
$hmenu->genHMenu (0)
Это не джумловская функция. Скорее всего, это функция самого шаблона - найдите ее и перенесите в новый шаблон.
А для начала можно просто закомментировать -
Да не надо там ничего комментировать. Всего-то надо добавить строчку с определением переменной. Типа
Но я так думаю, ТС уже решил свою проблему, просто нам забыл сказать:)Пока не решил, не помогает.
Комментировать нельзя, так как меню пропадает. Ошибка конечно исчезает.
Там меню прошито в файле оказывается.
Подключается <?php include('functions.php'); ?>
Sitealert: а куда эту строчку поставить?
а куда эту строчку поставить?
После подключения файла с описанием класса
После подключения файла с описанием класса
Выдает:
Н-да... Тут уже надо подумать, что там за массив или объект предполагается в качестве params. Ещё полезут и ошибки, связанные с разными стандартами в PHP4 и PHP5.
На всякий пожарный прикрепляю файл functions.php в котором вшито само меню.
Ну, если это Вы на фрилансе отметились, то этот файл уже передо мной.:)
Там на самом деле всё сложнее, чем казалось на первый взгляд. Корни уходят глубже, в структуру ядра Джумлы. В этом шаблоне используется класс JParameter, который, насколько я понимаю, в 3-й ветке Джумлы отсутствует. Поэтому как бы не пришлось переписывать шаблоновый класс:(