我有一个产品的两个自定义选项。颜色和大小都是下拉列表。在产品详细信息页面中,我必须显示该产品的所有可用颜色。
我尝试了以下代码,但它确实有效。但它返回颜色和大小的所有值。但我只需要颜色值。那就是我想按颜色选择自定义选项。
$_product = $block->getProduct();
foreach($_product->getOptions() as $o){
foreach($o->getValues() as $value){
print_r($value->getData());
}
}
答案 0 :(得分:2)
我不知道你是否仍然需要它,但我找到了解决方案。
foreach($product->getProductOptionsCollection() as $o){
foreach($o->getValues() as $ov){
// do whatever you want to it;
var_dump($ov->getData());
}
}
转储将返回类似这样的内容,没有所有NULL(这是导入的产品)
array(13) {
["option_type_id"]=>
string(5) "23122"
["option_id"]=>
string(4) "6045"
["sku"]=>
string(1) "2"
["sort_order"]=>
string(1) "2"
["default_title"]=>
string(33) "Test Option"
["store_title"]=>
NULL
["title"]=>
string(33) "Test Option"
["default_price"]=>
NULL
["default_price_type"]=>
NULL
["store_price"]=>
NULL
["store_price_type"]=>
NULL
["price"]=>
NULL
["price_type"]=>
NULL
}