Intereting Posts

Magento Если у продукта есть атрибут, получите его идентификатор

Мне нужно получить идентификатор продукта для продукта с атрибутом с определенным значением.

Вот что я до сих пор:

$found = false; foreach ($_productCollection as $_product) { $attribute = $_product->getResource()->getAttribute('attribute'); $id = $_product->getId(); if ($attribute = NULL) { // Do Nothing } if ($attribute = "value1") { echo $attribute . "<br>"; $value1 = $id; } if ($attribute = "value2") { echo $attribute . "<br>"; $value2 = $id; } if ($attribute = "value3") { echo $attribute . "<br>"; $value3 = $id; } if ($value1 && $value2 && $value3) { $found = true; echo "All IDs Found" ."<br>"; } if ($found = true) { break; } } echo "Value 1 ID = " . $value1 ."<br>". "Value 2 ID = " . $value2 ."<br>". "Value 3 ID = " . $value3; 

В основном это работает, он правильно проверяет продукты и может получать значения атрибутов для каждого продукта. Но он показывает идентификатор для первого продукта в категории, для каждого продукта независимо от того, какой атрибут у них есть.

Как это:

 value1 value2 value3 All IDs Found Value 1 ID = 17024 Value 2 ID = 17024 (should be 17025) Value 3 ID = 17024 (should be 17026) 

Как я могу получить его, чтобы, если в категории с атрибутом есть продукт и какое-то конкретное значение, он отобразит идентификатор продуктов?

Редактировать:

Использование == имеет фиксированную часть моей проблемы.

Другая проблема заключалась в том, что, используя:

 $_product->getResource()->getAttribute('attribute'); 

Не получил атрибут таким образом, который позволил мне использовать его значения. Вместо этого:

 $_product->getAttributeText('attribute'); 

и установка атрибута «Использовать в листинге продукта». Это позволило мне использовать выражения if для каждого значения.