{"id":2892,"date":"2021-01-13T21:05:01","date_gmt":"2021-01-14T00:05:01","guid":{"rendered":"https:\/\/www.magenteiro.com\/blog\/?p=2892"},"modified":"2024-09-16T22:32:44","modified_gmt":"2024-09-17T01:32:44","slug":"criar-evento-personalizado","status":"publish","type":"post","link":"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/","title":{"rendered":"Crie seu pr\u00f3prio evento no Magento 2"},"content":{"rendered":"\n<p><em>Events<\/em> e <em>Observers<\/em> fazem parte do Magento desde suas primeiras vers\u00f5es. O Magento possu\u00ed v\u00e1rios eventos que, ao serem disparados, buscam m\u00f3dulos que acoplaram pontos de observa\u00e7\u00e3o e executam determinada a\u00e7\u00e3o. Eventos s\u00e3o disparados na finaliza\u00e7\u00e3o de um pedido, na emiss\u00e3o de uma fatura, no cadastro de um novo cliente, e em uma centena de outras ocasi\u00f5es.<\/p>\n\n\n\n<p>Os eventos tamb\u00e9m permitem que estes observadores alterem o comportamento de determinadas funcionalidades no Magento.<\/p>\n\n\n\n<p>Com a chegada do Magento 2, tamb\u00e9m temos os Plugins, que nos d\u00e3o ainda mais flexibilidade, podendo escutar qualquer m\u00e9todo do Magento, mesmo que nenhum evento seja disparado. Mas hoje focaremos nos Eventos e Observadores. Saiba mais sobre Plugins no <a href=\"https:\/\/www.magenteiro.com\/curso-magento-2?___store=default&amp;utm_source=magenteiro&amp;utm_medium=blog&amp;utm_campaign=eventos-m2\">meu curso Magento<\/a>.<\/p>\n\n\n\n<h2 id=\"h-criando-um-evento-personalizado-no-magento-2\">Criando um evento personalizado no Magento 2<\/h2>\n\n\n\n<p>A cria\u00e7\u00e3o de um novo evento \u00e9 um processo bem simples. Tudo que precisamos fazer \u00e9 chamar o m\u00e9todo dispatch da classe \\Magento\\Framework\\Event\\ManagerInterface com um nome do nosso evento. Preferencialmente, um nome \u00fanico.<\/p>\n\n\n\n<p>Ficaria mais ou menos assim:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">namespace Magenteiro\\Modulo;\n\nclass MinhaClasse\n{\n  \/**\n   * @var \\Magento\\Framework\\Event\\ManagerInterface\n   *\/\n  private $eventManager;\n\n  \/*\n   * @param \\Magento\\Framework\\Event\\ManagerInterface EventManager\n   *\/\n  public function __construct(\\Magento\\Framework\\Event\\ManagerInterface $eventManager)\n  {\n    $this->eventManager = $eventManager;\n  }\n\n  public function enviaPedidoERP()\n  {\n    $pedidoErp = null;\n    \/\/ disparamos um evento no come\u00e7o por exemplo...\n    $this->eventManager->dispatch('pedido_enviado_erp_inicio');\n    \/\/ Integramos com o erp, e obtemos o retorno, salvamos em $pedidoErp...etc\n    $this->eventManager->dispatch('pedido_gravado_erp', ['erpId' => $pedidoErp]);\n  }\n}\n\n<\/pre>\n\n\n\n<p>No exemplo acima podemos ver que criamos dois eventos distintos: <code>pedido_enviado_erp_inicio<\/code> e <code>pedido_gravado_erp<\/code>.<\/p>\n\n\n\n<p>Uma vez que os eventos forem criados, qualquer m\u00f3dulo pode <a href=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/eventos-e-observers-no-magento-2\/\" data-type=\"post\" data-id=\"1377\">escutar estes eventos com o uso de observers<\/a>. O nome do evento \u00e9 passado no atributo <code>name<\/code> dentro do arquivo <code>events.xml<\/code>, como mostrado neste artigo.<\/p>\n\n\n\n<h2 id=\"h-modificando-dados-com-observers\">Modificando dados com observers<\/h2>\n\n\n\n<p>No segundo exemplo criamos um <em>observer<\/em> que passa a vari\u00e1vel <code>$pedidoErp<\/code> no atributo <code>erpId<\/code> para qualquer <em>observer<\/em> que escutar este evento. Esta vari\u00e1vel pode ser de praticamente qualquer tipo, e ser\u00e1 resgatada dentro do observer com <code>$observer-&gt;getData('erpId')<\/code>.<\/p>\n\n\n\n<p>No entanto, se quisermos ter a possibilidade de modificar este valor dentro de um dos <em>Observers<\/em>, temos que passar uma inst\u00e2ncia de <code>\\Magento\\Framework\\DataObject<\/code> no <code>dispatch<\/code>. <\/p>\n\n\n\n<p>Veja como ficaria o disparo do evento e como modificamos o valor da vari\u00e1vel dentro do <em>observer<\/em>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"Cria\u00e7\u00e3o do evento\" data-enlighter-group=\"m1\">$erpRetorno = new \\Magento\\Framework\\DataObject(['erpId'=>1]);\necho $erpRetorno->getData('erpId'); \/\/resultado: 1\n$this->eventManager->dispatch('pedido_gravado_erp', ['erpRetorno'=>$erpRetorno]);\necho $erpRetorno->getData('erpId'); \/\/resultado: 2<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"Observer\" data-enlighter-group=\"m1\">public function execute(\\Magento\\Framework\\Event\\Observer $observer)\n{\n    $erpRetorno = $observer->getData('erpRetorno');\n\n    $erpRetorno->setData('erpId', 2);\n    return $this;\n\n}<\/pre>\n\n\n\n<p class=\"has-small-font-size\">&#x1f446;Clique nas abas para alternar entre os exemplos.<\/p>\n\n\n\n<h2 id=\"h-boas-praticas-e-consideracoes\">Boas pr\u00e1ticas e considera\u00e7\u00f5es<\/h2>\n\n\n\n<p>No Magento 1 era comum modificarmos valores e comportamentos com o uso de <a title=\"Observers no Magento 1\" href=\"https:\/\/www.magenteiro.com\/blog\/magento-1\/desenvolvimento\/backend\/eventos-e-observers\/\" data-type=\"post\" data-id=\"804\">Observers<\/a>. No Magento 2, temos os Plugins para nos ajudar nesta tarefa. Falando nisso, h\u00e1 algum tempo era recomendado que n\u00e3o us\u00e1ssemos Observers no Magento 2 para estes fins.<\/p>\n\n\n\n<p>Bom, parece que isso vem mudando e n\u00e3o encontrei mais refer\u00eancias sobre essa limita\u00e7\u00e3o. Inclusive at\u00e9 mencionei isso no <a href=\"https:\/\/www.magenteiro.com\/curso-magento-2?___store=default&amp;utm_source=magenteiro&amp;utm_medium=blog&amp;utm_campaign=eventos-customizados-m2\">Magento 2: O Curso<\/a>.<\/p>\n\n\n\n<p>Eis algumas recomenda\u00e7\u00f5es que ainda s\u00e3o v\u00e1lidas:<\/p>\n\n\n\n<ul><li>Evite adicionar regras de neg\u00f3cio nos seus <em>Observers<\/em>. <\/li><li>Evite criar <em>observers<\/em> que disparam o mesmo evento novamente. Isso pode causar loops indesejados.<\/li><li>N\u00e3o espere que seu <em>observer<\/em> seja executado antes de outro, mesmo que defina um valor para ordem de execu\u00e7\u00e3o.<\/li><li>Evite criar eventos em \u00e1reas que precisam ser r\u00e1pidas em sua loja (ex: fluxo de checkout) ou que s\u00e3o chamados com muita frequ\u00eancia. Isso dar\u00e1 margem para que outros desenvolvedores criem <em>observers<\/em> que tornar\u00e3o esse processo lento.<\/li><li>Evite adicionar chamadas \u00e0 URL externas ou <em>webservices<\/em> nos <em>observers<\/em>, pois atrasar\u00e1 a execu\u00e7\u00e3o do evento\/classe que o chama.<\/li><\/ul>\n\n\n\n<p><strong>Use eventos nos seus m\u00f3dulos<\/strong>, em especial em \u00e1reas que voc\u00ea espera que algu\u00e9m queira modificar ou customizar no futuro. Isso certamente ajudar\u00e1 futuros desenvolvedores a n\u00e3o precisarem sobrescrever ou modificar nada do seu m\u00f3dulo.<\/p>\n\n\n\n<h3 id=\"h-estudo-de-caso\">Estudo de caso.<\/h3>\n\n\n\n<p>Um exemplo cl\u00e1ssico que fiz uso de eventos personalizados foi na cria\u00e7\u00e3o do <a href=\"https:\/\/pbintegracoes.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">m\u00f3dulo PagBank para Magento<\/a>. A obten\u00e7\u00e3o do valor CPF do cliente era algo que poderia vir de v\u00e1rios lugares diferentes. Cada loja tem uma implementa\u00e7\u00e3o diferente. <\/p>\n\n\n\n<p>Por mais que tenha oferecido a op\u00e7\u00e3o de escolher um atributo de cliente existente, \u00e9 poss\u00edvel que o CPF venha de algum lugar n\u00e3o mapeado, ou que eu n\u00e3o previ.<\/p>\n\n\n\n<p>Neste caso, a cria\u00e7\u00e3o de um evento como o acima permitiria que qualquer desenvolvedor possa implementar uma l\u00f3gica diferente para obter este valor sem ter que modificar meu m\u00f3dulo, o que dificultaria futuras atualiza\u00e7\u00f5es.<\/p>\n\n\n\n<p>Como comentei, isso tamb\u00e9m poderia ser feito com o uso de Plugins, caso eu tivesse um m\u00e9todo <code>getCPF<\/code> por exemplo. Mas isso \u00e9 assunto para outro artigo (e j\u00e1 foi bem abordado no <a href=\"https:\/\/www.magenteiro.com\/curso-magento-2?___store=default&amp;utm_source=magenteiro&amp;utm_medium=blog&amp;utm_campaign=eventos-customizados-m2\">Magento 2: O Curso<\/a>).<\/p>\n\n\n\n<p>Veja tamb\u00e9m: <a href=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/eventos-e-observers-no-magento-2\/\" data-type=\"post\" data-id=\"1377\">como escutar eventos existentes no Magento 2 e como obter lista dos eventos dispon\u00edveis<\/a>.<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"Veja como criar um evento personalizado no Magento 2 e modificar valores dele com uso de Observers.","protected":false},"author":1,"featured_media":2914,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[27,25],"tags":[118,3,63,41,60,68],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v19.0 (Yoast SEO v19.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Crie seu pr\u00f3prio evento no Magento 2<\/title>\n<meta name=\"description\" content=\"Veja como disparar eventos para serem escutados por Observers. Faremos isso chamando o m\u00e9todo &#039;dispatch&#039; da classe EventManagerInterface.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Crie seu pr\u00f3prio evento no Magento 2\" \/>\n<meta property=\"og:description\" content=\"Veja como disparar eventos para serem escutados por Observers. Faremos isso chamando o m\u00e9todo &#039;dispatch&#039; da classe EventManagerInterface.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/\" \/>\n<meta property=\"og:site_name\" content=\"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/magenteiro\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-14T00:05:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-17T01:32:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2021\/01\/magento2-custom-events-observers-opt.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"480\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ricardo Martins\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@magenteiro\" \/>\n<meta name=\"twitter:site\" content=\"@magenteiro\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ricardo Martins\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#organization\",\"name\":\"Magenteiro\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/\",\"sameAs\":[\"https:\/\/www.instagram.com\/magenteiro\",\"https:\/\/www.linkedin.com\/company\/magenteiro\",\"https:\/\/www.youtube.com\/magenteiro\",\"https:\/\/facebook.com\/magenteiro\",\"https:\/\/twitter.com\/magenteiro\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png\",\"contentUrl\":\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png\",\"width\":787,\"height\":149,\"caption\":\"Magenteiro\"},\"image\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#website\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/\",\"name\":\"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1\",\"description\":\"Artigos t\u00e9cnicos, tutoriais e muitos v\u00eddeos e cursos sobre Magento. Aqui voc\u00ea encontra dicas para lojistas e desenvolvedores feitos por quem entende do assunto.\",\"publisher\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.magenteiro.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/\",\"name\":\"Crie seu pr\u00f3prio evento no Magento 2\",\"isPartOf\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#website\"},\"datePublished\":\"2021-01-14T00:05:01+00:00\",\"dateModified\":\"2024-09-17T01:32:44+00:00\",\"description\":\"Veja como disparar eventos para serem escutados por Observers. Faremos isso chamando o m\u00e9todo 'dispatch' da classe EventManagerInterface.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.magenteiro.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Crie seu pr\u00f3prio evento no Magento 2\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/\"},\"author\":{\"name\":\"Ricardo Martins\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150\"},\"headline\":\"Crie seu pr\u00f3prio evento no Magento 2\",\"datePublished\":\"2021-01-14T00:05:01+00:00\",\"dateModified\":\"2024-09-17T01:32:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/\"},\"wordCount\":715,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#organization\"},\"keywords\":[\"Avan\u00e7ado\",\"desenvolvimento\",\"eventos\",\"Magento 2\",\"Tutoriais Magento\",\"tutorial\"],\"articleSection\":[\"Desenvolvimento\",\"Magento 2\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150\",\"name\":\"Ricardo Martins\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g\",\"caption\":\"Ricardo Martins\"},\"description\":\"\u00c9 desenvolvedor web h\u00e1 16 anos e um dos primeiros certificados pela Magento no Brasil. Instrutor de mais de 11 cursos Magento (os principais no magenteiro.com\/cursos) com mais de 14 mil alunos de 105 pa\u00edses, \u00e9 tamb\u00e9m criador do m\u00f3dulo PagSeguro Transparente, usado em mais de 12 mil lojas.\",\"sameAs\":[\"https:\/\/www.magenteiro.com\/\"],\"url\":\"https:\/\/www.magenteiro.com\/blog\/author\/ricardomartins\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Crie seu pr\u00f3prio evento no Magento 2","description":"Veja como disparar eventos para serem escutados por Observers. Faremos isso chamando o m\u00e9todo 'dispatch' da classe EventManagerInterface.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/","og_locale":"pt_BR","og_type":"article","og_title":"Crie seu pr\u00f3prio evento no Magento 2","og_description":"Veja como disparar eventos para serem escutados por Observers. Faremos isso chamando o m\u00e9todo 'dispatch' da classe EventManagerInterface.","og_url":"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/","og_site_name":"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1","article_publisher":"https:\/\/facebook.com\/magenteiro","article_published_time":"2021-01-14T00:05:01+00:00","article_modified_time":"2024-09-17T01:32:44+00:00","og_image":[{"width":960,"height":480,"url":"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2021\/01\/magento2-custom-events-observers-opt.jpg","type":"image\/jpeg"}],"author":"Ricardo Martins","twitter_card":"summary_large_image","twitter_creator":"@magenteiro","twitter_site":"@magenteiro","twitter_misc":{"Written by":"Ricardo Martins","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.magenteiro.com\/blog\/#organization","name":"Magenteiro","url":"https:\/\/www.magenteiro.com\/blog\/","sameAs":["https:\/\/www.instagram.com\/magenteiro","https:\/\/www.linkedin.com\/company\/magenteiro","https:\/\/www.youtube.com\/magenteiro","https:\/\/facebook.com\/magenteiro","https:\/\/twitter.com\/magenteiro"],"logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png","contentUrl":"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png","width":787,"height":149,"caption":"Magenteiro"},"image":{"@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"WebSite","@id":"https:\/\/www.magenteiro.com\/blog\/#website","url":"https:\/\/www.magenteiro.com\/blog\/","name":"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1","description":"Artigos t\u00e9cnicos, tutoriais e muitos v\u00eddeos e cursos sobre Magento. Aqui voc\u00ea encontra dicas para lojistas e desenvolvedores feitos por quem entende do assunto.","publisher":{"@id":"https:\/\/www.magenteiro.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.magenteiro.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/","url":"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/","name":"Crie seu pr\u00f3prio evento no Magento 2","isPartOf":{"@id":"https:\/\/www.magenteiro.com\/blog\/#website"},"datePublished":"2021-01-14T00:05:01+00:00","dateModified":"2024-09-17T01:32:44+00:00","description":"Veja como disparar eventos para serem escutados por Observers. Faremos isso chamando o m\u00e9todo 'dispatch' da classe EventManagerInterface.","breadcrumb":{"@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.magenteiro.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Crie seu pr\u00f3prio evento no Magento 2"}]},{"@type":"Article","@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/#article","isPartOf":{"@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/"},"author":{"name":"Ricardo Martins","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150"},"headline":"Crie seu pr\u00f3prio evento no Magento 2","datePublished":"2021-01-14T00:05:01+00:00","dateModified":"2024-09-17T01:32:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/"},"wordCount":715,"commentCount":1,"publisher":{"@id":"https:\/\/www.magenteiro.com\/blog\/#organization"},"keywords":["Avan\u00e7ado","desenvolvimento","eventos","Magento 2","Tutoriais Magento","tutorial"],"articleSection":["Desenvolvimento","Magento 2"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.magenteiro.com\/blog\/magento-2\/criar-evento-personalizado\/#respond"]}]},{"@type":"Person","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150","name":"Ricardo Martins","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g","caption":"Ricardo Martins"},"description":"\u00c9 desenvolvedor web h\u00e1 16 anos e um dos primeiros certificados pela Magento no Brasil. Instrutor de mais de 11 cursos Magento (os principais no magenteiro.com\/cursos) com mais de 14 mil alunos de 105 pa\u00edses, \u00e9 tamb\u00e9m criador do m\u00f3dulo PagSeguro Transparente, usado em mais de 12 mil lojas.","sameAs":["https:\/\/www.magenteiro.com\/"],"url":"https:\/\/www.magenteiro.com\/blog\/author\/ricardomartins\/"}]}},"_links":{"self":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts\/2892"}],"collection":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/comments?post=2892"}],"version-history":[{"count":11,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts\/2892\/revisions"}],"predecessor-version":[{"id":4275,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts\/2892\/revisions\/4275"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/media\/2914"}],"wp:attachment":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/media?parent=2892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/categories?post=2892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/tags?post=2892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}