0

最初から 1 つのテンプレートを作成しようとしています。すべての準備が整ったので、利用可能なすべての製品をグリッドで表示するホームページを作成しました。だから私はレイアウトから list.phtml をレンダリングしました。list.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 // Grid Mode ?>

<?php $_collectionSize = $_productCollection->count() ?>
<?php $_columnCount = $this->getColumnCount(); ?>
<?php $i=0; foreach ($_productCollection as $_product): ?>
    <?php if ($i++%$_columnCount==0): ?>
        <ul class="products-grid">
    <?php endif ?>

            <li>
                productsample
            </li>


    <?php if ($i%$_columnCount==0 || $i==$_collectionSize): ?>
        </ul>
    <?php endif ?>

<?php endforeach ?>
</div>
<?php endif; ?>

これは製品の数、productsampleという単語を示しているので、すべての製品を適切にロードしていると思いますが、私の問題はそれらを表示する方法がわからないことです(写真、リンク、addtocart、価格、名前...)ありがとうすべてに

4

2 に答える 2

0

getdata を使用すると、次のようになります。

array(11) { ["entity_id"]=> string(1) "2" ["entity_type_id"]=> string(1) "4" ["attribute_set_id"]=> string(2) "10" ["type_id "]=> string(6) "simple" ["sku"]=> string(10) "1343918767" ["has_options"]=> string(1) "0" ["required_options"]=> string(1) "0" ["created_at"]=> string(19) "2012-08-02 14:46:29" ["updated_at"]=> string(19) "2012-08-02 17:09:43" [ "is_salable"]=> string(1) "1" ["stock_item"]=> object(Varien_Object)#336 (5) { ["_data":protected]=> 配列(1) { ["is_in_stock"]= > string(1) "1" } ["_hasDataChanges":protected]=> bool(false) ["_origData":保護]=> NULL ["_idFieldName":保護]=> NULL ["_isDeleted":保護]=> bool(false) } }

名前、価格が必要です...

私はこれを置き換えました: $_productCollection=$this->getLoadedProductCollection(); これと引き換えに: $_productCollection=Mage::getModel('catalog/product')->getCollection();

最初のものを使用すると、実際のカテゴリに製品がないことが示されるためです。

次に、デフォルトのlist.phtmのforeach内のコードをforeach内に置き換えましたが、製品が表示されません。最初の製品、その画像で停止するため、製品の img に何らかのエラーがあります。コードは次のとおりです。

コード:

<?php
//     $_productCollection=$this->getLoadedProductCollection();
$_productCollection=Mage::getModel('catalog/product')->getCollection();

$_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 // Grid Mode ?>

<?php $_collectionSize = $_productCollection->count() ?>
<?php $_columnCount = $this->getColumnCount(); ?>
<?php $i=0; foreach ($_productCollection 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() ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="135" height="135" /></a>
            <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>
            <?php if($_product->getRatingSummary()): ?>
            <?php echo $this->getReviewsSummaryHtml($_product, 'short') ?>
            <?php endif; ?>
            <?php echo $this->getPriceHtml($_product, true) ?>
            <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; ?>
                <ul class="add-to-links">
                    <?php if ($this->helper('wishlist')->isAllow()) : ?>
                        <li><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
                    <?php endif; ?>
                    <?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?>
                        <li><span class="separator">|</span> <a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li>
                    <?php endif; ?>
                </ul>
            </div>
        </li>


    <?php if ($i%$_columnCount==0 || $i==$_collectionSize): ?>
        </ul>
    <?php endif ?>

<?php endforeach ?>
</div>
<?php endif; ?>

最初の < a > 内の < li >、その img は機能していません

于 2012-08-06T15:25:02.320 に答える
0

cms ホームページを使用する場合は、このコードを入力{{block type="catalog/product_list" category_id="your cat id" template="catalog/product/list.phtml"}}して、すべての製品をこのカテゴリに割り当てます。または、list.phtml ファイル コードを直接使用して、コードの下に配置したすべての製品を一覧表示することもできます。

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

これの代わりにこのコードを入れてください$_productCollection=$this->getLoadedProductCollection();

于 2012-08-07T04:48:26.427 に答える