【问题标题】:Magento: Difference between loading product through collection than product modelMagento:通过集合加载产品与产品模型之间的区别
【发布时间】:2011-04-22 12:50:58
【问题描述】:

所以我们试图通过具有特定标准的集合加载产品,我们没有 sku 或 id,所以当我们执行以下操作时

 $prodModel->getCollection()
        ->addAttributeToFilter('visibility', $visibility)
        ->addAttributeToSelect('*')
        ->addCategoryFilter($cat)
        ->addAttributeToFilter('attribute_1', $sattribute_1)
        ->addAttributeToFilter('attribute_2', $attribute_2)
        ->addAttributeToFilter('type_id', 'configurable')
        ->load()
        ->getFirstItem()

执行此操作时,我们得到了我们想要的产品,但由于某种原因它没有所有属性,即使我们为所有属性指定了“*”。具体来说,我们没有得到的是媒体库属性。我们最终做的是说 getFirstItem()->getId() 然后加载产品并找到它。

我只是不明白用目录产品模型加载产品会有更多属性。

【问题讨论】:

  • 我不知道你的问题的答案,但我可以确认 Magento 一直都是这样。有必要对单个产品执行load()。我从未见过'*' 属性选择器,您在 Mage 代码库中看到过吗,或者您正在尝试什么?
  • 我们一直在使用它,我在很多人的例子中看到它加载集合时。我什至可以尝试加载媒体库属性,但它仍然不会,我假设我必须加入?但这就是为什么我想知道以这种方式通过集合获取产品与仅加载它之间的区别

标签: magento attributes


【解决方案1】:

我知道您实际上询问了如何获取所有属性,但我注意到您还特别提到了媒体库属性。 恰好有一个获取产品图片最终 URL 的快捷方式。

(string)Mage::helper('catalog/image')->init($product, 'media_gallery');

转换为字符串调用__toString 执行聪明。您还可以在初始化后立即应用调整大小、旋转、水印等。

【讨论】:

    猜你喜欢
    • 2013-02-12
    • 2012-06-11
    • 1970-01-01
    • 2014-09-19
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多