Fórum OpenCart Brasil

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

#29647
Galera esse é meu primeiro VQMOD! :D

Ele cria um campo no cadastro de categorias e produtos.

Os dados inseridos nesses campos serão apresentados quando o usuário repousar a seta do mouse sobre os produtos ou categorias de sua loja.

Demo: http://www.opusconsultoria.com.br/loja3

Versão Testada: 1.5.4 e 1.5.4.1 (acredito que funciona em versões anteriores também)

Download:

Download aqui!

Instalação:

No download o tutorial de instalação está em Inglês. Mas é relativamente simples.

1° Copie o xml para a sua pasta do VQMOD.

2° Com o seu banco de dados aberto, vá em "upload" selecione o arquivo "db-install.sql" e dê "OK"

Esses campos no db é essencial para o funcionamento do MOD, ele cria 3 campos para armazenar os dados que forem digitados para a "Title" dos produtos e categorias.

Obs: Apenas lembrando que... dentro do "db-install.sql" ele está buscando as informações do seu banco sem nenhum prefixo. Como assim?

Na instalação do opencart, quando você chega na parte de banco de dados ele pergunta se você quer usar algum prefixo pra facilitar a busca dos dados do OC em seu banco. Se você não utilizou nenhum prefixo.. legal o banco vai instalar..... Agora se você usou algum prefixo terá que abrir o arquivo "db-install.sql" (com bloco de notas mesmo) e incluir manualmente os prefixos do seu banco.

Ex:

Original
ALTER TABLE category_description ADD column cttitle VARCHAR(255) NOT NULL;
ALTER TABLE information_description ADD column cttitle VARCHAR(255) NOT NULL;
ALTER TABLE product_description ADD column cttitle VARCHAR(255) NOT NULL;
Em meu banco de dados eu usei o prefixo "loja_", logo eu abri o arquivo ".sql" e fiz:
ALTER TABLE loja_category_description ADD column cttitle VARCHAR(255) NOT NULL;
ALTER TABLE loja_information_description ADD column cttitle VARCHAR(255) NOT NULL;
ALTER TABLE loja_product_description ADD column cttitle VARCHAR(255) NOT NULL;
OBS 2: Se você utiliza também esse módulo AQUI, teremos que fazer algumas modificações para funcionar.. pois ambos os mod utilizam os mesmos dados de inclusão do banco :(

Acontece que esse meu mod e o mod do cara eles incluem na mesma linha do "product.php" e "category.php" as informações do banco de dados, então o vqmod vai dar problema. Porque o xml que for executado primeiro irá conflitar com o outro quando chegarem na mesma linha de execução.

A solução é editar alguma das vqmod.

vamos lá:

Abra a minha "xml" e exclua as linhas:
<operation>
<search position="replace"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "'");]]></search>
<add><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', cttitle = '" . $this->db->escape($value['cttitle']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "'");]]></add>
</operation>
<operation>
<search position="replace"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "'");]]></search>
<add><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', cttitle = '" . $this->db->escape($value['cttitle']) . "', description = '" . $this->db->escape($value['description']) . "'");]]></add>
</operation>
Agora abra a "xml" do cara e substitua:
<operation>
<search position="replace"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "'");]]></search>
<add><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', cptitle = '" . $this->db->escape($value['cptitle']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "'");]]></add>
</operation>
por
<operation>
<search position="replace"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "'");]]></search>
<add><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', cptitle = '" . $this->db->escape($value['cptitle']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', cttitle = '" . $this->db->escape($value['cttitle']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "'");]]></add>
</operation>
Substitua:
<operation>
<search position="replace"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "'");]]></search>
<add><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', cptitle = '" . $this->db->escape($value['cptitle']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "'");]]></add>
</operation>
Por
<operation>
<search position="replace"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "'");]]></search>
<add><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', cptitle = '" . $this->db->escape($value['cptitle']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', cttitle = '" . $this->db->escape($value['cttitle']) . "', description = '" . $this->db->escape($value['description']) . "'");]]></add>
</operation>
Qualquer dúvida só postar. :D
#32662
oi...

instalei conforme manda (coloquei na pasta vqmod e atualizei o db) mas apareceu esse erro

Notice: Undefined index: cttitle in /home/roupanamoda/www/vqmod/vqcache/vq2-catalog_controller_module_latest.php on line 61Notice: Undefined index: cttitle in /home/roupanamoda/www/vqmod/vqcache/vq2-catalog_controller_module_latest.php on line 61Notice: Undefined index: cttitle in /home/roupanamoda/www/vqmod/vqcache/vq2-catalog_controller_module_latest.php on line 61Notice: Undefined index: cttitle in /home/roupanamoda/www/vqmod/vqcache/vq2-catalog_controller_module_latest.php on line 61Notice: Undefined index: cttitle in /home/roupanamoda/www/vqmod/vqcache/vq2-catalog_controller_module_latest.php on line 61 


plz me ajuda (ps: desabilitei enquanto nao sei o que fazer)

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]