Git Product home page Git Product logo

ocmod-editor's Introduction

license

Apresentação

Esta modificação foi desenvolvida no padrão OCMOD, e tem o objetivo de habilitar na administração do OpenCart funcionalidades para criar, editar e gerenciar arquivos XML no padrão OCMOD, além de possuir recursos úteis que são utilizados em atividades rotineiras durante o processo de implantação e ajustes da loja.

As seguintes funcionalidades são adicionadas no menu Extensões→Modificações:

  • Criar arquivos XML no padrão OCMOD.
  • Editar arquivos XML no padrão OCMOD.
  • Limpar o cache de dados gerados pela loja.
  • Limpar o cache de imagens geradas pela loja.
  • Limpar o cache do twig/sass gerados pela loja.
  • Fazer download de qualquer arquivo XML no padrão OCMOD.
  • Pesquisar trechos de código em arquivos XML no padrão OCMOD.
  • Validar o preenchimento das tags obrigatórias no XML em padrão OCMOD.
  • Validar todos os arquivos XML no padrão OCMOD e gerar log de erros amigável.
  • Visualizar em qual arquivo ocmod.zip a modificação OCMOD está vinculada.
  • Visualizar uma lista com todos os arquivos que foram modificados por OCMOD.
  • Comparar diferenças entre o arquivo original e o arquivo modificado utilizando o editor.
  • Editar e salvar arquivos de cache modificados por OCMOD para identificar problemas de conflito entre modificações.

Instalação

  1. Acesse a URL: https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=22015.
  2. Localize a extensão compatível com sua versão do OpenCart e faça o download do arquivo "ocmod-editor.ocmod.zip".
  3. Na administração da sua loja, vá ao menu Extensões→Instalador (Extensions→Installer), clique no botão Upload, selecione o arquivo 'ocmod-editor.ocmod.zip' e aguarde a conclusão da instalação automática.
  4. Após a instalação, vá ao menu Extensões→Modificações (Extensions→Modifications) e clique 2x no botão Atualizar (Refresh), para que a modificação instalada seja incrementada na loja, lembrando que não é o botão "Atualizar" do navegador, e sim o botão "Atualizar" na cor azul ao lado do botão laranja e vermelho na tela do próprio OpenCart.
  5. No OpenCart 3, vá na página principal do painel de controle da administração da loja, abaixo do botão "Sair", você verá um botão na cor azul com o desenho de uma engrenagem branca dentro dele, clique neste botão, e no popup que vai abrir, clique nos dois botões na cor laranja que estão dentro da coluna "Ação" para atualizar o cache do tema.

Desinstalação

Para desinstalar a modificação, na administração da sua loja, vá ao menu Extensões→Modificações (Extensions→Modifications), localize e selecione a modificação com o nome 'OCMOD Editor for OpenCart...', depois clique no botão Excluir (Delete) e depois no 2x botão Atualizar (Refresh).

Atualização

Na administração de sua loja, execute o procedimento de Desinstalação (descrito neste manual), depois execute o procedimento de Instalação (descrito neste manual).

Dúvidas

O OCMOD (OpenCart Modification) é nativo do OpenCart, ou seja, não é necessário instalar nenhum complemento no OpenCart para utilizar modificações ou extensões no padrão OCMOD, para mais informações sobre o OCMOD, segue a URL para mais informações:

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

ocmod-editor's People

Contributors

alxjzx100 avatar felipoantonoff avatar ildaviz avatar v5mvidal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ocmod-editor's Issues

Have Permission issues.

Hi, I try to install it have had Warning: mkdir(): Permission denied in. How to solve it.

OpenCart version 3.0.3.8

Problemas com determinada configuração

Primeiramente parabéns pela iniciativa. Fiz alguns testes em um servidor do terra e tive problemas.
No download do arquivo, ele gera o arquivo com o erro abaixo dentro do próprio arquivo xml.

<b>Warning</b>: filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;modification&gt;
    &lt;name&gt;Acrescentar url amigável ao restante do opencart&lt;/name&gt;
    &lt;code&gt;acrescentar-url-amigavel-ao-restante-do-opencart&lt;/code&gt;   
    &lt;version&gt;1.2&lt;/version&gt;
    &lt;author&gt;Ibrahim Brumate&lt;/author&gt;
    &lt;link&gt;http://www.opencartbrasil.com.br&lt;/link&gt;

    &lt;file path=&quot;catalog/controller/common/seo_url.php&quot;&gt;
        &lt;operation&gt;
            &lt;search&gt;
                &lt;![CDATA[
                    class ControllerCommonSeoUrl extends Controller {
                ]]&gt;
            &lt;/search&gt;
            &lt;add position=&quot;after&quot;&gt;
                &lt;![CDATA[
                    private $url_list = array (
                        'common/home' =&gt; '',
                        'account/wishlist' =&gt; 'lista-presentes',
                        'account/account' =&gt; 'conta',
                        'account/edit' =&gt; 'conta/editar',
                        'account/password' =&gt; 'conta/senha',
                        'account/address' =&gt; 'conta/enderecos',
                        'account/address/edit' =&gt; 'conta/enderecos/editar',
                        'account/reward' =&gt; 'conta/pontos',
                        'account/login' =&gt; 'conta/acessar',
                        'account/logout' =&gt; 'conta/sair',
                        'account/order' =&gt; 'conta/historico',
                        'account/order/info' =&gt; 'conta/historico/detalhes',
                        'account/newsletter' =&gt; 'conta/informativo',
                        'account/forgotten' =&gt; 'conta/recuperar',
                        'account/download' =&gt; 'conta/downloads',
                        'account/return' =&gt; 'conta/devolucoes',
                        'account/return/add' =&gt; 'conta/devolucoes/registrar',
                        'account/transaction' =&gt; 'conta/transacoes',
                        'account/register' =&gt; 'conta/registrar',
                        'account/recurring' =&gt; 'conta/assinaturas',
                        'account/voucher' =&gt; 'conta/comprar-vale-presentes',
                        'affiliate/account' =&gt; 'afiliados',
                        'affiliate/edit' =&gt; 'afiliados/editar',
                        'affiliate/password' =&gt; 'afiliados/senha',
                        'affiliate/payment' =&gt; 'afiliados/pagamento',
                        'affiliate/tracking' =&gt; 'afiliados/codigo',
                        'affiliate/transaction' =&gt; 'afiliados/transacoes',
                        'affiliate/logout' =&gt; 'afiliados/sair',
                        'affiliate/forgotten' =&gt; 'afiliados/recuperar',
                        'affiliate/register' =&gt; 'afiliados/registrar',
                        'affiliate/login' =&gt; 'afiliados/acessar',
                        'checkout/cart' =&gt; 'carrinho',
                        'checkout/checkout' =&gt; 'carrinho/finalizar',
                        'checkout/voucher' =&gt; 'vale-presentes',
                        'checkout/success' =&gt; 'pedido-efetuado',
                        'information/contact' =&gt; 'contato',
                        'information/budget' =&gt; 'orcamento-personalizado',
                        'information/sitemap' =&gt; 'mapa-loja',
                        'information/news' =&gt; 'noticias',
                        'product/special' =&gt; 'promocoes',
                        'product/manufacturer' =&gt; 'fabricantes',
                        'product/compare' =&gt; 'lista-comparacao',
                        'product/search' =&gt; 'busca'
                    );
                ]]&gt;
            &lt;/add&gt;
        &lt;/operation&gt;
        &lt;operation&gt;
            &lt;search&gt;
                &lt;![CDATA[
                    $this-&gt;request-&gt;get['route'] = 'error/not_found';
                ]]&gt;
            &lt;/search&gt;
            &lt;add position=&quot;after&quot; offset=&quot;4&quot;&gt;
                &lt;![CDATA[
                    if ( $_s = $this-&gt;setURL($this-&gt;request-&gt;get['_route_']) ) {
                        $this-&gt;request-&gt;get['route'] = $_s;
                    }
                ]]&gt;
            &lt;/add&gt;
        &lt;/operation&gt; 
        &lt;operation&gt;
            &lt;search&gt;
                &lt;![CDATA[
                    if ($url) {
                ]]&gt;
            &lt;/search&gt;
            &lt;add position=&quot;before&quot; offset=&quot;3&quot;&gt;
                &lt;![CDATA[
                    if( $_u = $this-&gt;getURL($data['route']) ){
                        $url .= $_u;
                        unset($data[$key]);
                    }
                ]]&gt;
            &lt;/add&gt;
        &lt;/operation&gt;
        &lt;operation&gt;
            &lt;search&gt;
                &lt;![CDATA[
                    return $link;
                ]]&gt;
            &lt;/search&gt;
            &lt;add position=&quot;after&quot; offset=&quot;2&quot;&gt;
                &lt;![CDATA[
                    public function getURL($route) {
                            if( count($this-&gt;url_list) &gt; 0) {
                                 foreach ($this-&gt;url_list as $key =&gt; $value) {
                                    if($route == $key) {
                                        return '/'.$value;
                                    }
                                 }
                            }
                            return false;
                    }
                    public function setURL($_route) {
                            if( count($this-&gt;url_list) &gt; 0 ){
                                 foreach ($this-&gt;url_list as $key =&gt; $value) {
                                    if($_route == $value) {
                                        return $key;
                                    }
                                 }
                            }
                            return false;
                    }
                ]]&gt;
            &lt;/add&gt;
        &lt;/operation&gt;
    &lt;/file&gt;
&lt;/modification&gt;
 in <b>/services2/webpages/i/c/meusite.com.br/public/admin/controller/extension/modification_editor.php</b> on line <b>181</b><b>Warning</b>: Cannot modify header information - headers already sent by (output started at /services2/webpages/i/c/meusite.com.br/public/admin/index.php:80) in <b>/services2/webpages/i/c/meusite.com.br/public/admin/controller/extension/modification_editor.php</b> on line <b>181</b>

Add some return buttons - version 3

Maybe some solutions!

admin/controller/extension/modification/diff.php
Delete line 60:
$data['return'] = $this->url->link('extension/modification', 'user_token=' . $this->session->data['user_token'], true);

Add:
$data['return'] = $this->url->link('extension/modification/files', 'user_token=' . $this->session->data['user_token'], true);

admin/language/en-gb/extension/modification/diff.php
Add:
// Button
$_['button_return'] = 'Return modified files';

admin/view/template/extension/modification/diff.twig
Add below line 4:
<div class="pull-right"> <a href="{{ return }}" data-toggle="tooltip" title="{{ button_return }}" class="btn btn-default"><i class="fa fa-reply"></i></a> </div>

admin/controller/extension/modification/files.php
Add below line 55:
$data['button_return'] = $this->language->get('button_return'); $data['return'] = $this->url->link('marketplace/modification', 'user_token=' . $this->session->data['user_token'], true);

admin/language/en-gb/extension/modification/files.php
Add:
// Button
$_['button_return'] = 'Return modifications';

admin/view/template/extension/modification/files.twig
Add below line 4:
<div class="pull-right"> <a href="{{ return }}" data-toggle="tooltip" title="{{ button_return }}" class="btn btn-default"><i class="fa fa-reply"></i></a> </div>

And Delete target="_blank" at line 34:
target="_blank"

admin/controller/extension/modification/error_log.php
Add below line 58:
$data['button_return'] = $this->language->get('button_return'); $data['return'] = $this->url->link('marketplace/modification', 'user_token=' . $this->session->data['user_token'], true);

admin/language/en-gb/extension/modification/error_log.php
Add:
// Button
$_['button_return'] = 'Return modifications';

admin/view/template/extension/modification/error_log.twig
Add below line 6:
<a href="{{ return }}" data-toggle="tooltip" title="{{ button_return }}" class="btn btn-default"><i class="fa fa-reply"></i></a>

Não ativou na versão 3.0.6.3

A instalação é realizada sem problemas aparente, verifiquei as permissões de pastas e até tentei instalando de forma manual, porém não esta ativando. O log de erros das extensões ele retorna essas informações:

OC Versão 3.0.3.6

MOD: OCMOD Editor for OpenCart 3.0.x

FILE: admin/controller/startup/permission.php
CODE: $extension = array(
LINE: 18

[bug] PHP Notice: Undefined index: filename in

Após atualizar para versão 3.4.0, aparece vários erros no log.

13-04-2022 9:18:00 - PHP Notice: Undefined index: filename in /www/wwwroot/dominio/system/storage/modification/admin/controller/marketplace/modification.php on line 710

Does not work with .tpl

Hi guys, all of the code is perfect but after many tests... I can see it does not work with .tpl files...

The errors in the log after each edit.

2017-02-21 9:45:29 - PHP Notice: Undefined variable: new in /home/clients/ankurnosov_ftp2/domains/1mytestsite.ru/html/system/storage/modification/admin/view/template/extension/modification.tpl on line 6
2017-02-21 9:45:29 - PHP Notice: Undefined variable: button_new in /home/clients/ankurnosov_ftp2/domains/1mytestsite.ru/html/system/storage/modification/admin/view/template/extension/modification.tpl on line 6
2017-02-21 9:45:29 - PHP Notice: Undefined index: edit in /home/clients/ankurnosov_ftp2/domains/1mytestsite.ru/html/system/storage/modification/admin/view/template/extension/modification.tpl on line 96
2017-02-21 9:45:29 - PHP Notice: Undefined variable: button_edit in /home/clients/ankurnosov_ftp2/domains/1mytestsite.ru/html/system/storage/modification/admin/view/template/extension/modification.tpl on line 96
2017-02-21 9:45:29 - PHP Notice: Undefined index: download in /home/clients/ankurnosov_ftp2/domains/1mytestsite.ru/html/system/storage/modification/admin/view/template/extension/modification.tpl on line 97
2017-02-21 9:45:29 - PHP Notice: Undefined variable: button_download in /home/clients/ankurnosov_ftp2/domains/1mytestsite.ru/html/system/storage/modification/admin/view/template/extension/modification.tpl on line 97
2017-02-21 9:45:29 - PHP Notice: Undefined index: edit in /home/clients/ankurnosov_ftp2/domains/1mytestsite.ru/html/system/storage/modification/admin/view/template/extension/modification.tpl on line 96
2017-02-21 9:45:29 - PHP Notice: Undefined variable: button_edit in /home/clients/ankurnosov_ftp2/domains/1mytestsite.ru/html/system/storage/modification/admin/view/template/extension/modification.tpl on line 96
2017-02-21 9:45:29 - PHP Notice: Undefined index: download in /home/clients/ankurnosov_ftp2/domains/1mytestsite.ru/html/system/storage/modification/admin/view/template/extension/modification.tpl on line 97
2017-02-21 9:45:29 - PHP Notice: Undefined variable: button_download in /home/clients/ankurnosov_ftp2/domains/1mytestsite.ru/html/system/storage/modification/admin/view/template/extension/modification.tpl on line 97

Unable to load non-default admin directory name in OpenCart 3.0.3.9 environment

Thanks for your development!

But in recent years, hackers have made malicious attempts to attack,

Starting from OpenCart 3.0.3.8, OpenCart officials must forcefully change admin to another directory name, As a result, "Analyze modifications" cannot load files normally.

Warning: readfile(/home/): failed to open stream: No such file or directory in /home//public_html/admin-/controller/extension/modification/diff.php on line 39

Dear Sir, Can you solve this problem?

Problema com permissão de acesso a página

Na minha loja (2.0.1.1) sempre ao clicar em editar qualquer modificação retorna a mensagem:

Permissão negada!
Você não tem permissão para acessar esta página, consulte o administrador do loja para mais informações.

Todas as permissões setadas para o grupo Administrador.

[bug] SyntaxError: in

OpenCart 3.0.3.7 and 3.0.3.8 (and maybe earlier) there is an error in editor file. When you hit edit button on an xml file and use "erase twig/sass cache" button, an error appear and the cache template folder is not erased.

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data .....

I replaced this
$directories = glob(DIR_CACHE . '*', GLOB_ONLYDIR);
on line 262 of admin/controller/extension/modification/editor.php
into this
$directories = glob(DIR_CACHE . '/template/*', GLOB_ONLYDIR);

Result: error disappear and folder cache/template/ is erased.

Can you confirm this is correct?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.