【问题标题】:Magento - list of products in a specific category [duplicate]Magento - 特定类别的产品列表[重复]
【发布时间】:2012-09-13 18:54:14
【问题描述】:

可能重复:
How to get products from a particular category in magento ecommerce

我想为 Magento 1.7 构建一个显示产品网格(名称、描述价格、带链接的小图像)的模板(.phtml 文件),类似于默认的“新产品”块。这是我到目前为止所拥有的......

<?php

 $category=Mage::getModel('catalog/category')->load(4);  
 $category=$category->getProductCollection();
 foreach($category->getAllIds() as $id)
{
    $product=Mage::getModel('catalog/product')->load($id);
    echo $product->getName()."<br/>";
    echo $product->getUrl()."<br/>";
    echo $product->getImageUrl()."<br/>";
    echo $product->getImageDescription()."<br/><br/>";
}

【问题讨论】:

    标签: magento grid block


    【解决方案1】:

    你的代码有几个错误,让我强调一下:

    1. $category=$category-&gt;getProductCollection(); - 这是一个非常糟糕的做法。您将产品集合分配给以前是类别的变量。在这样的代码中很容易迷失方向。请记住为您的变量使用有意义的命名约定。这个赞应该是$productCollection=$category-&gt;getProductCollection();

    2. 不是循环已有的集合,而是获取 id 数组,然后循环遍历它们,在每个循环中加载对象。这将导致内存泄漏和代码执行的大量时间。 foreach 语句应该是这样的:foreach ($productCollection as $product)

    3. 您实际上并没有在这里提出问题。你说要做网格,贴出你的代码,问题出在哪里?

    4. 如果您想创建产品网格,请查看它在 Magento 核心目录模块中是如何完成的:块 Mage_Catalog_Block_Product_List 和模板目录/product/list.phtml

    【讨论】:

    • 谢谢,我修改了代码,考虑到了你的 cmets。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    相关资源
    最近更新 更多