遵循Magento 2指南,您不应该自己使用ObjectManager.相反,您必须使用依赖注入.更多信息在这里
在你的Block/Controller/Helper ...中,创建一个构造函数并注入\Magento\Catalog\Model\Product\Attribute\Repository
类.例如 :
/** * @var \Magento\Catalog\Model\Product\Attribute\Repository $_productAttributeRepository */ protected $_productAttributeRepository; /** * @param \Magento\Catalog\Model\Product\Attribute\Repository $productAttributeRepository */ public function __construct(\Magento\Catalog\Model\Product\Attribute\Repository $productAttributeRepository) { $this->_productAttributeRepository = $productAttributeRepository; }
然后,在您的专用方法中,您想要调用(为了清楚起见,添加了PHPDoc):
/** @var \Magento\Eav\Api\Data\AttributeOptionInterface[] $manufacturerOptions */ $manufacturerOptions = $this->_productAttributeRepository->get('manufacturer')->getOptions();
您现在可以通过以下方式获取选项值和标签:
foreach ($manufacturerOptions as $manufacturerOption) { $manufacturerOption->getValue(); // Value $manufacturerOption->getLabel(); // Label }