Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#74775
Estou seguindo este Tutorial para seguir exemplo para adicionar um evento :

https://isenselabs.com/posts/opencart2- ... m-tutorial

Só que ele não fala o principal como eu INSTALO o módulo. Não faço a minima idéia, segui alguns tutoriais e funcionou mais o de criar eventos estou com esse problema ele cria dois arquivos nesses caminhos.

admin/controller/module/mymodule.php.
catalog/controller/module/mymodule.php.

Só que como eu ativo? Como eu instalo o Módulo?
#74782
1. Crie o arquivo admin/language/*/module/mymodule.php e adicione o código abaixo.
Código: Selecionar todos
<?php

$_["heading_title"] = "My Module";
2. Acesse o painel de admin > extensions > module > procure por "My Module" e clique no botão verde.
#74796
Obrigado Valdeir.

Eu tenho algumas perguntas de desenvolvimento seguinte o que eu estou querendo fazer.

Eu tenho um plugin de notificação em JAVASCRIPT que funciona perfeitamente, no caso meu cliente é dono de um restaurante, o que eu gostaria é que assim que tivesse um NOVO PEDIDO na loja a notificação aparecia e tocava uma música.

Então nas minhas pesquisas eu me deparei com esse código e os EVENTOS do Opencart. Eu soube que existe um evento para disparar exatamente nessa situação segue o nome do evento :

"post.order.add"

Eu descobri através deste link : https://github.com/opencart/opencart/wi ... der-events

Através desse código que eu vou postar :
Código: Selecionar todos
 public function install() {
        $this->load->model('extension/event');
        $this->model_extension_event->addEvent('mymodule', 'pre.admin.store.delete', 'module/mymodule/on_store_delete');
        $this->model_extension_event->addEvent('mymodule', 'post.customer.add', 'module/mymodule/on_customer_add');
    }
Código: Selecionar todos
 public function on_customer_add($customer_id) {
        $this->load->model('account/customer');
        $customer_info = $this->model_account_customer->getCustomer($customer_id);
        $admin_mail = $this->config->get('config_email');
        mail($admin_mail, "New Customer", "A new customer has just registered with the following e-mail: " . $customer_info['email']);
    }
Essa segunda função é um dos eventos que é disparado, agora uma dúvida digamos que eu vou criar uma função de eventos ai no Controller.

Como eu faço para disparar algo la no javascript? Será mesmo que eu vou ter que fazer código na mão mesmo? Por exemplo la no footer do ADMIN eu fico chegando o tempo todo se existe novo pedido para ai mostrar a notificação?

Ou existe um outro modo? A minha dúvida é porque eu quero fazer no OPENCART WAY das coisas mais se não for possível vou fazer na mão mesmo.
#74797
Eu desenvolvi algo semelhante à bastante tempo atrás.

Extensão para Chrome: https://chrome.google.com/webstore/deta ... iaijcpminl
Extensão para OC: https://www.dropbox.com/s/dh0ssxiw8l3ew ... n.zip?dl=0

Mas dá para melhorar.
Código: Selecionar todos
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=22674&filter_search=alert%20order
https://www.opencart.com/index.php?route=marketplace/extension&filter_search=alert%20order
https://www.opencart.com/index.php?route=marketplace/extension&filter_search=push%20notification


É possível fazer um atualizado sem gastar $$$? É possível! Basta você utilizar o sistema de gatilho do OpenCart + OneSignal (links abaixo):
https://documentation.onesignal.com/doc ... etup-https
https://documentation.onesignal.com/docs/webhooks

Ps.: Se você está fazendo a verificação via AJAX, recomendo parar, isso só vai fazer você ter mais requisições, ou seja, menos desempenho na loja.
#74798
Não estou fazendo com AJAX.

Mas eu iria fazer para ficar verificando o banco de dados.

Vou ser sincero não entendi bem o que você quis dizer, no caso eu tenho que usar um dos seus plugins? Mas eu gostaria de aprender a desenvolver entende?

Eu só queria entender os processos.

O gatilho que você fala é o evento do opencart e depois eu usaria o OneSignal ?

Resumindo tudo o que você disse sua extensão já faz o procedimento para uma loja na versão 2.3.0.2? E no caso se eu quiser algo atualizado seria com Evento do Opencart + OneSignal?
#74801
Você não precisa usar o módulo que fiz, mas é uma forma de você baixar e olhar o código fonte para estudos.

Isso. O gatilho é o evento do OpenCart.

Se você quiser algo mais profissional (e correto do meu ponto de vista), o ideal é usar o gatilho do OpenCart + OneSignal.
#74810
Muito obrigado mesmo.

Mas no caso os gatilhos eu não posso colocar códigos lá dentro feito o JavaScript correto? Porque se eu não houvesse esse gatilho.

Eu iria fazer no footer do admin aonde eu verifico se existe novos registros a cada 10 segundos e dai executaria o JavaScript entende?

Isso seria uma forma simples para isso não é? No caso se utiliza-se essa abordagem seria normalmente assim não é mesmo?


Estava dando uma olhada no seu código, porque você fez no catalog se o processo era no admin?
#74812
Você pode fazer dessa forma como você disse (recomendo que temporariamente), e depois ir melhorando conforme o tempo.

Fiz no catalog pois teria requisições externas. Com a extensão para o chrome, não haveria necessidade do lojista ficar com o painel de admin aberto.