Como utilizar o OCMOD – Sistema de Modificação do OpenCart

A partir da versão 2.0 do OpenCart foi integrado um sistema de modificação de arquivos para que não seja alterado os arquivos originais do OpenCart, garantindo assim a possibilidade de realização de upgrade na plataforma sem perder suas modificações.

OCMOD é baseado do VQMOD, que foi e ainda é utilizado no OpenCart pra mesma finalidade.

A diferença entre os dois é que o OCMOD é nativo do OpenCart e uma versão mais simplificado do VQMOD

Você pode realizar a instalação do OCMOD pelo Painel administrativo (Extensions / Extension Installer ou Extensões / Instalador).

A outra forma seria enviar o arquivo para pasta system, sendo que seria apenas o formato xml que seria aceito neste caso.

Você tem dois formatos para realizar essas modificações:

  • .ocmod.xml
  • .ocmod.zip

O .ocmod.xml é  um XML informando quais as modificações, e em quais arquivos serão realizado do OpenCart

O .ocmod.zip já é um pacote de arquivos, além do xml das modificações, tem outros arquivos e pasta:

  • upload/
  • install.sql
  • install.php
  • install.xml

Na pasta upload estarão todos os arquivos que serão movidos para pasta onde foi instalado o OpenCart.

O arquivo install.sql serão as instruções SQL que você deseja executar, como criar ou excluir tabelas, inserir, alterar ou excluir dados.

O arquivo install.php terão os scripts em PHP que você deseja executar.

O arquivos install.xml terão as instruções em XML para modificação de arquivos no OpenCart.

Agora irei mostra como criar apenas com o modificador, que seria o arquivo xml. Criaremos uma modificação onde adicionaremos o nome da loja no título da página.

Primeiro, criaremos um arquivo chamado modified-title.ocmod.xml

Vamos para estrutura básica:

<?xml version="1.0" encoding="utf-8"?>
<modification>
    <name>Adicionar nome da Loja no Titulo</name>
    <version>1.0</version>
    <author>David CHC</author>
    <link>http://www.davidchc.com.br</link>   
</modification>

1 – Definição do XML
2 – Abertura de tag modification
3 – Nome da modificação
4 – Versão da modificação
5 – Nome do Autor
6 – URL do site do autor
7 – Fechamento da tag modification.

A principio temos as informações gerais da nossa modificação. Agora iremos adicionar dentro da tag modification o arquivo que terá a modificação, o que iremos buscar, qual ação queremos, se vamos substituir, adicionar depois ou antes do que pedimos para busca, qual valor que será alterado ou adicionado.

Ficando assim:

<?xml version="1.0" encoding="utf-8"?>
<modification>
    <name>Adicionar nome da Loja no Titulo</name>
    <version>1.0</version>
    <author>David CHC</author>
    <link>http://www.davidchc.com.br</link>

    <file path="catalog/controller/common/header.php">
        <operation>
            <search><![CDATA[$data['title'] = $this->document->getTitle();]]></search>
            <add position="replace"><![CDATA[
            	$data['title'] = $this->document->getTitle().' | '.$this->config->get('config_name');
            ]]></add>
        </operation>
    </file>  

</modification>

8 – Na tag file, informando o arquivo que queremos modificar. Você pode informar vários arquivos, basta separar por |;
9 – Abertura da tag operation. Você pode realizar várias ações num arquivo e cada ação terá que ser adiciona de uma tag operation;
10 – Abertura e fechamento da tag search. Nela você irá informar o que deseja busca;
11 – Abertura da tag add. Nela temos um atributo que informa ação e que em nosso exemplo terá que substituir (replace), mas é possível adicionar antes (before) ou depois (after) do trecho que informando na tag search;
13 – Fechamento da tag add;
14 – Fechamento da tag operation;
15 – Fechamento da tag file.

De forma descritiva, o que informamos foi:

Acesse o arquivo  catalog/controller/common/header.php

Busca nesse arquivo esse trecho:

$data['title'] = $this->document->getTitle();

Substitua (replace) o trecho encontrado, por esse trecho:

$data['title'] = $this->document->getTitle().' | '.$this->config->get('config_name');

Dessa forma, você tem um infinidade de possibilidades de modificações que você pode realizar no OpenCart, desde modificar ou adicionar novos comportamentos.

Você encontrará mais informações dos outros atributos e opção no wiki do próprio OpenCart.

https://github.com/opencart/opencart/wiki/Modification-System

Espero que tenham gostado.

Um abraço e até a próxima.

https://github.com/davidchc/adicionar-nome-da-loja-no-titulo-opencart

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *