web-dev-qa-db-ja.com

K2アイテムビュー—未定義のメソッドK2HelperHTML :: loadjQuery()の呼び出し

私のクライアントはJoomlaの最新バージョン3.8.1とK2を2.8.0に更新しました。フロントエンドとバックエンドは機能していますが、k2アイテムまたはk2カテゴリを編集することはできません。リストビューは機能していますが、編集ビューは機能していません。

ここにスタックトレースがあります:

enter image description here

何か案は?

[〜#〜]更新[〜#〜]

以下の考えに従うと、エラーの原因は、そのクライアント用に作成したカスタムk2-pluginにあることがわかりました。以内 xml manifest定義されたフィールドが問題を引き起こすプラグインのファイル

<field 
  name="lnk_items" 
  type="litems" 
  default=""
  label="K2_DRAG_AND_DROP_TO_REORDER_ITEMS"
  description="…"/>


<field 
 name="lnk_category" 
 type="lcategoriesmultiple" 
 default="" 
 label="K2_SELECT_ONE_OR_MORE_CATEGORIES"
 description="…"/>

これらのフィールドをコメントアウトしてもエラーは表示されませんが、プラグインも期待どおりに機能しません。

2
philipp

"items.php"はK2には存在しません(2.8.0以降)。 Joomlaの更新が原因で、librariesフォルダーに問題があると思います。以前のJoomlaバージョンからの思い出のファイルがあるかもしれません。確認してください この投稿 -簡単に言うと、古いlibrariesフォルダーの名前を変更し、Joomla Zipファイルから新しいフォルダーをコピーします。

それが機能しない場合は、アンインストールしてからK2を再インストールしてみてください(単に更新するのではなく)。誤解しない限り、アンインストールしてもK2はデータを削除しません。いずれにしても、そのようなことをする前にあなたのウェブサイトをバックアップすることは絶対に必要です。

2
itoctopus

管理者に見つからないヘルパー関数と3.8.1へのJoomlaの更新に言及した質問に基づいて:

サイトは3.7.xより前のバージョンから更新されますか?カスタムフィールドプラグインが導入されましたが、意図せずにFEヘルパーをロードするため、サイトで非常に面倒でした。したがって、私の最初で唯一の推測(またはトレースの解決)は次のようになります。

  1. コード全体でloadjQuery関数の存在を探します。
  2. 宣言したクラスの名前classを確認します。
  3. 同じ名前の他のクラスをチェックします。
  4. どのクラスがロードされているかをデバッグします(各ファイルの先頭にdie(__FILE__);を入れます)。
  5. debug_print_backtrace()を使用して、アプリがファイルをロードするパスを追跡し、問題の解決を試みます。
1
Alexandr