2010-12-08 11 views
2

Magentoの特別価格機能を使用し、CMSページに特別価格のすべての商品を表示したいと考えています。動作していますが、10個の製品に特別価格を割り当てても、9個の製品しか表示されません。それから私はページ設定について考えました。今私はグーグルが見つけたが、彼らはうまくいかなかった(おそらく私は何かを逃した)それらの提案された方法を試してみました。そういうわけで私はどこから始めるべきかの方向性を求めたいのです。これは特別価格で使用したコードです。Magento特別価格ページにページ番号を含めるにはどうすればいいですか?

<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?> 
    <div class="widget widget-new-products"> 
<div class="widget-title"> 
    <h2><?php echo $this->__('Special Product') ?></h2> 
</div> 
<div class="widget-products"> 

<?php $_columnCount = $this->getColumnCount(); ?> 
    <?php $i=0; foreach ($_products->getItems() as $_product): ?> 
    <?php if ($i++%$_columnCount==0): ?> 
    <ul class="products-grid"> 
    <?php endif ?> 
     <li class="item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>"> 
       <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image') ?>" width="195px" height="195px" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" /></a> 
       <h3 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>)"><?php echo $this->htmlEscape($_product->getName()) ?></a></h3> 

       <!-- ###### BRANDS EG. BY CHIC ON A MISSION ###### --> 
       <div class="product-brand"><?php echo $this->htmlEscape($_product->getextraline()) ?></div> 
       <?php echo $this->getReviewsSummaryHtml($_product, 'short') ?> 
       <?php echo $this->getPriceHtml($_product, true, '-widget-new-grid') ?> 

      <div class="actions"> 
       <?php if($_product->isSaleable()): ?> 
        <!-- <button type="button" title="<?php /* echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart')*/ ?></span></span></button>--> 
       <?php else: ?> 
        <!--<p class="availability out-of-stock"><span><?php // echo $this->__('Out of stock') ?></span></p>--> 
        <div class="out-of-stock-special"><img src="<?php echo $this->getSkinUrl('images/donna/soldout-overon.png') ?>" alt="uitverkocht" width="50px" /></div> 
       <?php endif; ?> 

      </div> 
      </li> 
    <?php if ($i%$_columnCount==0 || $i==count($_products)): ?> 
    </ul> 
    <?php endif ?> 
    <?php endforeach; ?> 

</div> 

それから私は、CMSコンテンツにこのコードを配置。

{{block type="catalog/product_special" template="catalog/product/special.phtml"}} 

このコードを使用してみました。 <?php echo $this->getToolbarHtml() ?>しかし、それは動作しません。私もこれを試しました。 <?php echo $this->getToolbarBlock()->setTemplate('catalog/product/list/ctoolbar.phtml')->toHtml(); ?>

また、CMSデザインでレイアウトの更新を試みました。

<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml"> 
    <block type="page/html_pager" name="product_list_toolbar_pager"/> 
</block> 
<action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action> 
<action method="setToolbarBlockName"><name>product_list_toolbar</name></action> 
</block> 
<update handle="page_three_column" /> 

これも機能しませんでした。うまくいけば、誰かが私をこの中で導くだろう。 :)

特別な製品を表示するには、この方法をあなたのブロックを作成

1)あなたはこのソリューションを試すことができます

答えて

2

...:

class Yournamespace_Mycatalog_Product_List_Specials extends Mage_Catalog_Block_Product_List{ 

    protected function _getProductCollection(){ 
    // your code here to retrieve special priced products 
    } 
} 

2)その後、テンプレートファイルカタログの更新バージョンを使用して/ product/list.phtml。 here.thatはあなたが見つかった場合の答えはそれを投稿意味:

{{block type="mycatalog/product_list_specials" template="mycatalog/product/list/specials.phtml" }} 
+0

@ChristianYoung:それはあなたのCMSが定義ブロック更新)ツールバー(mycatalog /製品/リスト/ specials.phtmlさんが言わせて)

3を含める必要があります他の人を簡単に助けてください。あなたの答えの参照リンクを追加することは良いアイデアです。 – Gowri

関連する問題