Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#64134
1. Acesse o arquivo catalog/model/account/register.php
2. Dentro da função addCustomer() procure por $this->db->escape($data['firstname']).
3. Substitua pelo código abaixo o código do passo 2 por:
Código: Selecionar todos
$this->db->escape(ucwords($data['firstname']))
4. Procure por $this->db->escape($data['lastname']) e repita o passo 3 substituindo firstname por lastname.
5. Repita desde o passo 2, agora dentro da função editCustomer
#85759
Olá,

Eu pesquisei para encontrar alguma dica para deixar o nome e sobrenome do cliente em maiúscula e acabei encontrando esse tópico antigo que ficou em aberto. Nele a dica é apenas a primeira letra do nome mas já melhora para as emissões de Nota Fiscal e outras coisas que estou tendo que alterar manualmente. O problema é que não existe o caminho informado na dica aqui, esse arquivo register.php até existe na pasta catalog mas também não tem as linhas informadas. Como a pessoa que pediu ajuda não voltou para agradecer e fechar o tópico ou pelo menos para falar que não deu certo eu não sei qual foi o erro. Afinal eu que comi bola ou a dica está furada?

EDITADO:
Eu encontrei essa linha no arquivo customer.php mas com as alterações ditas aqui nada muda no cadastro. Imagino que tenha que usar algum tipo de máscara com uppercase.
#85768
Smagicas escreveu:$this->db->escape($data['firstname'])
Os arquivos a serem modificados são:
1. catalog/model/account/customer.php
2. catalog/model/account/address.php
3. catalog/model/checkout/order.php

Procure pelos códigos abaixo em cada arquivo, onde encontrar, mude colocando o ucwords
$this->db->escape($data['firstname'])
$this->db->escape($data['lastname'])
$this->db->escape($data['payment_firstname']
$this->db->escape($data['payment_lastname']
$this->db->escape($data['shipping_firstname']
$this->db->escape($data['shipping_lastname']

Faça as mudanças citadas anteriormente e se for opencart 3, limpe o cache do tema.
Obs: As mudanças só surtirão efeito para novos cadastros ou edições.

Caso queira dá pra alterar os clientes já cadastrados, porém tem que fazer o comando sql direto no banco de dados.
#85770
Olá @rlasmar , deu certo. Eu havia notado que a dica passada na época estava com erro por isso não consegui. Eu só troquei o ucwords por strtoupper que fica bem melhor, no início eu pensei que não tinha dado certo porque eu estava acostumado com uma loja antiga de outra plataforma e lá tinha uma máscara então na hora de preencher o cadastro já ia ficando certo e dessa maneira só aparece depois de confirmar o cadastro, no preenchimento fica como digitou, quando chega o e-mail avisando de novo cliente também chega como foi digitado mas no cadastro e pedidos ficou certinho.

Obrigado pela dica.

EDITADO:
Fontes com cedilha ou acentos não funcionam com o código passado acima, para funcionar com nomes em português que tenham acentos ou cedilhas tem que usar mb_strtoupper.
rlasmar gostou disso

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 […]