Jump to content

Problème TM Categories Prestashop 1.5


RobyNaish

Recommended Posts

Bonjour,

 

Je viens d'installer prestashop 1.5 avec le theme spice shop, j'ai un problème concernant le plugin TM Catégories, il est bien activé mais n'affiche aucune des catégories:

 

Voila le résultat dans le code

<!-- /Block user information module HEADER --><!-- TM Categories -->
<script type="text/javascript" src="/shop/modules/tmcategories/superfish.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('ul.sf-menu').superfish({
delay: 1000,
animation: {opacity:'show',height:'show'},
speed: 'fast',
autoArrows: false,
dropShadows: false
});
});
</script>
<div id="tmcategories">
<ul id="cat" class="sf-menu">
 </ul>
</div>
<!-- /TM Categories -->

 

Auriez vous une idée du problème?

Link to comment
Share on other sites

  • 4 weeks later...

Bonjour,

 

J'ai le même problème. Avez-vous pu le régler?

 

Voilà l'état de mes recherches:

C'est dans la balise <ul> que devrait se trouver les nœuds des catégories. Cela se réalise dans le fichier tmcategories.tpl, un foreach boucle sur toutes les catégories qui sont mises en forme par le fichier category-tree-branch.tpl. Pour réaliser cette boucle, dans tmcategories.php, on a un array $blockCategTree contenant toutes les catégories. L'array permettant la boucle semble être correct dans tmcategories.php, de même que la boucle des catégories dans tmcategories.tpl, et pareil pour la génération des nœuds des catégories dans category-tree-branch.tpl...

 

Tout conseil est le bienvenu!

Link to comment
Share on other sites

Bonjour,

 

J'ai corrigé mon problème, le template est bien fonctionnel qu'avec la version de prestashop 1.4.7 donc j'ai réinstallé cette version.

De plus dans le Top of pages, dans le positionnement des modules j'ai changé la place du recherche rapide et les catégories sont apparu comme par magie.

Link to comment
Share on other sites

J'ai fini par trouvé où se cachait l'erreur:

Dans la classe TMCategories du fichier tmcategories.php, la méthode hookTop appelle un moment donné la méthode getTree. Cette dernière attend en 4ème paramètre l'ID de la catégorie. Si il n'est pas défini, getTree initialise l'ID de la catégorie à 1. Toujours dans getTree, une condition regarde si l'ID de la catégorie existe. Et il n'existe pas de catégorie ayant un ID à 1. La première catégorie exploitable est la catégorie Accueil qui a un ID de 2. Cette condition fait un return false s'il n'existe pas de ID, d'où le menu vide.

Pour y remédier, j'ai changé la valeur d'initialisation du 4ème paramètre de la méthode getTree à 2. Comme ça:

 

public function getTree($resultParents, $resultIds, $maxDepth, $id_category = 2, $currentDepth = 0)

  • Like 1
Link to comment
Share on other sites

Une meilleure solution que celle ci-dessus est celle-ci:

Initialiser le 4ème paramètre à NULL

public function getTree($resultParents, $resultIds, $maxDepth, $id_category = NULL, $currentDepth = 0)

Puis, en début de méthode getTree, vérifier si l'ID est NULL, si oui, récupérer la première catégorie du shop:

if (is_null($id_category))
  $id_category = $this->context->shop->getCategory();

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...