Exibir lista de bloqueios estáticos no menu suspenso na página de criação de produto
-
13-12-2019 - |
Pergunta
Quero exibir a lista de bloqueios estáticos na página de criação de produtos de administração do magento.
indiquei este link http://www.milessebesta.com/web-design/magento-use-custom-product-attributes-to-add-cms-static-block-to-product-page/
Mas mostra a entrada manual de nomes de blocos estáticos em opções personalizadas.
Quero mostrar o menu suspenso da lista de opções de blocos estáticos como dinâmico.
Solução
Você pode encontre aqui e explicação de como você pode adicionar um atributo de produto com um modelo de origem personalizado.
A ideia é adicionar um atributo simples como qualquer outro (através de um script de instalação) e preencher o campo source_model
com o apelido de um modelo.
Desta forma, quando as opções são recuperadas, o método getAllOptions
da classe de modelo de origem é chamada.E esse método pode conter qualquer coisa.
No seu caso, basta alterar no exemplo que vinculei o método getAllOptions
e faça com que fique assim:
public function getAllOptions($withEmpty = false)
{
if (is_null($this->_options)){
$this->_options = array();
$collection = Mage::getModel('cms/block')->getCollection();
foreach ($collection as $block) {
$this->_options[] = array('label'=> $block->getTitle(), value => $block->getId());
}
}
$options = $this->_options;
if ($withEmpty) {
array_unshift($options, array('value'=>'', 'label'=>''));
}
return $options;
}