Comment afficher les options de produits configurables dans la page de la liste des catégories
-
16-10-2019 - |
Question
Comment vérifier que l'affichage des options de produits configurables dans la page de la liste des catégories?
La solution
Pour tout afficher toutes les options de vente en mesure
dans la catégorie aller à .../app/design/frontend/[package]/[theme]/template/catalog/product/list.phtml
et sa place dans foreach ($_productCollection as $_product)
quelque chose comme ceci:
<?php if($_product->isConfigurable()): ?>
//get attributes
<?php $attributes = $_product->getTypeInstance(true)->getConfigurableAttributes($_product) ?>
<?php if(count($attributes)): ?>
<ul>
<?php foreach($attributes as $att): ?>
<?php $pAtt=$att->getProductAttribute();
//get the child products
$allProducts = $_product->getTypeInstance(true)->getUsedProducts(null, $_product);
$frontValues =array() ?>
<li><?php echo $pAtt->getFrontendLabel() ?>
<ul>
<?php foreach($allProducts as $p): ?>
//check stock, status, ...
//do not show unsaleable options
<?php if(!$p->isSaleable()) continue; ?>
<?php $out=$p->getAttributeText($pAtt->getName()); ?>
<?php $frontValues[$out]=$out; ?>
<?php endforeach ?>
<li><?php echo implode('</li><li>', $frontValues) ?></li>
</ul>
</li>
<?php endforeach ?>
</ul>
<?php endif ?>
<?php endif ?>
Peut-être que vous voulez ajouter des classes CSS aux balises <ul>
et <li>
.
Ce ne sera pas augmenter les performances de votre magasin!
inspiré par ce message
http://www.magentocommerce.com/boards/viewthread/73926/#t437146
Autres conseils
Vous pouvez utiliser quelque chose comme if ($_product->getTypeId() == 'configurable')
à l'intérieur de la boucle de produits.
Cela peut prendre des ressources considérables du serveur car il peut y avoir beaucoup d'options pour chaque produit. Le meilleur moyen est d'utiliser ajax pour charger seulement toutes les options quand on a demandé. J'ai trouvé cette extension qui charge d'abord les couleurs, puis lorsque vous passez la souris dessus vous donnera toutes les options de produit.
http://www.consofas.com / plugins / options QuickView-pour-configurables-produits-en-magento /
Essayer cette fois
<?php $ptype = $_product->getTypeId();?>
<?php
if($ptype=='configurable'): ?>
<!--get attributes-->
<?php
$attributes = $_product->getTypeInstance(true)->getConfigurableAttributes($_product) ?>
<?php
if(count($attributes)): ?>
<?php
foreach($attributes as $att): ?>
<?php
$pAtt=$att->getProductAttribute();
//get the child products
$allProducts = $_product->getTypeInstance(true)->getUsedProducts($_product,null);
$frontValues =array();
foreach($allProducts as $p):
if($p->isSaleable()):
$attributeExist =$_product->getResource()->getAttribute($pAtt->getName());
?>
<input type="hidden" name="super_attribute[<?php echo $pAtt->getAttributeId() ?>]" value="<?php echo $attributeExist->getSource()->getOptionId($p->getAttributeText($pAtt->getName()));?>">
<?php
break;
endif;
endforeach;
endforeach;
endif;
?>
<?php
endif;
?>
lien suivant pourrait vous aider.
http: // hkpatel201. blogspot.in/2012/09/get-product-custom-option-in-list-page.html
Passez par le code
Merci