3

在 magento 中,我想在我的主页上展示新产品。为此,我搜索了许多博客和论坛。从他们所有人那里我得到了通过使用

{{block type="catalog/product_new" block_id="new.products" template="catalog/product/new.phtml"}}

在 CMS -> 主页内容中,我将获得新产品。但我仍然没有得到任何产品。我还尝试更改活动日期。但它没有显示任何产品。那么有人可以告诉我这里有什么问题吗?任何帮助和建议都将是非常可观的。谢谢

4

5 回答 5

11

catalog/product_new块的默认 Magento 实现中,规则是:

  • 产品应该在目录中可见

  • 产品应该同时具有news_from_datenews_to_date属性设置为某些值

  • 属性 news_from_date工作到今天的日期结束 (23:59:59) 并且属性news_to_date从今天的日期开始 (00:00:00) 工作

当至少有一种产品满足该要求时,该块将被渲染。刷新缓存和重新索引数据也会有所帮助。

于 2013-05-03T07:01:58.280 回答
2

以防万一你在这里结束,还有另一个简单的修复方法可以尝试:

系统 -> 索引管理

并选择它们(即使它们指示“绿色,不需要重新索引”并强制它们重新索引。

这解决了我的空 getSize() 问题,这反过来又允许 Special 和 New 数据库请求找到产品,满足“if”条件并正确呈现。

于 2016-03-20T23:03:07.170 回答
0

我遇到了这个问题,并与为我控制它的代理人交谈并解决了这个问题,因为解释它没有帮助。您需要将所有导航类别放入最高根类别(因此所有类别看起来都像您无法删除的第一个根的子类别。它们不能是或源自任何并行根类别。然后刷新您的索引和类别项目将出现在导航菜单中。

于 2013-10-04T14:09:11.870 回答
0

尝试在 cms->page->design tab->Layout Update XML 中编写以下代码

<reference name="content">
        <block type="catalog/product_list" name="featured" template="catalog/product/new.phtml">
        </block>
    </reference>

您必须在“app\design\frontend\default\default\template\catalog\product”中添加 new.phtml 文件

在 new.phtml 文件中写入以下代码

<?php

/******************

        //Recently Added Products

    ************************/
$_helper = $this->helper('catalog/output');
$_productCollection = Mage::getResourceModel('reports/product_collection')
                    ->addAttributeToSelect('*')
                    ->setVisibility(array(2,3,4))                   
                    ->setOrder('created_at', 'desc');

?>


    <div style="clear: both;"></div>

    <div id="block">
        <div class="text">Recently Added Products
            <a href="<?php echo $this->getUrl("recent_added"); ?>" class="link"> View more &#187; </a>
        </div>
    </div>

    <?php foreach($_productCollection as $_product) : ?>
        <div class="grid">

            <div class="imgholder" >
                    <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(135); ?>" width="135" height="135" 
                    alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>
            </div>

            <strong><a href="<?php echo $_product->getProductUrl(); ?>" style="color:#039;"><?php echo $_product->getName(); ?></a></strong>

            <p><?php echo $_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description') ?></p>

            <div class="price">
             <?php echo $this->getPriceHtml($_product, true) ?>
            </div>

        </div>

    <?php endforeach; ?>
于 2013-05-03T06:52:57.880 回答
0

您也可以使用 Widget 显示它。我的意思是在 CMS 主页中添加小部件。

于 2013-05-03T10:54:34.707 回答