gpt4 book ai didi

php - 在 Magento 中正确使用 addAttributeToFilter

转载 作者:可可西里 更新时间:2023-11-01 00:46:37 26 4
gpt4 key购买 nike

我在使用“addAttributeToFilter”过滤具有客户属性的产品集合时遇到问题。我有一个带有"is"和“否”选项的下拉菜单属性,我只想显示属性设置为"is"的产品列表。我目前正在使用:

public function getReleasesCollection()
{<br/>
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToFilter('preorder', array ('eq' => 1))
->addAttributeToSelect('name')
->addAttributeToSelect('releasedate');

但是,这不会返回任何产品。

我也尝试过使用:

->addAttributeToFilter('manufacturer', 1);

->addAttributeToFilter('manufacturer', '1');

->addAttributeToFilter('manufacturer', 'Yes);

->addAttributeToFilter('manufacturer', array('eq' => '1'));

->addAttributeToFilter('manufacturer', array('eq' => 'Yes'));

我可以按名称、sku、描述等任何其他属性进行过滤,但无法使用我的自定义属性进行过滤。

有什么指点吗?

最佳答案

<?php 

class LSC_ReleaseCalendar_Block_Calendar extends Mage_Core_Block_Template
{
public function getReleasesCollection()
{
$preorderAttribute = 'preorder';
$preorderValue = 'yes';
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('*')
->addFieldToFilter(
$preorderAttribute,
array(
'eq' => Mage::getResourceModel('catalog/product')
->getAttribute($preorderAttribute)
->getSource()
->getOptionId($preorderValue)
)
);
foreach ($products as $product) {
echo $product->getName();
echo $product->getReleaseDate();
}
}

}

gist link

关于php - 在 Magento 中正确使用 addAttributeToFilter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16968501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com