/** * Retrieve Product Attribute Value * * @param Product $product * @param \Magento\Catalog\Model\ResourceModel\Eav\Attribute $attribute * @return \Magento\Framework\Phrase|string */ public function getProductAttributeValue($product, $attribute) { if (!$product->hasData($attribute->getAttributeCode())) { return __('N/A'); } if ($attribute->getSourceModel() || in_array($attribute->getFrontendInput(), ['select', 'boolean', 'multiselect'])) { //$value = $attribute->getSource()->getOptionText($product->getData($attribute->getAttributeCode())); $value = $attribute->getFrontend()->getValue($product); } else { $value = $product->getData($attribute->getAttributeCode()); } return (string) $value == '' ? __('No') : $value; }
/** * {@inheritdoc} */ public function getSourceModel() { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getSourceModel'); if (!$pluginInfo) { return parent::getSourceModel(); } else { return $this->___callPlugins('getSourceModel', func_get_args(), $pluginInfo); } }