Bon, après m'êtres remis un peu dans le bain, j'ai peut être coder une solution. En tout cas cela fonctionne. Si quelqu'un pouvait me confirmer que ce bout de code est bien correct, et s'il correspond à la bonne pratique...
Le principe que j'ai utilisé est une redirection vers la page du seul produit détecté grâce à son attribut "link" et si je me trouve dans une sous catégorie (2ème niveau ou plus)
Dans la fonction assignProductList() du contrôleur de categorie "CategoryController.php"
// If only one product in Sub Category, redirect to the product page
if (($this->nbProducts == 1) && ($this->category->level_depth > 2)){
if (isset ($this->cat_products[0]["link"]) && $this->cat_products[0]["link"] != ""){
header('Location:'.$this->cat_products[0]["link"]);
}
}
J'espère que j'aurai aidé quelques personnes...
Evidemment ensuite, il faut faire un override de la classe en ajoutant à la méthode ces lignes de codes pour permettre la mise à jour de votre prestashop dans le futur sans perdre cette modification...