Desde a atualização para a versão mais recente do Magento, notei que uma nova entrada apareceu na página de checkout solicitando o nome do meio / inicial do cliente.
Como removo a entrada "Nome do meio / inicial" da página de checkout?
Eu tive o mesmo problema ao atualizar para o Magento CE 1.9.2.1 a partir do Magento CE 1.9.2.0 . A atualização fez com que o nome do meio System > Configuration > Customers > Customer Configuration > Name and Address Options
fosse exibido, mas quando verifiquei o administrador, a configuração "Mostrar nome do meio (inicial)" já estava exibindo "Não" - era o que eu queria. Alterei a configuração para "Sim" e depois voltei para "Não" antes de clicar em "Salvar configuração", e isso removeu imediatamente o nome do meio / inicial do Checkout quando atualizei a página.
No meu caso, estou trabalhando na atualização de uma loja do Magento 1.8.x para o Magento 1.9.x. É no meu ambiente de desenvolvimento que atualizei de 1.9.2.0 para 1.9.2.1. Para atualizar o site ao vivo quando iniciarmos a atualização de 1.8.x para 1.9.x, precisaremos atualizar muitas das configurações de administrador, que planejamos fazer diretamente no banco de dados com uma consulta. No banco de dados, você pode ver como o Magento altera a configuração do nome do meio.
A tabela `core_config_data` lida com a configuração de administrador para" Mostrar nome do meio (inicial) com o registro em que `core_config_data`.`path`='customer/address/middlename_show'
.
Este registro mantém a configuração no campo `valor` (0 =" Não ", 1 =" Sim "). Este campo não é alterado quando o nome do meio aparece, atualizando para o Magento CE 1.9.2.1 . Se você salvar uma alteração no "Mostrar nome do meio (inicial)" nas configurações administrativas depois que o Magento fizer alterações durante a atualização para 1.9.2.1, ele mudará o valor de `core_config_data` aqui.
A atualização para 1.9.2.1 não alterou o registro em `core_config_data` e, portanto, o que é exibido nas configurações de administrador. Mas, a atualização altera um registro diferente de uma tabela diferente.
Nas minhas muitas instâncias de desenvolvimento do Magento, a tabela `eav_attribute` possui 2" nome do meio "` attribute_code` (s), sendo o `attribute_id` (s) 6 e 21 . A tabela `customer_eav_attribute` define a visibilidade do atributo com um campo` is_visible`.
`is_visible` = 0
. `is_visible` = 1
.`is_visible`=0
novamente e o campo Nome do meio / inicial desapareceu do Google Checkout.A atualização do Magento CE 1.9.2.1 inverteu a configuração do nome do meio na tabela `customer_eav_attribute` sem afetar o que é exibido no administrador do Magento na configuração" Mostrar nome do meio (inicial) ". Você pode corrigi-lo da maneira como a configuração é normalmente ajustada no administrador, sem fazer ajustes de modelo de longo alcance, alternando a configuração "Mostrar nome do meio (inicial)".
Se, por algum motivo, você precisar transferir essa configuração de administrador entre várias cópias de uma loja ou em um lote de atualizações de administrador, como atualizar uma loja para corresponder a um ambiente de desenvolvimento ... Você pode usar a seguinte instrução SQL para esta configuração ( desde que você saiba que "nome do meio" é `attribute_id` 6 e 21. em sua loja. Isso é padrão para o Magento, mas para garantir, verifique primeiro sua tabela` eav_attribute`.).
UPDATE customer_eav_attribute SET is_visible = 0 WHERE attribute_id IN (6, 21);
A resposta técnica
A opção de configuração do sistema possui um modelo de back-end (
Mage_Adminhtml_Model_System_Config_Backend_Customer_Show_Customer
) cujo_afterSave
método faz a mesma alteração no atributo EAV do cliente (tabela:)customer_eav_attribute
.O valor da opção de configuração do sistema e o
is_visible
valor do atributo EAV podem não estar necessariamente sincronizados (devido a uma atualização do Magento ou se a opção de configuração foi alterada programaticamente ou por qualquer outro motivo).Se você acionar o comutador algumas vezes, será corrigido ou, se você for como eu e usar scripts de instalação / atualização para tudo, poderá fazer o seguinte:
fonte
$attribute = Mage::getSingleton('eav/config') ->getAttribute('customer_address', 'middlename') ->setIsVisible(0) ->save();
O jeito mais fácil:
Magento ver. 1.9.2.1
Show Middle Name (initial)
=No
fonte
Remover
{{depend middlename}}{{var middlename}}
como @sr_magento sugere em sua resposta, na verdade, não remove remover oShow Middle Name (initial)
campo da própria página de checkout. Ele o remove apenas das áreas onde as informações do endereço do cliente são renderizadas / impressas, como na área administrativa, nos PDFs e nos modelos de email.Não há necessidade de remover o campo dos modelos de email. Isso é um exagero e você teria que adicionar essas entradas aos modelos de email novamente, caso decida ativar o recurso
Show Middle Name(initial)
no futuro.Também notei essa falha, depois de atualizar o Magento CE 1.9.2.0 para o Magento CE 1.9.2.1 usando o Magento Downloader. A atualização parece ajustar a configuração para
Show Middle Name (initial)
menos dede "Não" a "Sim" . Isso aconteceu comigo em várias lojas em diferentes servidores.
Para desfazer isso, basta configurá-lo novamente para "Não" e salvar a configuração. O
Show Middle Name (initial)
campo não será mais exibido na página de checkout.fonte
Address Templates
que você sugere não altera os campos de entrada da página do Google Checkout no frontend da loja. Isso afeta apenas os modelos para imprimir endereços. Por favor, leia a seguinte documentação . Você está certo sobre as áreas do cliente no painel de administração. Vou reformular esta parte da minha resposta.Se você deseja remover diretamente do arquivo,
Abra o seguinte arquivo
procure um
if ($this->showMiddlename())
comentário ou remova essa instrução if completafonte