私は、このサイトの人々の助けと Christian Young @ http://workingmagento.blogspot.ca/の素敵な記事を参考にして、単一のカテゴリの製品リストを生成する magento テンプレート モジュールを作成しました。
唯一の問題は、href URL が適切にレンダリングされないことです。
URL は次のようになります。
<button class="button btn-cart" onclick="setLocation('http://shop.com/en/checkout/cart/add?product=&qty=1')" type="button">
URL は次のようになります。
<button class="button btn-cart" type="button" onclick="setLocation('http://mshop.com/en/checkout/cart/add/uenc/aHR0cDovL3Nob3Btc2N0ZXN0LmNvbS9lbi9tb2JpbGU4MjAwLmh0bWw,/product/12/')">
コードは次のとおりです。
$productCollection = Mage::getModel('catalog/category')->load(4)
->getProductCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('status', 1)
->addAttributeToFilter('visibility', 4)
->setOrder('price', 'ASC');
?>
<div class='block block-list'>
<div class='block-title'><strong><span><?php echo $this->__('SPECIALS') ?></span></strong></div>
<div class='block-content'>
<ul>
<h2><?php echo $this->__( $this->getLabel() ); ?></h2>
<?php foreach ($productCollection as $product): ?>
<div class="item">
<a class="product-image" href="<?php echo $product->getProductUrl() ?>">
<img src="<?php echo $this->helper('catalog/image')->init($product, 'small_image')->resize(150); ?>" alt="<?php echo $this->htmlEscape($this->getImageLabel($product, 'small_image')) ?>" />
</a>
<a class="product-name" href="<?php echo $product->getProductUrl() ?>"><?php echo $this->htmlEscape($product->getName()) ?></a>
<?php echo $this->getPriceHtml($product, true) ?>
</div>
<div class="cms-price-box" style=" text-align:center;"></div>
<div class="button-row" style="text-align:center;">
<button class="button btn-cart" type="button" onclick="setLocation('<?php echo $this->getUrl('')."checkout/cart/add?product=".$this->getId()."&qty=1" ?>')" class="button"><span><?php echo $this->__('Add to Cart') ?></span></button>
</div>
<br/><br/>
<?php endforeach ?>
</ul>
</div>
</div>