gpt4 book ai didi

Magento:按选项过滤可配置产品

转载 作者:行者123 更新时间:2023-12-02 17:05:37 25 4
gpt4 key购买 nike

我想按属性过滤一些可配置产品,这些属性用于创建该产品的更多实例(尺寸、颜色等)。这意味着这些属性不会直接分配给可配置产品,而是分配给它们的子产品。

我已经有了一个按某些属性过滤可配置产品的代码,但这些都分配给了主产品,并且子项继承了它:设计器。

$attributes_designers = $this->getRequest()->getParam('designers');   
$attributes_colors = $this->getRequest()->getParam('color');
$attributes_sizes = $this->getRequest()->getParam('size');



$currentCategory = Mage::getModel('catalog/layer')->getCurrentCategory();
$_productCollection = $currentCategory->getProductCollection();

if(count($attributes_designers)>0 and !in_array("ALL",$attributes_designers)) {
$_productCollection->addAttributeToFilter('designer',$attributes_designers);
}
if(count($attributes_colors)>0 and !in_array("ALL",$attributes_colors)) {
$_productCollection->addAttributeToFilter('color',$attributes_colors);
}
if(count($attributes_sizes)>0 and !in_array("ALL",$attributes_sizes)) {
$_productCollection->addAttributeToFilter('size_apparel_eu',$attributes_sizes);
}
if(isset($_GET['order'])) $_productCollection->setOrder($this->getRequest()->getParam('order'), $this->getRequest()->getParam('dir'));

$_productCollection->load();

这里,colorsize_apparel_eu 不起作用,因为它们没有直接分配给产品,而是分配给它们的子项。

最佳答案

如果我在这里理解正确的话...您首先需要获得如下所示的子产品:

$_product = $this->getProduct();
$_configurable_model = Mage::getModel('catalog/product_type_configurable');
$_child_products = array();
if ($_product->getTypeId() == 'configurable')
$_child_products = $_configurable_model->getUsedProducts(null, $_product);

然后你可以使用某种循环(foreach 很方便)

foreach ($_child_products as $_child_product){
$_child_product->getRequest()->getParam('designers');
}

或者但是您需要调用这些方法来获取子产品信息。

我希望这对您有帮助且相关!

关于Magento:按选项过滤可配置产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3755908/

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