Magento: Como rodar o Código da plataforma externamente

E ae galera. Após algum tempo me organizando e mudando de cidade (Estou em Blumenau / SC), estou voltando a me organizar e organizar meu site novamente. Vou começar leve postando pequenas dicas e artigos. Esta semana me deparei com um problema. Precisava rodar um script por fora do magento para atualizar um atributo e me surgiu uma grande dúvida. Como fazer?

Introdução

Após eu pesquisar um pouco consegui chegar a um resultado. Conseguimos rodar o magento externamente mesmo não estando no fluxo da plataforma. Assim como acontece com o Zend Framework que conseguimos rodar algumas ferramentas do framework sem necessariamente utilizar o framework todo, no magento podemos fazer algumas operações fora do fluxo da plataforma.

Demonstrando em forma de código

Segue abaixo o exemplo de chamado de um código.

<?php
 
require_once('app/Mage.php'); //Path do Magento
umask(0);
Mage::app();
 
// Agora você pode rodar qualquer código do magento que queira.
 
// Corregando o Model do produto de ID 12 
$_product = Mage::getModel('catalog/product')->load(12);
 
echo $_product->getName();

Explicando código

No código PHP acima eu adiciono o arquivo Mage.php que é o arquivo principal de chamada da “aplicação” magento. Depois disto eu utilizo o umask(0). Definir o umask como 0000 (ou apenas 0) significa que os arquivos recém-criados ou diretórios criados não terão privilégios inicialmente revogados.

Em outras palavras, um umask de zero fará com que todos os arquivos sejam criados como 0666 ou world-writable. Diretórios criados enquanto umask for 0 será 0777. E após tudo isto eu executo a aplicação magento em si chamando utilizando o método estático existente no Mage.php chamado app().

Após todo este procedimento basta utilizar o comandos de acordo com o a necessidade como se estivesse dentro de um arquivo pertencente a plataforma.

Espero que isto ajude a vocês meus amigos assim como me ajudou. Grande abraço e até a próxima.

 

 

 

Posts Relacionados