web-dev-qa-db-ja.com

J3にアップグレードするとJHtmlBehavior :: mootoolsが見つかりません

JHtmlBehavior::mootools not foundで500エラーが発生します。これはJ3で削除されたことがわかっていますが、私の問題はこの問題がどこにあるのかを見つけようとしています。

なんらかの拡張機能ではないかと思いますが、すべて更新しました。明らかにそうではありません。私のphpログまたは開発者ツールコンソールには、問題の場所を示すものは何もありません。私はJHtmlBehaviorをgrepしても何も思いつきません。

これをデバッグする方法に関するヒントはありますか?

9
Tom

私自身のカスタムコンポーネントに問題が見つかりました...うん。 JHtmlBehavior::mootoolsを探していたため、問題のコードを見つけることができませんでした。

しかし、問題のコードはこれでした:

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

これをこれに変更すると、問題が修正されます。

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

MooToolsはJoomla 3で非推奨ですが、 まだ利用可能 です(将来のバージョンでは削除される可能性があります)。

追加することでフレームワークをロードできます

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

(または、CoreライブラリとMoreライブラリの両方が必要な場合):

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

テンプレートのindex.phpファイル。

これは、Mootoolsコードを使用してファイル/拡張子を見つけるまで、少なくとも一時的な修正になります。原因を見つけるのは難しいかもしれませんが、ブラウザーの開発者ツール(F12 ほとんどのブラウザで)JavaScriptエラーを探してください。ヒントが表示される場合があります。

3
johanpw

コードがどこから来ているのかを見つけるためのいくつかのステップがあります:

  1. 最善の方法は、Webサイトの完全なコピーをダウンロードし、そのディレクトリ内でOSシステムを検索してJHTML :: _( 'behavior.mootools');。通常、コンピュータはこの特定の文字列を含むすべてのファイルのリストを返します。

  2. 最初の手順が不可能な場合、または何らかの理由で結果が得られない場合は、拡張機能を無効にする必要があります。

    a。まずテンプレートを切り替えます-Joomla 3プロトスターのコアテンプレートに切り替えます。問題が解消される可能性が最も高い場合、非推奨のコードが含まれているのはテンプレートです。

    b。次に、モジュールとプラグインのスイッチを切ることができます。

    c。最後に、問題がサードパーティコンポーネントの特定のページでのみ発生するかどうかを確認します。

Joomla DocumentationでJoomlaにJavascriptフレームワークをロードする方法の詳細情報を検索します

2
FFrewin

これはPHPエラーであり、Joomlaがエラーをスローする結果となるので、Javascriptエラーではなく、PHPを追加することによって修正されるものでもありません。疑わしいので、誤ったソースを見つける必要があります。 PHP呼び出し。

最初に行うべきことは、エラー報告を「開発」に上げ、新しい情報が得られることを確認することです。エラーの原因を追跡するのに役立つ新しい情報がない場合は、手動でスライスアンドダイスアプローチになります。

組み込みのテンプレートに簡単に切り替えて、問題が解消するかどうかを確認します。問題が解消する場合は、テンプレートまたはモジュールのいずれかであり、割り当てられた位置が、交換先のデフォルトテンプレートに存在しないため、呼び出されなくなりました。テンプレートでない場合は、モジュールをかなり迅速に追跡できます。

最後に、それが役に立たない場合は、50%の方法を使用して、問題の原因であるコンポーネント、モジュール、またはプラグインのグループをすばやく絞り込みます。

2
Craig