list.phtmlのグリッド形式と同様の方法で、任意のページにあるカテゴリの商品を出力しようとしています。
私は次のスニペットを持っています:
$category = Mage::getModel('catalog/category');
$category->load(17);
$_productCollection = $category->getProductCollection()
->addAttributeToSelect('name');
$_helper = Mage::helper('catalog/output');
それは私に製品コレクションを与え、それを繰り返します:
foreach ($_productCollection as $_product):
<!-- This works -->
<h2 class="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>
</h2>
<!-- This does not -->
<?php echo $this->getPriceHtml($_product, true) ?>
<!-- This just returns out of stock -->
<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>
<?php endif; ?>
</div>
endforeach;
一番上にある製品コレクションを取得するための呼び出しを除いて、上記のコードはlist.phtmlから借用したものです。
価格と販売可能な情報が利用できない理由を誰かに教えてもらえますか?それで、なぜアイテムが在庫切れに見えるのですか?以前は製品名が利用できなかったときに追加->addAttributeToSelect('name')
する必要がありましたが、それらの線に沿って何かを追加する必要がありますか?