Bonjour brett,
Merci pour ce rapport détaillé, les deux variables sont bien des bugs et vos deux corrections sont les bonnes. La version 1.1.1 du plugin est en ligne, vous pouvez la télécharger depuis votre compte sur notre site et l'installer par-dessus l'actuelle : elle contient les trois points ci-dessous.
1. Les classes J*
Le plugin étend maintenant
\Joomla\CMS\Plugin\CMSPlugin
et toutes les autres classes J* ont été remplacées par leurs équivalents avec espace de noms. Il n'a donc plus besoin du plugin de compatibilité de Joomla pour se charger.
Le passage complet au format services/provider.php avec le code dans src/Extension n'est par contre pas prévu pour l'instant. Joomla 5 et 6 acceptent toujours les plugins au format classique, et ce format nous permet de garder un seul code qui fonctionne aussi sur les vieilles versions de Joomla, ce que le format DIC ne permet pas.
2. La variable dans le log
Confirmé,
n'existe pas dans cette fonction, c'est pour cela que le numéro de commande manque dans votre fichier de log. Corrigé en :
hikashop_writeToLog('no visitor_id in order '.$order->order_id.' for matomo purchase tracking');
3. La variable $categoryClass
Confirmé également,
n'était affecté que plus bas dans la fonction. L'affectation est maintenant faite avant l'appel, avec en plus une garde sur le résultat au cas où la catégorie n'existerait plus :
if($categoryId > 0) {
$categoryClass = hikashop_get('class.category');
$cat = $categoryClass->get($categoryId);
if(!empty($cat->category_type) && $cat->category_type == 'manufacturer')
$menu->params->set('content_type', 'manufacturer');
}