Как отобразить настраиваемые параметры продукта на странице списка категорий

magento.stackexchange https://magento.stackexchange.com/questions/1601

  •  16-10-2019
  •  | 
  •  

Вопрос

Как проверить отображение настраиваемых параметров продукта на странице списка категорий?

Это было полезно?

Решение

Чтобы просто отобразить все варианты возможности продажи в категории. .../app/design/frontend/[package]/[theme]/template/catalog/product/list.phtml и место внутри foreach ($_productCollection as $_product) что-то вроде этого:

<?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 ?>

Возможно, вам нравится добавлять несколько классов CSS в <ul> а также <li> теги.

Это не увеличит производительность вашего магазина!

Вдохновлен этим постом

http://www.magentocommerce.com/boards/viewthread/73926/#t437146

Другие советы

Вы можете использовать что -то вроде if ($_product->getTypeId() == 'configurable') Внутри ваших продуктов.

Это может занять значительные ресурсы сервера, так как для каждого продукта может быть много вариантов. Лучший способ - использовать Ajax, чтобы загрузить все варианты только при просьбе. Я нашел это расширение, которое сначала загрузит цвета, тогда, когда вы мышитесь на его мышлениях, даст вам все варианты продукта.

http://www.consofas.com/plugins/options-quickview-for-configigure-products-in-magento/

Попробуйте это один раз

<?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;
                                                ?>

Следующая ссылка может вам помочь.

http://hkpatel201.blogspot.in/2012/09/get-product-custom-option-in-list-page.html

Пройти через код

Спасибо

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top