gpt4 book ai didi

php - 如何检查产品是否在比较列表 magento 中

转载 作者:搜寻专家 更新时间:2023-10-31 21:16:09 26 4
gpt4 key购买 nike

您可以添加产品进行比较。如果产品尚未添加,我必须显示链接“添加到比较”,否则显示“比较”。我必须检查产品是否在比较列表中。

我有 list.phtml 文件。

我试过了,但这给出了比较列表中添加的所有产品。

$_productCollection = Mage::helper('catalog/product_compare')->getItemCollection()

我可以遍历返回的产品并可以检查该产品是否在此集合中,但我正在寻找一个调用产品 idsku 和相应地返回 truefalse

我也添加了这样的过滤器但是不起作用

$_productCollection = Mage::helper('catalog/product_compare')->getItemCollection()
->addAttributeToFilter('sku', $item->getSku());

最佳答案

尝试使用

Mage_Catalog_Model_Product_Compare_List

及其方法:

getItemCollection

像这样:

$collection = Mage::getModel('catalog/product_compare_list')->getItemCollection();
$collection->.....Additional filters go here.

为什么助手没有工作?因为集合已经加载到那里:

1.6

public function getItemCollection()
{
if (!$this->_itemCollection) {
$this->_itemCollection = Mage::getResourceModel('catalog/product_compare_item_collection')
->useProductItem(true)
->setStoreId(Mage::app()->getStore()->getId());

if (Mage::getSingleton('customer/session')->isLoggedIn()) {
$this->_itemCollection->setCustomerId(Mage::getSingleton('customer/session')->getCustomerId());
} elseif ($this->_customerId) {
$this->_itemCollection->setCustomerId($this->_customerId);
} else {
$this->_itemCollection->setVisitorId(Mage::getSingleton('log/visitor')->getId());
}

Mage::getSingleton('catalog/product_visibility')
->addVisibleInSiteFilterToCollection($this->_itemCollection);

/* Price data is added to consider item stock status using price index */
$this->_itemCollection->addPriceData();

$this->_itemCollection->addAttributeToSelect('name')
->addUrlRewrite()
->load();

/* update compare items count */
$this->_getSession()->setCatalogCompareItemsCount(count($this->_itemCollection));
}

return $this->_itemCollection;
}

因此您可以按模型加载集合并在模板或您自己的自定义帮助器 - 模型中过滤自身。

关于php - 如何检查产品是否在比较列表 magento 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8266051/

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