Fórum OpenCart Brasil

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

#25393
Olá pessoal,

Alguém sabe como posso excluir alguns desses campos novos no formulário?

Gostaria de excluir:
- pessoa jurídica
- cnpj
- razão social
- inscrição estatual.

Poderia tirar essas opções do arquivo XML, mas de qualquer forma a tabela será criada no banco de dados e no admin os campos seriam exibidos.

Qual seria a melhor solução?

Pesquisei e achei essa solução: https://forum.opencartbrasil.com.br/ ... 615#p25376

Existem algum problema em colocar esse MOD de Cadastro e depois desativar os campos pelo admin?
para desativá-los, na administração da loja, acesse o menu Vendas->Clientes->Grupos de Clientes, clique em Editar, e desmarque as opções que você não deseja exibir e clique no botão Salvar.
Outra dúvida é com relação a versão, essa versão 1.5.2.1, roda em 1.5.2? Alguém sabe?

Obrigado,
Abs
#25807
instalei o modulo e ao fazer um cadastro aparece o erro:

Notice: Error: Unknown column 'cpf' in 'field list'
Error No: 1054
INSERT INTO customer SET store_id = '0', firstname = 'José', lastname = 'Neto', email = '', telephone = '', fax = '', cpf = '', rg = '980011', cnpj = '', razao_social = '', inscricao_estadual = '', data_nascimento = '', sexo = 'm', password = '1b36ea1c9b7a1c3ad668b8bb5df7963f', newsletter = '1', customer_group_id = '8', ip = '', status = '1', approved = '1', date_added = NOW() in /home/centrald/public_html/system/database/mysql.php on line 49
#25863
Compativel com uberCheckout do qphoria?
#25952
Pessoal,

A respeito das dúvidas que havia postado, consegui as soluções. Seguem as respostas para o caso de alguém precisar:

- O MOD roda na versão 1.5.2 perfeitamente. Estou utlizando essa versão com um template diferente do default, para isso eu dei um 'find and replace'
Código: Selecionar todos
catalog/view/theme/*/template/
para
Código: Selecionar todos
catalog/view/theme/MEU_TEMA/template/
- Para excluir os campos citados abaixo, eu abri o arquivo XML e fiz o seguinte:

Eu deixei a opção Pessoa Física/Jurídica escondida, por padrão fica selecionado pessoa física e assim só são exibidos os campos CPF e RG.
É preciso fazer o ajuste no <tr> para <tr style="display:none;"> em todos os locais do XML onde aparece essa estrutura (acho que são 2 ou 3):
Código: Selecionar todos
                                
                                  <tr style="display:none;">
				  <td>Tipo:</td>
				  <td>
				    <?php if ($cpf<>""){ ?>
				    <input type="radio" name="pessoa" id="fisica" checked value="fisica">
				    Pessoa Física
				    <input type="radio" id="juridica" name="pessoa" value="juridica">
				    Pessoa Juridica......
- No final do XML, em template/checkout/register.tpl, a estrutura é um pouco diferente dessa acima. Eu tirei os campos que não queria e deixei a opção pessoa física escondida.
Código: Selecionar todos
<input type="hidden" name="pessoa" id="fisica" checked value="fisica">

Olá pessoal,

Alguém sabe como posso excluir alguns desses campos novos no formulário?

Gostaria de excluir:
- pessoa jurídica
- cnpj
- razão social
- inscrição estatual.

Poderia tirar essas opções do arquivo XML, mas de qualquer forma a tabela será criada no banco de dados e no admin os campos seriam exibidos.

Qual seria a melhor solução?

Pesquisei e achei essa solução: viewtopic.php?f=37&t=4615#p25376

Existem algum problema em colocar esse MOD de Cadastro e depois desativar os campos pelo admin?
para desativá-los, na administração da loja, acesse o menu Vendas->Clientes->Grupos de Clientes, clique em Editar, e desmarque as opções que você não deseja exibir e clique no botão Salvar.
Outra dúvida é com relação a versão, essa versão 1.5.2.1, roda em 1.5.2? Alguém sabe?

Obrigado,
Abs
#28003
Funciona na versão 1.5.4.1? Se não, o que precisamos alterar? Pois instalei o módulo em Extensões>Modulos mas após a instalação fica apenas a opção de Habilitar e Desabilitar e isso não altera nada no site nem no admin.

Obrigado!
#28311
Pessoal,

Quando instalar o mod, verifica no vqmod.log o erro que aparece, na maioria dos casos as novas versão do OC tem alteração nos model, controller e views.

Para quem não conseguiu rodar na versão Versão 1.5.4.x, segue abaixo a alteração no xml.

Vai na linha 1988:
Código: Selecionar todos
<file name="catalog/model/account/customer.php">
Logo abaixo tem o <operation> deste arquivo.
Antes:
Código: Selecionar todos
<operation>
			<search position="replace" index="1"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', password = '" . $this->db->escape(md5($data['password'])) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");]]></search>
			<add><![CDATA[
				if ($this->config->get('fields_register_brazil_status')){ 
					if ($data['data_nascimento'] == ""){
						$dataparts[0] = "00";
						$dataparts[1] = "00";
						$dataparts[2] = "0000";
					}else{
						$dataparts = explode("/",$data['data_nascimento']);
					}

					$data['firstname']          = ucwords(strtr(strtolower($data['firstname']),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ"));
					$data['lastname']           = ucwords(strtr(strtolower($data['lastname']),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ"));
					$data['email']              = strtr(strtolower($data['email']),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ");
					$data['telephone']          = preg_replace('/([^0-9])/i','',$data['telephone']);
					$data['fax']                = preg_replace('/([^0-9])/i','',$data['fax']);
					$data['cpf']                = preg_replace('/([^0-9])/i','',$data['cpf']);
					$data['rg']                 = preg_replace('/([^0-9])/i','',$data['rg']);
					$data['cnpj']               = preg_replace('/([^0-9])/i','',$data['cnpj']);
					$data['inscricao_estadual'] = preg_replace('/([^a-z0-9])/i','',$data['inscricao_estadual']);

					$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', cpf = '" . $this->db->escape($data['cpf']) . "', rg = '" . $this->db->escape($data['rg']) . "', cnpj = '" . $this->db->escape($data['cnpj']) . "', razao_social = '" . $this->db->escape($data['razao_social']) . "', inscricao_estadual = '" . $this->db->escape($data['inscricao_estadual']) . "', data_nascimento = '" . $this->db->escape($dataparts[2]."-".$dataparts[1]."-".$dataparts[0]) . "', sexo = '" . $this->db->escape($data['sexo']) . "', password = '" . $this->db->escape(md5($data['password'])) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");
				}else{
					$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', password = '" . $this->db->escape(md5($data['password'])) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");
				}
			]]></add>
		</operation>
Depois/Alterado:
Código: Selecionar todos
<operation>
			<search position="replace" index="1"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', salt = '" . $this->db->escape($salt = substr(md5(uniqid(rand(), true)), 0, 9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");]]></search>
			<add><![CDATA[
				if ($this->config->get('fields_register_brazil_status')){ 
					if ($data['data_nascimento'] == ""){
						$dataparts[0] = "00";
						$dataparts[1] = "00";
						$dataparts[2] = "0000";
					}else{
						$dataparts = explode("/",$data['data_nascimento']);
					}

					$data['firstname']          = ucwords(strtr(strtolower($data['firstname']),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ"));
					$data['lastname']           = ucwords(strtr(strtolower($data['lastname']),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ"));
					$data['email']              = strtr(strtolower($data['email']),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ");
					$data['telephone']          = preg_replace('/([^0-9])/i','',$data['telephone']);
					$data['fax']                = preg_replace('/([^0-9])/i','',$data['fax']);
					$data['cpf']                = preg_replace('/([^0-9])/i','',$data['cpf']);
					$data['rg']                 = preg_replace('/([^0-9])/i','',$data['rg']);
					$data['cnpj']               = preg_replace('/([^0-9])/i','',$data['cnpj']);
					$data['inscricao_estadual'] = preg_replace('/([^a-z0-9])/i','',$data['inscricao_estadual']);

					$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', salt = '" . $this->db->escape($salt = substr(md5(uniqid(rand(), true)), 0, 9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW(), cpf = '" . $this->db->escape($data['cpf']) . "', rg = '" . $this->db->escape($data['rg']) . "', cnpj = '" . $this->db->escape($data['cnpj']) . "', razao_social = '" . $this->db->escape($data['razao_social']) . "', inscricao_estadual = '" . $this->db->escape($data['inscricao_estadual']) . "', data_nascimento = '" . $this->db->escape($dataparts[2]."-".$dataparts[1]."-".$dataparts[0]) . "', sexo = '" . $this->db->escape($data['sexo']) . "'");
				}else{
					$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', salt = '" . $this->db->escape($salt = substr(md5(uniqid(rand(), true)), 0, 9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");
				}
			]]></add>
		</operation>
Resolvendo problemas
Pelo vqmod.log ele mostra onde está o erro, e interrompe o MOD.
O correto e ir no arquivo que deu erro, e verificar o <search> do xml, se está idêntico ao arquivo.php

Para a versão 1.5.4.x a alteração foi na linha do password, no INSERT tem o atributo salt (novo) e alteração no atributo password, por isso o motivo do erro no MOD.
Procurem sempre olhar o vqmod.log ele mostra o que deu errado na execução.
#28693
Após fazer esta alteração, quando se faz um cadastro novo DATA DE NASCIMENTO, CPF(CNPJ) e RG (RAZAO SOCIAL e INSCRIÇÃO) não são gravados e mas quando entra pelo painel do cliente e insere novamente ai sim é gravado. Não aparece nenhum erro nos logs :(
#28762
Na versao v1.5.4.1 não funciona.
Código: Selecionar todos
SEARCH NOT FOUND (ABORTING MOD): $this->db->query("INSERT INTO " . DB_PREFIX . "customer SET firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', newsletter = '" . (int)$data['newsletter'] . "', customer_group_id = '" . (int)$data['customer_group_id'] . "', password = '" . $this->db->escape(md5($data['password'])) . "', status = '" . (int)$data['status'] . "', date_added = NOW()");
#28800
Aê pessoal blz?

Cara muito boa essa extensão.
Agora eu gostaria somente de mudar o campo RG para MATRÍCULA, já tentei alterando o xml mas quando subo o arquivo os campos adicionais somem todos.
Se possível gostaria de alterar pelo menos o nome que aparece para o usuário de RG para MATRÍCULA.
Alguém poderia me dar uma mãozinha?

Vlw
#28820
davidtcks escreveu:Aê pessoal blz?

Cara muito boa essa extensão.
Agora eu gostaria somente de mudar o campo RG para MATRÍCULA, já tentei alterando o xml mas quando subo o arquivo os campos adicionais somem todos.
Se possível gostaria de alterar pelo menos o nome que aparece para o usuário de RG para MATRÍCULA.
Alguém poderia me dar uma mãozinha?

Vlw
Veja se você modifica no arquivo de tradução.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 20