Je pense que le mieux serait quand même de mettre les catégorie.
Sinon le code que tu as mis devrait marcher si tu retourne sur la page d'accueil.
Cependant, dans mon cas je n'ai pas besoin de mes catégories sur ma fiche produit donc je n'ai pas trouvé où est-ce que le produit est récupéré, je ne peux que te donner des pistes.
Tout d'abord il faut trouver le controller / hook / ... qui assigne ton produit, il faut donc mettre des "die;" un peu partout (dans des controllers cohérents) et voir quand est-ce qu'ils sont pris en compte.
Après il faut faire le chemin des données jusqu'à ce que tu arrives à un "getProducts()" normalement.
Si dans ce "getProducts()" ton "die;" fonctionne alors, si ton fichier est surchargeable, on le surcharge sinon on modifie directement cette fonction ou une suivante en notant les modifications en cas de mise à jour.
Dans tout les cas tu y ajouteras un code de ce style :
foreach ($this->products as &$product){
$categoriesList = \Product::getProductCategories($product['id_product']);
$product['categories'] = ( \Category::getCategoryInformation($categoriesList));
}
return $this->products;
Pour les autres pages, comme dis précédemment, le fichier ProductSearchResult.php devrait marcher sur quelques-unes minnimum.
Ne pas oublier de faire un "$product->update();" au besoin