Arquivo da tag: magento

Alterando o status de um produto via código no Magento

Neste post vou mostrar a vocês como alterar o habilitar/desabilitar um produto via código no Magento. Vamos supor que você esteja trabalhando em um controller. Vamos aos passos:

Primeiro, precisamos carregar o produto que desejamos alterar o status.

$product = Mage::getModel('catalog/product')->loadByAttribute('sku', '1234567890');

Onde 1234567890 é o SKU do produto. Após isto, vamos alterar o status do produto:

Continue lendo

Formulários e CSRF no Magento

1364931728_Cart_by_Artdesigner.lvO Magento utiliza em seus formulários uma chave que serve de proteção contra ataques do tipo CSRF. Portanto se for necessário enviar um formulário para o Magento e este não tiver esta chave atualizada, o formulário não é aceito. Para obter esta chave, utilize o comando no controlador:

$formKey = Mage::getSingleton('core/session')->getFormKey();

Após obtida, esta chave deve ser adicionada ao formulário através de um campo do tipo hidden com o nome de form_key:

$html_campo_hidden = '<input name="form_key" type="hidden" value="' . $formKey . '">';

Pronto, agora basta adicionar este HTML ao seu formulário e ele já será aceito pelo Magento.

Até a próxima 😉

Exibindo mensagens de erro na administração do Magento

Quando estamos desenvolvendo um módulo para o Magento, precisamos certas vezes exibir uma mensagem de erro para o usuário. A forma mais fácil de fazer isto é adicionando o erro na sessão. Para isto, basta chamar o seguinte comando no controlador na qual deseja gerar o erro:

$this->_getSession()->addError('Mensagem de erro!');

Pronto, após isto sua mensagem de erro já poderá ser exibida no layout da administração do Magento.

Captura de tela 2013-04-02 às 11.19.23

(Este post foi baseado na versão 1.7.0.0 do Magento)

Até a próxima 😉

Criando blocos diretamente nos controladores do Magento

1364931728_Cart_by_Artdesigner.lvCriar um bloco no Magento é uma tarefa trabalhosa, sendo que muitas vezes precisamos de algo rápido na qual não vale a pena passar por todo o trabalho de criação de um bloco.  Podemos então criar um bloco diretamente no controlador e adicionar HTML nele. Para isto, basta utilizar os seguintes comandos:

$this->loadLayout();

$block = $this->getLayout()

->createBlock('core/text', 'test-block')

->setText('<h1>Alo Mundo!</h1>');

$this->_addContent($block);

$this->renderLayout();

Pronto, nosso bloco está criado e com HTML dentro. Com os comandos acima carregamos o layout, adicionamos o bloco e por fim renderizamos o layout.

(Este post foi baseado na versão 1.7.0.0 do Magento)

Até a próxima 😉