web-dev-qa-db-fra.com

Vue K2 Item - Appel de la méthode non définie K2HelperHTML :: loadjQuery ()

mon client a mis à jour la dernière version de Joomla: 3.8.1 et K2 à 2.8.0. Frontend et Backend fonctionnent, mais il n'est pas possible de modifier un élément k2 ou une catégorie k2. La vue liste fonctionne, mais pas la vue modification.

Voici une trace de pile:

enter image description here

Des idées?

[~ # ~] met à jour [~ # ~]

Suivez l’idée donnée ci-dessous, je pourrais constater que la cause de l’erreur provient d’un plug-in k2 personnalisé que j’ai écrit pour ce client. Dans le xml manifest fichier de ce plugin ces champs définis causent le problème

<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="…"/>

Si je commente ces champs, aucune erreur ne se produit, mais le plugin ne peut pas fonctionner comme prévu.

2
philipp

"items.php" n'existe plus dans K2 (à partir de la version 2.8.0). Je pense que vous avez un problème dans votre dossier libraries à cause de la mise à jour de Joomla. Il se peut que vous ayez des fichiers réminiscents d’une version précédente de Joomla. Veuillez vérifier cet article - en bref, renommez votre ancien dossier libraries et copiez-en un nouveau à partir d'un fichier Zip Joomla.

Si cela ne fonctionne pas, essayez de désinstaller puis de réinstaller K2 (au lieu de simplement mettre à jour). Si je ne me trompe pas, K2 ne supprime pas ses données lors de la désinstallation. Dans tous les cas, il est indispensable de sauvegarder votre site Web avant de procéder.

2
itoctopus

Sur la base de la question mentionne la fonction d'aide non trouvée dans l'admin et la mise à jour de Joomla vers 3.8.1:

La mise à jour du site à partir de versions antérieures à 3.7.x? Cela a introduit le plugin Custom Fields qui a été une vraie galère dans le site car il charge des aides FE sans votre intention. Donc, ma première et unique hypothèse (ou trace de résolution) serait:

  1. rechercher l'existence de la fonction loadjQuery dans tout le code;
  2. check class nom de la classe à laquelle il a déclaré;
  3. vérifier d'autres classes du même nom;
  4. déboguer laquelle de ces classes est chargée (mettez die(__FILE__); au début de chacun de ces fichiers);
  5. utilisez debug_print_backtrace() pour suivre le chemin de l'application qui charge le fichier et essayez de surmonter le problème.
1
Alexandr