, (*1)
Mozg\Customer
Sinopse
Personalização dos formulários de clientes, (*2)
Demonstração
, (*3)
Motivação
Atender o mercado de módulos para Magento oferecendo melhorias e um excelente suporte, (*4)
Suporte / Dúvidas
Para obter o devido suporte Clique aqui, relatando o motivo da ocorrência o mais detalhado possível e anexe o print da tela para nosso entendimento, (*5)
Preço
Clique aqui, (*6)
Recursos
-
Montagem de formulário personalizado, (*7)
-
Suporte a máscaras, (*8)
-
Suporte a validadores, (*9)
-
Preenchimento do endereço pelo CEP, (*10)
-
Checagem de documento "CPF" ou "CNPJ" impedindo registro duplicado, (*11)
Suporte / Dúvidas
Para obter o devido suporte Clique aqui, relatando o motivo da ocorrência o mais detalhado possível e anexe o print da tela para nosso entendimento, (*12)
Preço
Clique aqui, (*13)
Instalação - Atualização - Desinstalação - Desativação
--, (*14)
Este módulo destina-se a ser instalado usando o Composer, (*15)
Execute o seguinte comando no terminal, para visualizar a existencia do Composer e sua versão, (*16)
composer --version
Caso não tenha o Composer em seu ambiente, sugiro ler o seguinte artigo Clique aqui, (*17)
--, (*18)
É necessário que o servidor tenha o suporte a extensão ionCube PHP Loader, (*19)
Para visualizar se essa extensão está ativa em seu servidor, (*20)
Certique se da presença do arquivo phpinfo.php na raiz do seu projeto, (*21)
<?php phpinfo(); ?>
Caso não exista o arquivo phpinfo.php na raiz do projeto Magento, crie o mesmo adicionado o conteúdo acima, (*22)
Acesse o arquivo pelo browser, (*23)
Em seguida pesquise pelo termo "ionCube PHP Loader", (*24)
Caso o seu servidor não tenha o suporte a extensão, Clique aqui, (*25)
Em "Loader Downloads API", efetue download do pacote compatível com o seu servidor, (*26)
Descompacte o pacote e faça upload do arquivo "loader-wizard.php" para seu servidor, onde será demonstrado o passo a passo para a ativação da extensão, (*27)
Clique aqui para ver os processos executados, (*28)
--, (*29)
Para utilizar o(s) módulo(s) da MOZG é necessário aceitar o Acordo de licença do usuário final, (*30)
--, (*31)
Sugiro manter um ambiente de testes para efeito de testes e somente após os devidos testes aplicar os devidos procedimento no ambiente de produção, (*32)
--, (*33)
Sugiro efetuar backup da plataforma Magento e do banco de dados, (*34)
--, (*35)
Antes de efetuar qualquer atualização no Magento sempre mantenha o Compiler e o Cache desativado, (*36)
--, (*37)
Certique se da presença do arquivo composer.json na raiz do seu projeto Magento e que o mesmo tenha os parâmetros semelhantes ao modelo JSON abaixo, (*38)
{
"minimum-stability": "dev",
"prefer-stable": true,
"license": [
"proprietary"
],
"repositories": [
{
"type": "composer",
"url": "https?://packages.firegento.com"
}
],
"extra": {
"magento-root-dir": "./",
"magento-deploystrategy": "copy",
"magento-force": true
}
}
Caso não exista o arquivo composer.json na raiz do projeto Magento, crie o mesmo adicionado o conteúdo acima, (*39)
Para instalar o módulo execute o comando a seguir no terminal do seu servidor no diretório do seu projeto
composer require mozgbrasil/magento-customer-php55:dev-master
Você pode verificar se o módulo está instalado, indo ao backend em:, (*40)
STORES -> Configuration -> ADVANCED/Advanced -> Disable Modules Output
--, (*41)
Para atualizar o módulo execute o comando a seguir no terminal do seu servidor no diretório do seu projeto
Antes de efetuar qualquer processo que envolva atualização no Magento é recomendado manter o Compiler e Cache desativado, (*42)
composer clear-cache && composer update
Na ocorrência de erro, renomeie a pasta /vendor/mozgbrasil e execute novamente, (*43)
Para checar a data do módulo execute o seguinte comando, (*44)
grep -ri --include=*.json 'time": "' ./vendor/mozgbrasil
--, (*45)
Para desinstalar o módulo execute o comando a seguir no terminal do seu servidor no diretório do seu projeto
composer remove mozgbrasil/magento-customer-php55 && composer clear-cache && composer update
--, (*46)
Para desativar o módulo
-
Antes de efetuar qualquer processo que envolva atualização sobre o Magento é necessário manter o Compiler e Cache desativado, (*47)
-
Caso queira desativar os módulos da MOZG renomeie a seguinte pasta app/code/local/Mozg, (*48)
A desativação do módulo pode ser usado para detectar se determinada ocorrência tem relação com o módulo, (*49)
--, (*50)
Como configurar o método
Para configurar o método, acesse no backend em:, (*51)
∞ MOZG ∞ -> Cadastro de Clientes -> Cadastro de Clientes - (powered by MOZG)
Você terá os campos a seguir, (*52)
• Ativar campos de endereço em /customer/account/create/
Exibe os devidos campos relativo ao endereço, (*53)
Ao ativar o recurso deve ser utilizado o template presente no módulo, podemos visualizar que no template temos:, (*54)
-
Mascara aos campos: zip "cep", telephone, fax, taxvat "geralmente usado para armazenar o cpf ou cnpj", cpf "modelo de possivel novo atributo", cnpj "modelo de possivel novo atributo", (*55)
-
Validador aos campos: zip, street_1, cpf, cnpj, taxvat, (*56)
-
Preenchimento do endereço pelo CEP, (*57)
-
Preenchimento automático para testes, (*58)
-
Reordenação de campos, (*59)
• Armazenamento do endereço
O procedimento de separar o número do endereço do campo "street1" não é uma prática nativa do Magento, (*60)
Quando instalado o Magento com banco de dados demonstrativo não vemos no registro de clientes essa pratica de separar o número do endereço, (*61)
Vemos preenchido para o campo "street1" da seguinte forma, (*62)
10441 Jefferson Blvd, Suite 200
Representando o logradouro o numero e nesse caso também o complemento, ambas informações armazenada no atributo "street1", (*63)
Na forma nativa do Magento o armazenamento é feito da seguinte forma, (*64)
logradouro_com_numero_complemento = getStreet(1)
bairro = getStreet(2)
complemento/referencia = getStreet(3)
complemento/referencia = getStreet(4), (*65)
Para projetos que tem o número do endereço armazenado no campo street2, (*66)
Pode ser usado o recurso presente no módulo de usar a opção "armazenamento separado", (*67)
Nesse caso o nosso módulo deve ler os armazenamentos da seguinte forma, (*68)
logradouro = getStreet(1)
numero = getStreet(2)
complemento/referencia = getStreet(3)
bairro = getStreet(4), (*69)
• A opção armazenamento padrão
Armazena nos 2 campos nativos com os seguintes rótulos:, (*70)
- Para o primeiro campo nativo *
endereço, numero, complemento, (*71)
-
Embora seja criado exibido 3 campos fictícios o armazenamento é feito no primeiro campo nativo de endereço no Magento, (*72)
-
Para o segundo campo nativo, (*73)
bairro, (*74)
• A opção armazenamento separado
No uso dessa opção, acesse no backend em:, (*75)
Sistema -> Configuração -> Clientes -> Configuração -> Opções de Nome e Endereço
Altere para o campo "Número de linhas em um endereço de rua" para 4, (*76)
Armazena nos 4 campos nativos com os seguintes rótulos:, (*77)
- Para o primeiro campo nativo
endereço, (*78)
- Para o segundo campo nativo
numero, (*79)
- Para o terceiro campo nativo
complemento, (*80)
- Para o quarto campo nativo
bairro, (*81)
1), (*82)
Pode ser utilizado qualquer módulo de terceiros para a criação de atributos de clientes, (*83)
https://www.magentocommerce.com/magento-connect/catalogsearch/result/?id=&s=7&pl=0&eb=0&hp=0&q=customer+attribute&t=1&p=1, (*84)
Caso queira utilize esse que está nessa lista como 1 dos mais relevantes nesse quesito, (*85)
https://www.magentocommerce.com/magento-connect/manage-customer-attributes-1.html, (*86)
composer require connect20/clarion_customerattribute
No uso do módulo CustomerAttribute, (*87)
Podemos acessar o recurso pelo menu no backend do Magento: Clientes -> Gerenciar atributos, (*88)
Tenha cautela no uso desse recurso, (*89)
Recomendo o uso apenas para a criação de novos atributos, (*90)
Como os módulos de gerenciamento de atributos "free" não oferece de forma gratuita o recurso de salvar os atributos no /checkout/ o nosso módulo contem recurso para essa necessidade, (*91)
2), (*92)
Para aplicar o suporte do novo atributo ao formulário, (*93)
Deve ser inserido no formulário o campo tendo o mesmo identificador usado na criação do atributo, (*94)
Para a exibição de algum atributo contendo algum tipo de condição sempre será necessário escrever a devida programação, nessa necessidade me informe sua necessidade, (*95)
, (*96)
Perguntas mais frequentes "FAQ"
Você pode personalizar o arquivo do formulário editando o mesmo e em seguida adicionado o arquivo na estrutura de diretório do seu template, (*97)
A seguir aplicamos o suporte a um template, (*98)
cp -r app/design/frontend/base/default/template/mozg_customer/ app/design/frontend/smartwave/porto/template, (*99)
Deve ser ativado o Debug nativo do Magento a fim de ser exibido o caminho do arquivo phtml, (*100)
Caso tenha o módulo CustomerAttribute, edite na configuração do módulo para desativar, pois esse módulo aplicado o suporte aos formulários, (*101)
Nunca devemos editar o arquivo disponibilizado pelo módulo, pois quando houver uma atualização o mesmo será sobrescrito, (*102)
Devemos criar a mesma estrutura de diretório para o nosso template, (*103)
Você deve levar em consideração o caminho exibido no debug do seu projeto, (*104)
Como o debug ativo em meu projeto exibiu o seguinte caminho, (*105)
frontend/base/default/template/mozg_customer/customer/form/register.phtml, (*106)
Nessa pasta temos o arquivo modelo que iremos usar como base, (*107)
E o template nativo está localizado em, (*108)
/app/design/frontend/rwd/default/template, (*109)
Então devo ter a seguinte estrutura, (*110)
/app/design/frontend/rwd/default/template/mozg_customer/customer/form/register.phtml, (*111)
Deve ser ativado o Debug nativo do Magento a fim de ser exibido o caminho do arquivo phtml, (*112)
Caso tenha o módulo CustomerAttribute, edite na configuração do módulo para desativar, pois esse módulo aplicado o suporte aos formulários, (*113)
Nunca devemos editar o arquivo disponibilizado pelo módulo, pois quando houver uma atualização o mesmo será sobreescrevido, (*114)
Devemos criar a mesma estrutura de diretório para o nosso template, (*115)
Você deve levar em consideração o caminho exibido no debug do seu projeto, (*116)
Como o debug ativo em meu projeto exibiu o seguinte caminho, (*117)
frontend/base/default/template/mozg_customer/customer/form/edit.phtml, (*118)
Nessa pasta temos o arquivo modelo que iremos usar como base, (*119)
E o template nativo está localizado em, (*120)
/app/design/frontend/rwd/default/template, (*121)
Então devo ter a seguinte estrutura, (*122)
/app/design/frontend/rwd/default/template/mozg_customer/customer/form/edit.phtml, (*123)
Deve ser ativado o Debug nativo do Magento a fim de ser exibido o caminho do arquivo phtml, (*124)
Caso tenha o módulo CustomerAttribute, edite na configuração do módulo para desativar, pois esse módulo aplicado o suporte aos formulários, (*125)
Nunca devemos editar o arquivo disponibilizado pelo módulo, pois quando houver uma atualização o mesmo será sobreescrevido, (*126)
Devemos criar a mesma estrutura de diretório para o nosso template, (*127)
Você deve levar em consideração o caminho exibido no debug do seu projeto, (*128)
1., (*129)
Como o debug ativo em meu projeto exibiu o seguinte caminho, (*130)
frontend/base/default/template/mozg_customer/persistent/checkout/onepage/billing.phtml, (*131)
Nessa pasta temos o arquivo modelo que iremos usar como base, (*132)
E o template nativo está localizado em, (*133)
/app/design/frontend/rwd/default/template, (*134)
Então devo ter a seguinte estrutura, (*135)
/app/design/frontend/rwd/default/template/mozg_customer/persistent/checkout/onepage/billing.phtml, (*136)
2., (*137)
Como o debug ativo em meu projeto exibiu o seguinte caminho, (*138)
frontend/base/default/template/mozg_customer/checkout/onepage/shipping.phtml, (*139)
Nessa pasta temos o arquivo modelo que iremos usar como base, (*140)
E o template nativo está localizado em, (*141)
/app/design/frontend/rwd/default/template, (*142)
Então devo ter a seguinte estrutura, (*143)
/app/design/frontend/rwd/default/template/mozg_customer/checkout/onepage/shipping.phtml, (*144)
Como instalar o módulo de compra em 1 passo
Acesse, (*145)
https://github.com/mozgbrasil/magento-iwd-opc#mozgiwd_opc, (*146)
Como alterar a tradução de algum campo ?
Caso queira alterar a tradução de algum campo utilize a ferramenta nativa do Magento "tradução em linha" indo ao backend em:, (*147)
STORES -> Configuration -> ADVANCED/Developer -> Translate Inline
Modificando a tradução do módulo para o template
Cada módulo tem o seu arquivo de tradução com a mesma nomenclatura do módulo, (*148)
Os arquivos de tradução para português do Brasil no Magento é armazenado no diretório, (*149)
/app/locale/pt_BR/
Recomendo não editar os arquivos nesse diretório pois em uma nova atualização de módulo esse arquivo deve ser atualizado com as informações do módulo, (*150)
Na necessidade de trocar algum item, (*151)
Edite o arquivo translate.csv presente no diretório do seu template para ser exibido um novo resultado, (*152)
/app/design/frontend/default/default/locale/pt_BR/translate.csv
Caso não exista a estrutura "/locale/pt_BR/translate.csv" em seu template apenas crie o arquivo nessa estrutura de diretório, (*153)
Obs., (*154)
No Windows ou Mac sugiro usar o programa UltraEdit para edição do arquivo, dessa forma será mantido a codificação do arquivo em UTF-8, (*155)
Sobre o campo "Profissão"
Informo que tem alguns item no pacote de tradução do MarioSam que está equivocado em, (*156)
/app/locale/pt_BR/Mage_Api2.csv:"Company","Profissão"
/app/locale/pt_BR/Mage_Customer.csv:"Company","Profissão"
/app/locale/pt_BR/Mage_Checkout.csv:"Company","Profissão", (*157)
Edite os arquivos e atualize "Profissão" para "Empresa", (*158)
Sobre separação e armazenamento dos dados de endereço
O nosso módulo contem a separação dos dados de endereço, (*159)
Mas o armazenamento é feito no padrão nativo do Magento, (*160)
Armazenando da seguinte forma, (*161)
Para o atributo de endereço de clientes, (*162)
"street_1" = logradouro com número e/ou complemento, (*163)
"street_2" = Bairro, (*164)
Quando utilizado o banco de dados demonstrativo ou "sample_data", (*165)
Vemos preenchido para o campo "street_1", (*166)
10441 Jefferson Blvd, Suite 200, (*167)
Representando o número o logradouro e nesse caso também o complemento, ambas informações armazenada no atributo "street_1", (*168)
Eu não recomendo o procedimento que seria separar o número do endereço para o atributo "street_2" pois pode gerar problemas de formatação e em integrações, (*169)
Contribuintes
Equipe Mozg, (*170)
License
Comercial License, (*171)
Badges
, (*172)
:cat2:, (*173)