Boa Tarde Pessoal!
Hoje vou postar uma dica muito útil sobre como alterar aquela mensagem de boas-vindas, que fica no cabeçalho da loja, de acordo com o gênero do cliente logado (masculino ou feminino).
Ao instalar o Magento, a mensagem padrão de boas-vindas é: "Default welcome msg!", que, dependendo da tradução, fica: "Mensagem de boas-vindas!".
Para alterar essa mensagem, basta ir em Sistema-> Configuração-> GERAL/Tema, aba Cabeçalho, campo Mensagem de Boas-Vindas.
Quando um cliente se cadastra e loga na sua loja, a mensagem muda para: "Welcome, Customer Name!" que, dependendo da tradução, fica: "Bem-Vindo, Nome do Cliente!".
Para alterar essa mensagem, você pode simplesmente traduzi-lá (inline ou no arquivo .csv), mas esse não é o foco dessa dica. Ás vezes, como no meu caso, é preciso diferenciar a mensagem de acordo com o gênero do usuário logado. Nessa dica, irei usar como exemplo a mensagem padrão:"Bem-Vindo, Nome do Cliente!", faça as alterações de acordo com a sua necessidade!
1º - Copie o arquivo Header.php de app-> code-> core-> Mage-> Page-> Block-> Html
Para app-> code-> local-> Mage-> Page-> Block-> Html
Criando os diretórios necessários.
2º - Abra o arquivo anteriormente copiado e procure o seguinte trecho:
if (empty($this->_data['welcome'])) {
if (Mage::isInstalled() && Mage::getSingleton('customer/session')->isLoggedIn()) {
$this->_data['welcome'] = $this->__('Welcome, %s!', $this->escapeHtml(Mage::getSingleton('customer/session')->getCustomer()->getName()));
} else {
$this->_data['welcome'] = Mage::getStoreConfig('design/header/welcome');
}
}
Substitua ele todo por esse:
if (empty($this->_data['welcome'])) {
if (Mage::isInstalled() && Mage::getSingleton('customer/session')->isLoggedIn() && Mage::getSingleton('customer/session')->getCustomer()->getGender() == 1) {
$this->_data['welcome'] = $this->__('Bem-vindo, %s!', $this->escapeHtml(Mage::getSingleton('customer/session')->getCustomer()->getName()));
}
elseif (Mage::isInstalled() && Mage::getSingleton('customer/session')->isLoggedIn() && Mage::getSingleton('customer/session')->getCustomer()->getGender() == 2) {
$this->_data['welcome'] = $this->__('Bem-vinda, %s!', $this->escapeHtml(Mage::getSingleton('customer/session')->getCustomer()->getName()));
} else {
$this->_data['welcome'] = Mage::getStoreConfig('design/header/welcome');
}
}
Explicando:
1 e 2 são os códigos (no banco de dados) de Masculino e Feminino, respectivamente;
'Bem-vindo, %s!' é a mensagem setada para o cliente com o gênero masculino (1);
'Bem-vinda, %s!' é a mensagem setada para a cliente com o gênero feminino (2);
%s é a variável que exibe o nome do cliente logado.
Seguindo todos os passos corretamente, ficará mais ou menos assim:
Cliente do gênero masculino logado
Cliente do gênero feminino logado
Observações:
- Para que essas alterações funcionem perfeitamente, é necessário que a escolha do gênero seja obrigatória no cadastro do cliente. Para isso, vá em Sistema-> Configuração-> CLIENTES/ Configurações, guia Opções de Nome e Endereço e escolha a opção Obrigatório no campo Exibir Sexo;
- Caso as opções Feminino e Masculino não estejam traduzidas na sua loja, será necessário alterar diretamente no banco de dados, na tabela eav_attribute_option_value.
Então é isso, qualquer dúvida, sugestão ou correção, deixe um comentário!
=)
Seria possível a realização conforme o período antes de logar?
ResponderExcluirPor ex. Bom Dia! Boa tarde! Boa Noite!
Olá Flávio!
ExcluirInteressante a sua dúvida!
Acho isso seria possível sim, acrescentando condições no mesmo arquivo alterado nessa dica.
Vou pesquisar um pouco e testar aqui.
Qualquer coisa, posta no blog!
=)
Flávio, tenta substituir aquele trecho do 2º passo por esse:
Excluir$hour = date("H", Mage::getModel('core/date')->timestamp(time()));
if (empty($this->_data['welcome'])) {
if (Mage::isInstalled() && Mage::getSingleton('customer/session')->isLoggedIn()) {
if ($hour < 12){
$this->_data['welcome'] = $this->__('Bom Dia, %s!', $this->escapeHtml(Mage::getSingleton('customer/session')->getCustomer()->getName()));
}elseif ($hour >= 12 && $hour < 18){
$this->_data['welcome'] = $this->__('Boa Tarde, %s!', $this->escapeHtml(Mage::getSingleton('customer/session')->getCustomer()->getName()));
}elseif ($hour >= 18){
$this->_data['welcome'] = $this->__('Boa Noite, %s!', $this->escapeHtml(Mage::getSingleton('customer/session')->getCustomer()->getName()));}
} else {
$this->_data['welcome'] = Mage::getStoreConfig('design/header/welcome');
}
}
Muito legal
ResponderExcluirObrigada Jonatan!
Excluir=)
Muito bomm, parabéns!
ResponderExcluirObrigada! ^.^
Excluir