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


9

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

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

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

回答:


9

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

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

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

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

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

3

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

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

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

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

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

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

これは、Mootoolsコードを使用してファイル/拡張子を見つけるまで、少なくとも一時的な修正になります。犯人を見つけるのは難しいかもしれませんが、ブラウザーの開発者ツール(F12ほとんどのブラウザー)から始めてJavaScriptエラーを探すことをお勧めします。


おかげで、私は両方を試しましたが、それでも同じエラーが発生します。開発者ツール(またはFirebug)は、500内部サーバーエラー以外の何も教えてくれません。他のアイデアは?
トム・

コードを正しく追加しましたJOOMLAROOT/templates/YOURTEMPLATE/index.phpか?の直後に追加できdefined('_JEXEC') or die;ます。window.MooToolsFirebugを入力してMooToolsがロードされているかどうかを確認しますObject { version: "1.4.5", build: "74e34796f5f76640cdb98853004650aea1499d69" }。返されるか、または同様のはずです。
johanpw 2014年

これらのJHtml::呼び出しを追加しても、エラーは停止しません。これは、サイトのどこかにあるPHPでの無効な呼び出しの結果です。
クレイグ

2

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

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

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

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


2

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

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

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

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

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

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

JoomlaのドキュメントでJoomlaにJavascriptフレームワークをロードする方法の詳細をご覧ください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.