Jump to content

lister catégorie et sous catégorie


Recommended Posts

Bonjour

 

Debutant dans prestashop, j'aimerais lister les catégories avec les sous catégories comme ci-dessous :

 

categorie A

- sous catégorie A

- sous catégorie A

 

Categorie B

- sous catégorie B

- sous catégorie B

 

 

Mais chez moi les catégories apparaissent comme ceci :

 

categorie A

- sous catégorie A

- sous catégorie A

- sous catégorie B

- sous catégorie B

 

 

Categorie B

- sous catégorie A

- sous catégorie A

- sous catégorie B

- sous catégorie B

 

Voici mon code dans le fichier php :

//choisir la langue
$id_lang = (int)($params['cookie']->id_lang);

//requete sql pour afficher le nom des categories
$sql1 = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT `'._DB_PREFIX_.'category`.id_category, name
FROM `'._DB_PREFIX_.'category_lang`, `'._DB_PREFIX_.'category`
WHERE `'._DB_PREFIX_.'category_lang`.id_category = `'._DB_PREFIX_.'category`.id_category
AND level_depth in (1, 2)
AND active = 1
AND id_lang= '.$id_lang.'');

//resultat de la requete
foreach ($sql1 as $row1)
{
  $nomcategorie[] = $row1['name'];

  //requete sql pour afficher le nom des sous categories
  $sql2 = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
  SELECT name
  FROM `'._DB_PREFIX_.'category_lang`, `'._DB_PREFIX_.'category`
  WHERE `'._DB_PREFIX_.'category_lang`.id_category = `'._DB_PREFIX_.'category`.id_category
  AND level_depth = 3
  AND id_lang= '.$id_lang.'
  AND active = 1
  AND id_parent = '.$row1['id_category'].'');

  foreach ($sql2 as $row2)
  {
    $nomsouscategorie[] = $row2['name'];
  }
}

$smarty->assign(array(
'lenomcategorie' => $nomcategorie,
'lenomsouscategorie' => $nomsouscategorie,
));

return $this->display(__FILE__, 'categorie.tpl');

 

 

et le code dans le fichier tpl :

{foreach from=$lenomcategorie item=afficherlenomcategorie}

 {$afficherlenomcategorie}<br>

 {foreach from=$lenomsouscategorie item=afficherlenomsouscategorie}
  {$afficherlenomsouscategorie}
 {/foreach}

{/foreach}

 

 

Merci pour votre aide

Edited by imaginationweb (see edit history)
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...