Solución:
puede agregar al constructor de su clase una instancia de MagentoEavModelConfig
como esto:
protected $eavConfig;
public function __construct(
...
MagentoEavModelConfig $eavConfig,
...
){
...
$this->eavConfig = $eavConfig;
...
}
entonces puedes usar eso en tu clase
$attribute = $this->eavConfig->getAttribute('catalog_product', 'attribute_code_here');
$options = $attribute->getSource()->getAllOptions();
Utilice el siguiente código para obtener todas las opciones de atributos.
function getExistingOptions( $object_Manager ) {
$eavConfig = $object_Manager->get('MagentoEavModelConfig');
$attribute = $eavConfig->getAttribute('catalog_product', 'color');
$options = $attribute->getSource()->getAllOptions();
$optionsExists = array();
foreach($options as $option) {
$optionsExists[] = $option['label'];
}
return $optionsExists;
}
¿Puede hacer clic aquí para obtener una explicación más detallada? http://www.pearlbells.co.uk/code-snippets/get-magento-attribute-options-programmatic/
Puede hacerlo simplemente llame al código a continuación dentro de su archivo de bloque.
<?php
namespace VendorPackageBlock;
class Blockname extends MagentoFrameworkViewElementTemplate
{
protected $_productAttributeRepository;
public function __construct(
MagentoFrameworkViewElementTemplateContext $context,
MagentoCatalogModelProductAttributeRepository $productAttributeRepository,
array $data = []
){
parent::__construct($context,$data);
$this->_productAttributeRepository = $productAttributeRepository;
}
public function getAllBrand(){
$manufacturerOptions = $this->_productAttributeRepository->get('manufacturer')->getOptions();
$values = array();
foreach ($manufacturerOptions as $manufacturerOption) {
//$manufacturerOption->getValue(); // Value
$values[] = $manufacturerOption->getLabel(); // Label
}
return $values;
}
}
Llame dentro de su archivo phtml,
<div class="manufacturer-name">
<?php $getOptionValue = $this->getAllBrand();?>
<?php foreach($getOptionValue as $value){ ?>
<span><?php echo $value;?></span>
<?php } ?>
</div>
Gracias.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)