【问题标题】:Magento: Proper way to iterate over a Varien Object collectionMagento:迭代 Varien 对象集合的正确方法
【发布时间】:2013-01-24 22:54:35
【问题描述】:

如果我要创建一个collection,它将使用给定的ID 检索属于category 的所有products,如下所示:

    $storeId    = Mage::app()->getStore()->getId();  
    $product    = Mage::getModel('catalog/product');  
    $category   = Mage::getModel('catalog/category')->load(39);
    $catName    = $category->getName();

    $visibility = array(  
        Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,  
        Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG  
    );  

    $products = $product->setStoreId($storeId)  
        ->getCollection()  
        ->addAttributeToFilter('visibility', $visibility)  
        ->addCategoryFilter($category)  
        ->addAttributeToSelect(array('name'), 'inner')
        ->setOrder('name', 'asc')
    ;  

    $collection = $products;  

然后我将如何迭代集合并访问每个项目的数据,在这种情况下,项目是一个产品。

我本来希望像下面这样的东西给我每个项目可用的数据,但似乎不起作用:

    foreach ($collection as $key => $value) {
        var_dump($value->getData());
    }

【问题讨论】:

    标签: magento object collections magento-1.7


    【解决方案1】:

    你已经接近了。尝试做

    foreach ($collection as $obj) {
            echo $obj->getName();
    }
    

    【讨论】:

    • 谢谢,原来我没有重新索引类别表,我上面的代码确实有效......
    猜你喜欢
    • 1970-01-01
    • 2017-04-18
    • 2013-07-12
    • 2014-11-10
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    相关资源
    最近更新 更多