Php 如果产品具有属性,则获取它';身份证

Php 如果产品具有属性,则获取它';身份证,php,magento,loops,if-statement,Php,Magento,Loops,If Statement,我需要为具有特定值属性的产品获取产品ID 以下是我目前掌握的情况: $found = false; foreach ($_productCollection as $_product) { $attribute = $_product->getResource()->getAttribute('attribute'); $id = $_product->getId(); if ($attribute = NULL) { // Do N

我需要为具有特定值属性的产品获取产品ID

以下是我目前掌握的情况:

$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;
我如何获得它,以便如果类别中有一个产品具有该属性和一个特定值,它将列出该产品的ID

编辑:

使用==解决了我的部分问题

另一个问题是,通过使用:

$_product->getResource()->getAttribute('attribute');
没有以允许我使用其值的方式获取属性。改用此选项:

$_product->getAttributeText('attribute');

并将属性设置为“在产品列表中使用”。这允许我对每个值使用if语句。

您每次都在赋值:

if ($attribute = "value1") {
使用double进行比较:

if ($attribute == "value1") {

这并没有给我任何输出,我还尝试使用==for$valueX==$idplus 1快速回答。他只是又丢了一个
=
@Edward144,你犯了一个错误,但为什么现在不显示出来,这是另一个问题。是的,这是有效的,我知道我的代码中有其他错误。但现在一切都在起作用。你能解释一下你想要实现的目标吗?似乎有更好的方法。我现在已经想好了,我想让产品的属性显示在页面顶部高于其他所有产品。我只是想得到产品的ID作为测试,以确定我是否得到了正确的产品,显然ID是唯一的,因此我可以立即看到是否选择了正确的产品。
if ($attribute == "value1") {