Giter VIP home page Giter VIP logo

primeiro-helper-magento-1's Introduction

Primeiro Helper Magento 1

Base de como é a estrutura de um módulo para funcionar com um helper no Magento 1, vamos criar um helper que vai apenas receber um texto e gerar um log com ele.

Mas o que é um helper?

Como o próprio nome já diz o helper é um ajudante, é aquela classe ou objeto no seu projeto que é para auxiliar as outras funções.

Ondem ficam os helpers?

Bem parecido com os controllers eles possuem uma pasta dedicada dentro da raiz do seu módulo, a pasta Helper e os arquivos podem ter qualquer nome, mas o nome padrão é Data.php

É necessário criar a estrutura básica de um módulo conforme explicado nesse tutorial Primeiro Modulo Magento 1, importante criar o config.xml, e o arquivo de ativação dentro de app/etc/module/NAMESPACE/MODULENAME. Mas uma observação importante é que o MODULENAME deve ser diferente e também se atentar ao apelido dado ao controller, pois ele deve ser único.

O helper deve ser declarado dentro do config.xml: segue abaixo um exemplo:

<?xml version="1.0"?>
<config>
    <modules>
        <Elnogara_FirstHelper>
            <version>1.0.0</version>
        </Elnogara_FirstHelper>
    </modules>
    <global> <!--Dentro do nó global-->
        <helpers> <!--Deve ser declarado dentro nó de helpers-->
            <elnogara_firsthelper> <!--Deve ser passado um apélido para o helper ser reconhecido pelo Magento-->
                <class>Elnogara_FirstHelper_Helper</class> <!--Deve ser apontado o caminho do helper, o Magento por padrão já busca pelo arquivo Data.php, mas caso o nome do seu Helper seja diferente, então será necessário passar depois de Namespace_Modulename_Helper_<Nome do seu arquivo>.-->
            </elnogara_firsthelper>
        </helpers>
    </global>
    <frontend>
        <routers>
            <nogaraajudante>
                <use>standard</use>
                <args>
                    <module>Elnogara_FirstHelper</module>
                    <frontName>firsthelper</frontName>
                </args>
            </nogaraajudante>
        </routers>
    </frontend>
</config>

É necessário criar o helper dentro de Helper/, e como explicado, segue abaixo exemplo:

<?php
class Elnogara_FirstHelper_Helper_Data extends Mage_Core_Helper_Abstract <!--Só é necessário passar o nome do helper dentro da classe-->
{
    public function gerarLog($texto) <!--Criamos uma função que será chamada futuramente-->
    {
        Mage::log($texto, Zend_Log::INFO, 'testeLog.log', true); <!--Função interna do Magento para criar logs-->
    }
}

Para chamar o Helper estarei criando um controller com o nome AjudanteController.php, abaixo o código:

<?php

class Elnogara_FirstHelper_AjudanteController extends Mage_Core_Controller_Front_Action
{
    public function logAction()
    {
        $helper = Mage::helper('elnogara_firsthelper'); //Para instanciar o helper é necessário chamar a função Mage::helper('') e dentro dela passar o apelido que você deu para o seu helper, assim o Magento vai identificar qual helper da plataforma você está chamando.
        
        $helper->gerarLog('Hello World -> Criando seu primeiro helper funcional.'); //Com o helper instânciado eu só preciso chamar qual função dentro dele estarei chamando, nesse caso é a 'gerarLog' e passo como parâmetro o texto que quero que seja gravado no log.
        echo "Log criado com sucesso.";
    }
}

Então seu módulo deve ficar com 3 arquivos criados: etc/config.xml controllers/AjudanteController.php Helper/Data.php

Se estiverem configurados corretamente, basta acessar seu domínio de loja e passar o frontname/controller/action na sua url, no meu caso é: 'http://localhost/firsthelper/ajudante/log'

Me retorna a mensagem "Log criado com sucesso." que é a mensagem configurada dentro do Helper que está sendo chamado pelo Controller então funcionou tudo como gostariamos. Agora nas pastas do Magento, acesse var/log e o arquivo testeLog.log terá sido criado.

Qualquer dúvida estou a disposição - Wellington Nogara.

primeiro-helper-magento-1's People

Contributors

elnogara avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.