2014-11-28 3 views
0

У меня есть проблема с продуктами на домашней странице. более точно, если я использую этот код:magento - как отобразить только одну категорию продуктов на главной странице

$_productCollection=$this->getLoadedProductCollection();  

Я получаю сообщение «Там нет товаров, соответствующих вашему выбору.»

, но если я заменить код выше с этим:

$_productCollection = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*')->addAttributeToFilter('visibility', 4)->addAttributeToFilter('status', 1)->load();  

Я тогда отображает все продукты в каталоге, даже если я указал на домашней странице, таким образом, к какой категории видеть больше:

{{block type="catalog/product_list" category_id="24" template="catalog/product/list-home.phtml"}}  

как я могу это исправить?

P.S. У меня такая же проблема, когда я выбираю категорию продукта из панели навигации.

Заранее благодарим за помощь.

**** EDIT ****

код, который я использую в домашней страницы CMS является:

{{block type="catalog/product_list" category_id="24" template="catalog/product/list-home.phtml"}}  

код, который используется файл-список home.phtml это:

<?php  
$_productCollection=$this->getLoadedProductCollection();  
$_helper = $this->helper('catalog/output');?> 
<?php if(!$_productCollection->count()): ?> 
<p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p> 
<?php else: ?> 
<div class="category-products"> 
<?php $_collectionSize = $_productCollection->count() ?> 
<?php $_columnCount = $this->getColumnCount();?> 
<ul class="products-grid row"> 
<?php $i=0; foreach ($_productCollection as $_product): ?> 
<?php /* if ($i++%$_columnCount==0): ?> 
<ul class="products-grid row"> 
<?php endif */ ?> 
<li class="item<?php if(($i-1)%$_columnCount==0): ?> first 
<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?> col-sm-4 col-xs-6"> 
<div class="item-container img-thumbnail"> 
<div class="item-flipper"> 
<div class="item-front"> 
<!-- front content --> 
<a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(250,310); ?>" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="img-responsive" /></a> 
</div> 
<div class="item-back"> 
<!-- back content --> 
<div class="book-info"> 
<div class="h4"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></a></div> 
<div class="short-description"><?php echo $_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description') ?></div> 
</div> 
<p><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>" class="btn btn-block btn-success"><?php echo $this->__('Book Details')></a></p> 
</div> 
</div> 
</div> 
<h3 class="panel-title product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></a></h3> 
<div class="pull-left"> <?php echo $this->getPriceHtml($_product, true) ?> </div> 
<div class="pull-right"> 
<?php if($_product->isSaleable()): ?> 
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="btn btn-warning btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><?php echo $this->__('Add to Cart') ?></button> 
<?php else: ?> 
<p class="btn btn-alert availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p> 
<?php endif; ?> 
</div> 
</li> 
<?php if ($i==6) break; ?> 
<?php /* if ($i%$_columnCount==0 || $i==$_collectionSize): ?> 
</ul> 
<?php endif */ ?> 
<?php endforeach ?></ul> 
</div> 
<?php endif; ?>  

с кодом выше, я не вижу никакого продукта. Если я заменю код, который я сказал в начале, то я могу видеть все продукты, но я хотел бы отображать только те, которые относятся к категории, указанной в коде домашней страницы.

Я не могу понять, где я ошибаюсь.

+0

Я попытался сделать поправку что я предложил, но результат не меняется. – fr4nc3

+0

Я поменю начальный пост с дополнительной информацией, потому что понял, что я не объяснил хорошо – fr4nc3

ответ

0

Вы можете использовать этот код

{{block type="catalog/product_list" name="catalog.product.list" alias="products_homepage" category_id="5" template="catalog/product/list.phtml"}} 
0

Мы можем установить это легко собирается Admin panel > CMS > Home, и добавьте следующий код в нем.

{{block type="catalog/product_list" category_id="1" template="catalog/product/list.phtml"}} 

Где category_id = 1 является категория вы хотите отобразить на домашней странице. Вы можете получить идентификатор категории из категории в администраторе Magento.

Надеюсь, это поможет.

0

Попробуйте задать страницу категории Стартовый .., Перейти к Admin System->Configuration->Web->Default pages(tab)->Default web url В этой области дает категорию Id страницы, которую вы хотите, чтобы отобразить его на домашней странице, как catalog/category/view/**id**

Смежные вопросы