Как я могу получить значения параметров атрибута объекта eav?
Я нашел решение только для magento 1.x, но M2 я не знаю.
M1:
$attr = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter('specialty')->getData()[0];
$attributeModel = Mage::getModel('eav/entity_attribute')->load($attr['attribute_id']);
$src = $attributeModel->getSource()->getAllOptions();
Кто-нибудь знает, покажи мне шаг за шагом, пожалуйста! Спасибо!
\Magento\Eav\Api\Attribute RepositoryInterface
. Все, что не помечено как @api, рассматривается как личное и может быть удалено в небольших версиях.Вы можете сделать это, просто позвонив ниже код внутри вашего файла блокировки.
Звоните внутри вашего phtml файла,
Благодарю.
источник
swatch
входных данных, напримерcolor
.getOptions()
Метод закодирован определенные типов ввода, например , «выпадающие», поэтому он пропускает опцию ввода образчика. Просто хедз-ап, если кто-то еще столкнется с этим.Используйте следующий код, чтобы получить все параметры атрибута.
Пожалуйста, вы можете нажать здесь для более подробного объяснения. http://www.pearlbells.co.uk/code-snippets/get-magento-attribute-options-programmatically/
источник
Я использую сервисный уровень Api,
Magento\Eav\Api\AttributeRepositoryInterface
предложенный @kandy в комментариях к ответу @marius.Вставьте элемент данных службы в ваш конструктор следующим образом.
И вы можете получить атрибут, используя это.
Чтобы получить массив значений параметров атрибута, используйте это.
источник
Внедрить экземпляр
\Magento\Catalog\Model\Product\Attribute\Repository
вашего конструктора (в блок, вспомогательный класс или где-либо еще):Затем создайте метод в своем классе, чтобы получить атрибут по коду:
Затем вы можете вызвать этот метод так, например, внутри .phtml файла
Затем вы можете делать вызовы на объект атрибута, например,
$attribute->getOptions()
$attrTest->getFrontendLabels()
echo '> ' . print_r($attrTest->debug(), true);
источник
источник