Обновление до J3 дает JHtmlBehavior :: mootools не найден

Я получаю ошибку 500 с помощью JHtmlBehavior::mootools not found. Я знаю, что это было удалено в J3, но моя проблема заключается в том, чтобы выяснить, где эта проблема.

Я подозреваю, что это своего рода расширение, но я думаю, что обновил их все. Очевидно нет. Я ничего не вижу в своих php-журналах или консоли инструментов разработчика, чтобы указать, где может быть проблема. Я даже grep для JHtmlBehavior и ничего не придумываю.

Любые подсказки о том, как я могу отладить это?

9 голосов | спросил Tom 13 +04002014-10-13T18:01:55+04:00312014bEurope/MoscowMon, 13 Oct 2014 18:01:55 +0400 2014, 18:01:55

4 ответа


9

Нашел проблему в моем собственном компоненте ... тьфу. Я не мог найти код нарушения, потому что искал JHtmlBehavior::mootools.

Но оскорбительный код был следующим:

JHTML::_('behavior.mootools');

Изменение этого параметра устраняет проблему:

JHtml::_('behavior.framework');
ответил Tom 14 +04002014-10-14T05:40:01+04:00312014bEurope/MoscowTue, 14 Oct 2014 05:40:01 +0400 2014, 05:40:01
3

Хотя MooTools устарел в Joomla 3, он все еще доступен (но может удаляться в будущих версиях).

Вы можете загрузить фреймворк, добавив

JHtml::_('behavior.framework');

(или если вам нужны библиотеки Core и More):

JHtml::_('behavior.framework', true);

в файл index.php вашего шаблона.

Это будет по крайней мере временное исправление, пока вы не найдете файл /расширение, используя код Mootools. Поиск виновника может быть затруднен, но я предлагаю вам начать с браузеров Developer Tools ( F12 в большинстве браузеров) и искать ошибки JavaScript, это может дать вам подсказку.

ответил johanpw 13 +04002014-10-13T18:38:40+04:00312014bEurope/MoscowMon, 13 Oct 2014 18:38:40 +0400 2014, 18:38:40
2

Это ошибка PHP, в результате чего Joomla выдает ошибку, поэтому, а не ошибку Javascript, а не что-то, что можно исправить, добавив больше PHP. Как вы подозревали, вам нужно найти источник ошибочного вызова PHP.

Первое, что нужно сделать, - это включить отчет об ошибках в «Development» и увидеть, что дает вам новую информацию, если нет новой информации, которая поможет вам отслеживать источник ошибки, тогда она станет ручным срезом и кости.

Попробуйте поменять место на встроенный шаблон вкратце и увидеть, если проблема исчезнет - если это так, либо шаблон или модуль, который больше не вызывается, потому что назначенная позиция не существует в шаблоне по умолчанию вы поменялись местами. Если это не шаблон, вы можете быстро отследить модули.

Наконец, если это не помогает, используйте 50% -ный метод для сужения быстро, какая группа компонентов, модулей или плагинов является источником проблемы.

ответил Craig 14 +04002014-10-14T05:43:30+04:00312014bEurope/MoscowTue, 14 Oct 2014 05:43:30 +0400 2014, 05:43:30
2

Вот несколько шагов, чтобы найти, откуда приходит код:

  1. Ну, лучший способ - загрузить полную копию веб-сайта и выполнить поиск системы в своей директории для JHTML :: _ ('behavior.mootools'); . Обычно ваш компьютер будет возвращать список со всеми файлами, которые содержат эту конкретную строку.

  2. Если первый шаг невозможен, или вы не можете получить какие-либо результаты по какой-либо причине, тогда вы должны начать отключать расширения.

    а. Сначала переключите шаблон - на основной шаблон протозвезды Joomla 3. Если проблема исчезнет, ​​скорее всего, это ваш шаблон, содержащий устаревший код.

    б. Затем вы можете начать отключение модулей и плагинов.

    с. Наконец, посмотрите, будет ли проблема отображаться только на определенных страницах сторонних компонентов.

Найдите дополнительную информацию о том, как загрузить Javascript Framework на Joomla на Документация Joomla

ответил FFrewin 6 52015vEurope/Moscow11bEurope/MoscowFri, 06 Nov 2015 23:26:55 +0300 2015, 23:26:55

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132