Certificação Magento – Events e Observers – Parte 1

Bom dia pessoal,

Sei que estamos meio parados esta semana, pois estamos sendo requisitados pelo mercado e indo atrás de colaboradores para o blog. Vamos aproveitar o feriado para deixar o blog alimentado para toda a semana. Pode deixar.

Para facilitar estaremos trazendo artigos do Magento Wiki que vão ajudar na preparação para certificação Magento.

Agora vamos entender melhor para que funciona os eventos e observers e porque você não tem mais desculpa para mexer na estrutura central, no core do Magento.

magento-observer-imagem-01

Visão Geral

Independentemente da maneira como a orientação a objeto é poderosa na hora de personalizar Magento, que está substituindo por ou adicionando os métodos tradicionais , não há outra maneira de conectar personalizações em áreas de fluxo de compra no Magento.

O Magento foi programado para disparar eventos em áreas cruciais do fluxo de compra, imagina que você deseja uma ação personalizada na hora de colocar o produto no carrinho de compra, realizar o checkout, clicar em um produto relacionado e etc. Observers servem para detectar estes eventos e promover estas personalizações pode ser uma tarefa muito mais simples que brincar com o código fonte do Magento.

Um exemplo seria “catalog_product_save_after ‘do evento que será aumentada em Magento imediatamente depois que um produto é salvo.

Terminologia

Evento: é algo que ocorre em um determinado lugar durante um fluxo de seqüência específica. Quando o cliente faz um pedido o fluxo seria:

1. Guardar os detalhes da ordem
2. Enviar e-mail de confirmação para o cliente

Os eventos podem ser emitidos antes ou depois de cada um destes pontos de escoamento para introduzir lógica personalizada.

Observer: Um manipulador de evento. Ele escuta a qualquer evento que está anexado e, portanto, reage ao evento.

Customização – Usando Eventos vs Substituindo classes

Segundo a Wiki do Magento você só substitui a lógica padrão do Magento se você precisa mudar completamente ou se você precisa estender a lógica de núcleo e sua lógica de novo vai ser reutilizada em outro lugar.

Use eventos se você está bem com a lógica existente fornecido pelo Magento e precisa adicionar à lógica do núcleo.

Exemplo de Uso

Este exemplo tenta usar a técnica de para introduzir uma percentagem de desconto para cada produto. Atualmente Magento suporta a funcionalidade de preço especial sem a porcentagem como desconto. Então, podemos usar esta oportunidade para personalizar magento para a procentagem de desconto a nível de produto.

Antes de começar, o objectivo é assegurar que o desconto percentual é considerado, para um produto simples, quando um produto é exibido. O evento é gerado no Mage_Catalog_Model_Product_Type_Price através do método getFinalPrice () (Magento 1.3.0 arquivo: app / code / core / Mage / Catalog / Modelo / Produto / Tipo / Price.php). O evento é gerado pela linha :: Mago dispatchEvent (‘catalog_product_get_final_price’, array (“produto” ⇒ $ produto));

O evento que estamos prestes a lidar com catalog_product_get_final_price é que vai nos ajudar a adicionar lógica para adicionar o desconto percentual.

Passo 1
Criar o novo atributo ‘percent_discount‘.

Passo 2
Adicionar este novo atributo para o seu attributeSet. Se attributeSet seu produto é ‘default’, adicione o atributo do novo ‘percent_discount’ a esta attributeSet no grupo atributo “preços”.

Passo 3
Registrar um módulo novo como de costume, sob o nome de ‘XYZ’. Para isso criar “Xyz.xml ‘arquivo em” app / etc / modules /’ diretório. O conteúdo dos arquivos é

<?xml version="1.0"?>
<config>
<modules>
<Xyz_Catalog>
<codePool>local</codePool>
<active>true</active>
</Xyz_Catalog>
</modules>
</config>

Bom ja foi explicado o conceito de eventos e observers, mas nunca confunda os dois, eventos são ocorrências dos fluxos do magento e observers são métodos que disparam dependendo da ocorrência ou não destes eventos.

Aguarde o segundo post onde iremos continuar criando este módulo que terá este observer até mais!

2017-01-24T20:24:40+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x