2017-07-06 4 views
0

J'essaie d'obtenir la combinaison de produits disponibles (taille) dans la page de liste de produits sur chaque produit. Fondamentalement, il ya une image, le nom du produit, combinaisons disponibles, prix, acheter bouton.Affichage de combinaison de produits Prestashop sur la liste de produits

J'ai essayé de sortir l'objet produit $, mais il n'y a pas de variable de combinaison.

Y a-t-il un moyen d'y parvenir?

Répondre

2

Il y a la fonction assignAttributesGroups() dans le ProductController.php d'où vous pouvez obtenir le code pour la combinaison de taille.

protected function assignAttributesGroups() 
{ 
... 
... 
... 
$this->context->smarty->assign(array(
      'groups' => $groups, 
      'colors' => (count($colors)) ? $colors : false, 
      'combinations' => $combinations, 
      'combinationImages' => $combination_images 
     )); 
} 

Si vous imprimez la valeur de groups vous obtiendrez la sortie désirée. Les combinaisons ont été organisées pour montrer dans la liste déroulante product.tpl (/PRESTASHOP_FOLDER/themes/default-bootstrap/product.tpl) comme indiqué dans l'image enter image description here

Vous pouvez prendre un code de la fonction mentionnée ci-dessus et l'exécuter pour chaque produit la liste. Vous devez créer un objet produit et recevoir une combinaison à travers celui-ci. Et créez une liste déroulante pour la même chose.

+0

oui, mais je veux obtenir des combinaisons pour apparaître sur category.tpl. Où il sort tous les produits dans la catégorie. Sur la carte de produit pour montrer tous disponibles pour acheter des combinaisons. Donc, je suppose qu'il doit faire quelque chose avec contrôleur de catégorie – osiic21

+0

Oui, vous devez écrire le code dans la catégorie contrôleur. Il suffit de lire la fonction en profondeur et essayez d'utiliser un tel code pour que votre fonction récupère la combinaison. Une fois que toute la combinaison est récupérée, vous pouvez l'utiliser. S'il vous plaît noter que dans le contrôleur de produit toutes les combinaisons sont récupérées pour ce produit particulier qui est ouvert sur le navigateur et pour lequel le contrôleur de produit a couru si '$ this-> product' utilisé mais pour montrer sur la page de catégorie vous devez créer un objet de Product. – Nimish