Получить значение пользовательского атрибута magento 2

Я могу отображать значения атрибутов, используя приведенный ниже код, НО, если атрибут пуст, он просто печатает слово «Нет».

<?php echo $_product->getResource()->getAttribute('c_address')->getFrontend()->getValue($_product); ?>

person kyle    schedule 24.09.2017    source источник


Ответы (2)


Чтобы получить атрибут клиента, вы можете использовать следующее:

$customerRepository = $objectManager->get('Magento\Customer\Api\CustomerRepositoryInterface');
$customer = $customerRepository->getById(1);
$cattrValue = $customer->getCustomAttribute('c_address');

Чтобы получить атрибут продукта, вы можете использовать следующее:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->get('Magento\Catalog\Model\Product')->load('YOUR PRODUCT ID');
echo $product->getAttributeText('your_attribut');
person Abhinav Kumar Singh    schedule 25.09.2017
comment
Мне нужно получить определенный атрибут продукта (отфильтрованный по артикулу продукта), но я получаю эту ошибку при использовании кода выше. Неперехваченный Magento\Eav\Model\Entity\Attribute\Exception: код города не установлен: код региона должен быть установлен перед началом сеанса - person Joey; 05.04.2018

Самый простой способ,

$customer = $CUSTOMER_OBJECT; // GET customer object
$customer->getCustomAttribute('variable_name')->getValue();
person archana bahadur    schedule 19.11.2019
comment
вы просто решаете мою сегодняшнюю большую проблему... Спасибо - person Ali Raza; 13.08.2020