Strona główna forum Wsparcie Konfiguracja Produkty konfigurowalne w bestsellerach

Produkty konfigurowalne w bestsellerach

Wszystko o konfiguracji, możliwościach i ustawieniach...


Posty: 28
Gadu-Gadu: 0

Opis problemu:

W bloku na stronie głównej z bestsellerami oraz na stronie bestsellerów wyświetlają się jedynie produkty proste.
Problem polega na tym, że w sklepie większość produktów jest konfigurowalna a one niestety nie wyświetlają się ani w bloku strony głównej ani w dedykowanej bestsellerom stronie.
Chcę wyświetlić w bloku strony głównej produkty konfigurowalne, a nie przynależące do niego produkty proste, oprócz tego chcę by wyświetlały się również produkty proste.

Kod bloku bestselerów na SG (korzystam tu z helpera, na stronie dedykowanej bestsellerom również korzystam z helpera więc jest analogiczna - no trochę inny układ divów etc ale to nie jest istotne):

<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
<!--BESTSELLERS-->
<div class="container">
<h2><?php echo $this->__('BESTSELLERS') ?></h2>
<div class="carousel es-carousel-wrapper style0">
<div class="es-carousel">
<div class="row">
<div class="product_outer">

<?php foreach ($_products->getItems() as $_product): ?>
    <?php
    $widthBig=258;
    $heightBig=245;
    $widthSmall=71;
    $heightSmall=65;
    ?>
    <!--PRODUCT-->


    <!--PRODUCT EOF-->


<!--PRODUCT-->
    <?php  echo Mage::helper('shopconf')->getProductHtml($_product,$this,$widthBig,$heightBig,3)?>
    <?php echo Mage::helper('shopconf')->getProductHover($_product,$this,$widthBig,$heightBig,$widthSmall,$heightSmall)?>
<!--PRODUCT EOF-->


<?php endforeach ?>
</div>
</div>
</div>
</div>
</div>
<!--BESTSELLERS EOF-->
<script type="text/javascript">
    jQuery(function(){
        jQuery('.carousel.style0').elastislide({
            easing: 'easeInOutQuad',
            speed: 800,

        });

    })
</script>
<?php endif; ?>


Kod helpera:

    public function countBestsellers()
    {
        $storeId = Mage::app()->getStore()->getId();

        $products = Mage::getResourceModel('reports/product_collection')
            ->addOrderedQty()
        //->addAttributeToSelect('*')
            ->addAttributeToSelect(array('name', 'price', 'small_image', 'short_description', 'description')) //edit to suit tastes
            ->addAttributeToFilter('status', 1)
            ->setStoreId($storeId)
            ->addStoreFilter($storeId)
            ->setOrder('ordered_qty', 'desc'); //best sellers on top

        Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products);
        Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products);

        return count($products);
    }


Będę wdzięczny za wszelką pomoc - znalazłem kilka topic-ów na magentocommerce ale niestety nie są one dla mnie zrozumiałe.

Np coś takiego znalazłem, ale za nic nie wiem jak z tego skorzystać. Próby kończą się wysypaniem kodu:
<?php
$storeId = Mage::app()->getStore()->getId();
$_productCollection = Mage::getResourceModel('reports/product_collection')
                              ->addAttributeToSelect('*')
                              ->addOrderedQty();
?>
<?php foreach($_productCollection as $product): ?>
  <?php $parents = $product->loadParentProductIds()->getParentProductIds();?>
  <?php if(!isset($downloads[$parents[0]]))$downloads[$parents[0]]=0 ?>
  <?php $downloads[$parents[0]] += (int)$product->ordered_qty;?>
<?php endforeach; ?>



<?php foreach($downloads as $id=>$count): ?>
  <?php $_product = Mage::getModel('catalog/product')->load($id) ?>
  ...
  //now, $_product is configurable product which children have been ordered $count times


Produkty konfigurowalne w bestsellerach

PostTeraz jest 23 lis 2024, o 18:15
Google

Posty: 427
Lokalizacja: Internet

Powrót do Konfiguracja



cron