Magento 1.8.1 - 块类型=“catalog / product_list”未显示在产品页面上

时间:2014-02-03 01:32:31

标签: magento magento-1.8

我正在处理我正在处理的Magento网站上的产品页面。

我在静态块中使用以下代码在标题部分显示产品:

{{block type="catalog/product_list" category_id="4" template="catalog/product/custom_list.phtml"}}  

问题是,除“产品”页面外,该块在所有页面上都显示正常。我在这里错过了什么吗?

希望你们能帮帮我。

custom_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="cat-product-list">
        <ul class="products-grid">
            <?php foreach ($_productCollection as $_product): ?>
                <li class="item">
                    <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(90,60)->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(TRUE); ?>" width="90" height="60" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>
                </li>
            <?php endforeach ?>
        </ul>
    </div>
<?php endif; ?>

2 个答案:

答案 0 :(得分:1)

事实证明,除非类别(category_id="4")与您正在查看的产品类别相同,否则产品不会显示在产品页面上。发现了 在List.php

if (Mage::registry('product')) {
                $categories = Mage::registry('product')->getCategoryCollection()
                    ->setPage(1, 1)
                    ->load();
                if ($categories->count()) {
                    $this->setCategoryId(current($categories->getIterator()));
                }
            }

我添加了List.php文件的本地副本,并根据我的需要对其进行了修改。 现在工作正常。

答案 1 :(得分:0)

查看您的代码

{{block type="catalog/product_list" category_id="4" template="catalog/product/custom_list.phtml"}}  

您似乎正在使用非库存模板文件来呈现块。 (catalog/product/custom_list.phtml)。如果我自己调试这个问题,我首先要查看该模板中的逻辑,并弄清楚它为什么没有在产品页面上显示集合。