magento attribute - Атрибут продукта Magento Get Value




7 Answers

Mage::getResourceModel('catalog/product')->getAttributeRawValue($productId, 'attribute_code', $storeId);
raw by

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




вы можете использовать

<?php echo $product->getAttributeText('attr_id')  ?> 



Пожалуйста, см. answer Дэниела Кочерги , поскольку он будет работать для вас в большинстве случаев.

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

/**
 * @param int $entityId
 * @param int|string|array $attribute atrribute's ids or codes
 * @param null|int|Mage_Core_Model_Store $store
 *
 * @return bool|null|string
 * @throws Mage_Core_Exception
 */
public function getAttributeRawLabel($entityId, $attribute, $store=null) {
    if (!$store) {
        $store = Mage::app()->getStore();
    }

    $value = (string)Mage::getResourceModel('catalog/product')->getAttributeRawValue($entityId, $attribute, $store);
    if (!empty($value)) {
        return Mage::getModel('catalog/product')->getResource()->getAttribute($attribute)->getSource()->getOptionText($value);
    }

    return null;
}



Попробуй это

 $attribute = $_product->getResource()->getAttribute('custom_attribute_code');
    if ($attribute)
    {
        echo $attribute_value = $attribute ->getFrontend()->getValue($_product);
    }



Это работает,

echo $_product->getData('ATTRIBUTE_NAME_HERE');



$orderId = 1; // YOUR ORDER ID
$items = $block->getOrderItems($orderId);
 
foreach ($items as $item) {
    $options = $item->getProductOptions();        
    if (isset($options['options']) && !empty($options['options'])) {        
        foreach ($options['options'] as $option) {
            echo 'Title: ' . $option['label'] . '<br />';
            echo 'ID: ' . $option['option_id'] . '<br />';
            echo 'Type: ' . $option['option_type'] . '<br />';
            echo 'Value: ' . $option['option_value'] . '<br />' . '<br />';
        }
    }
}

все, что вы будете использовать, чтобы получить заказ на заказ заказ товара в Magento 2: https://www.mageplaza.com/how-get-value-product-custom-option-cart-order-magento-2.html




Если у вас есть атрибут text / textarea с именем my_attr, вы можете получить его: product->getMyAttr();




Related