====== Como instalar Módulos e Extensões Opencart ====== Neste tutorial vamos ensinar a instalar módulos para Opencart 3 e 2 utilizando o FTP/SFTP, método mais indicado para ter certeza que o arquivo foi enviado e outros detalhes mais ténicos. Tutorial de nível básico, porém, precisa ter conhecimento razoável sobre uso de FTP e Administrador da loja Opencart. **Requisitos básicos para este tutorial:** * Um módulo para Opencart 3 ou 2 de acordo com a versão de sua Loja * Uma loja Opencart 2.x ou 3.x * Acesso ao Administrador da loja * Um cliente FTP e acesso ao FTP/SFTP da loja **índice** * Estudo das estruturas de pastas dos Módulos (opcional, informativo) * Enviar os arquivos para o FTP/SFTP da loja * Permissão de uso na Loja * Configurar no Administrador da Loja ===== Estudo das estruturas de pastas dos Módulos ===== Vamos ensinar sobre a estrutura dos módulos. ==== Estrutura preparada para FTP ==== Nesta estrutura utilizada por nossos novos módulos Codemarket e atualizações aplicamos um padrão por versão Opencart. Outras empresas e profissionais podem adotá-la também. Segue a imagem abaixo: {{https://cdn.codemarket.com.brhttps://cdn.codemarket.com.br/image/artigos/upload/5b4e885b5954d2018-07-17_2123.png|Estrutura de pasta por versão do Opencart}} São criada pastas conforme a versão do Opencart, normalmente podem ter as combinações básicas por versões principais do Opencart. **Versões principais:** Opencart 3.x Opencart 2.x Opencart 1.5.x **E alguns casos têm subversões específicas como:** Opencart 2.3.x Opencart 2.2.x Opencart 2.1.0.0 O x representa as sub versões, logo se o módulo for feito para Opencart 2.x até 2.3.0.2 e tiver só a pasta Opencart 2.x e nenhuma outra Opencart 2, então quer dizer que a pasta Opencart 2.x serve para todos os Opencarts 2 até o 2.3.0.2, podendo ter subversões mais específicas como Opencart 2.3.x por exemplo, funcionando em todas Opencart 2.3. Quando tem subversões verifique em qual versão sua loja pertence, exemplo tem uma loja no 2.3.0.2, logo, o seu se encaixa no Opencart 2.3.x ou 2.x se só tiver essa versão. Lembre-se sempre de verificar na página do módulo também se foi feito para a sua versão do Opencart. Dentro da pasta da versão do Opencart irá conter uma estrutura de subpasta normalmente representando as pastas que existem na raiz da sua loja. Exemplo: * system: normalmente ficam os arquivos xml dos módulos e a library de algum módulo * catalog: normalmente ficam o controller, model e view do módulo * admin: normalmente ficam o painel ou controller, model e view do módulo A maioria de nossos módulos fazem uso do Painel Codemarket, por isso contém menos arquivos, muitos sequer tem a pasta admin, pois a configuração é feita pelo Painel Codemarket. Por isso nossos módulos costumam ter menos arquivos e são mais leve que a maioria. Muito comum a maioria só conter um xml e model ou apenas um xml, atualmente deixamos o xml em system para ser fácil fazer adaptação e pequenas mudanças se preciso, além de ser possível instalar pelo FTP/SFTP. **Exemplo de estrutura do Carrinho Rápido Modal** Dentro da pasta do Opencart do módulo contém duas subpastas: * catalog no qual contém um arquivo tpl ou twig (Opencart 3) no seguinte caminho: catalog_carrinhomodal.twig , no qual serve para ser criado o visual do Modal do Carrinho Rápido * system no qual contém um arquivo Codemarket-Carrinho-Modal.ocmod, responsável pelo funcionalidade do módulo, ele que adiciona o recurso do módulo ao tema e chama o arquivo visual. Como pode ver, só contém os arquivos necessários para o funcionamento do módulo, nenhum arquivo a mais e sem sobrescrever os arquivos de sua loja. Logo todos os nossos módulos só adicionam arquivos próprios e mudanças visuais são executadas por xml sem alterar os arquivos do tema de sua loja ou outros, facilitando assim a remoção, desativação e testes, além de isolar os arquivos do módulo com os da loja. ==== Estrutura preparada para o Instalador do Opencart 2 ou 3 ==== Nesta estrutura, a instalação é feita pelo Instalador do Opencart, não recomendamos atualmente seu uso, devido a algumas Hospedagens não suportarem esse tipo de instalação ou no caso de falha no envio dos arquivos, não ficar um erro claro, parecendo em alguns casos que foi enviado, mesmo quando não foi. Não vamos abordar muito sobre essa estrutura, mas basicamente ela pode conter normalmente as versões do Opencart, porém dentro da pasta de cada versão, vai ter uma estrutura de zip preparada para subir pelo instalador ou alguns casos só contém os zip sem a pasta das versões. Algo como install.ocmod.zip, dentro dela contém uma subpasta upload que ficam os arquivos e pastas a serem adicionados, pode conter um arquivo install.xml que é o xml do módulo, install.php para rodar algum script php e install.sql para rodar instruções do banco de dados. Pode variar um pouco conforme a versão do Opencart, porém no geral é essa estrutura. O xml pode também subir direto pelo Instalador, normalmente fica a estrutura nome.ocmod.xml, já algumas versões precisa por ele em um zip. Além de subir pelo instalador, pode ser adicionado em system o xml, só evite usar os dois métodos, ou seja, adicione o xml na pasta system ou pelo instalador, nunca os dois modos, pois vai duplicar o xml e suas instruções. ===== Enviar os arquivos para o FTP/SFTP da loja ===== No tópico anterior aprendemos sobre as estruturas das pastas e arquivos dos módulos, agora sabemos quais arquivos subir, vamos então ao passo a passo para subir os arquivos para sua loja ou de um cliente. * Descompacte o arquivo zip ou rar do módulo * Acesse a pasta para a sua versão do Opencart * Nela deve conter a estrutura preparada para o FTP, ou seja, pastas como catalog, system, admin, não necessariamente todas, mas pelo menos uma subpasta. * Copie o que tiver dentro dela para a raiz da sua loja usando seu cliente preferido de FTP/SFTP por exemplo o [[https://filezilla-project.org|FileZilla]], normalmente a loja fica em public_html/ ou /var/www/, dependendo muito da Hospedagem e alguns casos a loja também fica em uma subpasta loja ou conforme o nome dado para ela * Caso o que tiver dentro dela seja apenas a pasta upload ou um xml, então copie o tiver dentro da pasta upload para a raiz da Loja e o xml pode colocar na subpasta system de sua Loja, caso ele tenha o nome de install.ocmod.xml ou algo do tipo, pode renomear para um nome único, evitando que outro xml com mesmo nome sobrescreve ele, esse passo só é preciso quando o módulo não foi feito para estrutura por FTP ou quando o desenvolvedor preferiu por na pasta upload os arquivos e subpasta * Pronto, copiado os arquivos para a loja usando o FTP/SFTP, pode ver no seu cliente FTP/SFTP o resultado do envio e se deu certo, no caso de falha procure o suporte da Hospedagem ===== Permissão de uso na Loja ===== Vamos agora aplicar as permissões de uso na Loja para o módulo, assim vai poder vê-lo e utilizar seus recursos. A maioria dos nossos módulos não precisa ser feita esta etapa, apenas quando contém a pasta admin e mesmo nesse caso pode ser que não precise, mas é sempre bom adquirirmos mais conhecimento, pois pode precisar usar um dia. Caso exiba algum erro de permissão ao tentar rodar e acessar o Painel de algum módulo ou recurso, siga as etapas abaixo: * Abra o Administrador da loja que instalará o módulo. Vamos agora aplicar as permissões de acesso e uso: * Agora vá na configuração do Grupo de usuários, normalmente fica em: Configurações > Gerenciar usuários > Grupos de usuários Exemplo no Opencart 3.0.2.0: {{https://cdn.codemarket.com.brhttps://cdn.codemarket.com.br/image/artigos/upload/5b4d29351e2272018-07-16_2025.png|Caminho da configuração do Grupo de Usuários}} * Aparecerá a lista de Grupos de usuários, clique em Editar no grupo que está utilizando o seu usuário; * Clique em editar no ícone azul do lado direito para editar o seu Grupo de Usuário; * Em Permissões de acesso clique em marcar todos ou marque o módulo ou página que não teve acesso; * Faça a mesma coisa em Permissões de modificação **Obs:** tome cuidado para não desmarcar permissões importantes, pois pode prejudicar o acesso a alguns recursos se fizer isso; * Por fim, clique em Salvar no botão localizado no lado direito da tela com um ícone de disquete. Pronto, estamos com a permissão de acesso correta agora. ===== Painel Codemarket e validação ===== Nesta etapa, vamos instalar o Painel Codemarket, instalado apenas uma vez por Loja e efetuar a validação do módulo. Usada apenas para os nossos módulos e de parceiros que vendem em nosso Marketplace. ==== Instalação Painel Codemarket ==== **Para a instalação do nosso Painel, recomendamos verificar o tutorial:** [[https://www.codemarket.com.br/blog/post/como-instalar-o-painel-codemarket-no-opencart|Como instalar o Painel Codemarket no Opencart?]] ==== Validando um Módulo ==== Agora para validar um módulo é bem simples: * Acesse Minha Conta em nosso site * Clique em Minhas Licenças * Na licença que deseja validar, copie o Token informado * Pronto, agora volte ao Administrador da sua Loja * Clique em Extensões > Codemarket Módulos * Agora na linha do módulo que deseja validar, clique em Validar * Vai abrir um pequeno Modal, informe o Token nele e pronto * Agora deve aparecer o botão de Editar do módulo, caso ele tenha edição pelo nosso Painel e também está validado em sua loja para o uso ==== Ativando uma Modificação (OCMOD) ==== ===== Instalação e Configuração na Loja (em desenvolvimento) ===== Nesta etapa vamos finalmente instalar o módulo e sua configuração. O foco aqui são os nossos módulos da Codemarket, mas vamos tentar de forma genérica mencionar outros casos. ==== Acessando a configuração pelo Painel Codemarket ==== * Entre no Administrador de sua loja em uma conta com permissão para usar o Painel Codemarket * Clique em Extensões -> Codemarket Módulos * Vai aparecer uma listagem dos módulos com licenças compradas na Codemarket * Se já fez o passo anterior de Validando um Módulo vai aparecer o botão Editar e Limpar Cache * Clique no Editar para as configurações do módulo e em Salvando Configuração para salvar a configuração * Depois clique em Limpar Cache para puxar a nova configuração * Caso o módulo não use o nosso Painel para configuração, não vai aparecer os botões Editar ou Limpar Cache