Desde que actualicé a la última versión de Magento, noté que apareció una nueva entrada en la página de pago preguntando por el segundo nombre / inicial del cliente.
¿Cómo elimino la entrada "Segundo nombre / inicial" de la página de pago?
Tuve el mismo problema al actualizar a Magento CE 1.9.2.1 desde Magento CE 1.9.2.0 . La actualización hizo que se mostrara el segundo nombre, pero cuando verifiqué el administrador, System > Configuration > Customers > Customer Configuration > Name and Address Options
la configuración "Mostrar segundo nombre (inicial)" ya mostraba "No", que es lo que quería. Cambié la configuración a "Sí" y luego de nuevo a "No" antes de hacer clic en "Guardar configuración", y esto eliminó inmediatamente el segundo nombre / inicial de Checkout cuando actualicé la página.
En mi caso, estoy trabajando para actualizar una tienda de Magento 1.8.x a Magento 1.9.x. Es en mi entorno de desarrollo que actualicé de 1.9.2.0 a 1.9.2.1. Para actualizar el sitio en vivo cuando lancemos la actualización de 1.8.x a 1.9.x, necesitaremos actualizar muchas de las configuraciones de administración, que planeamos hacer directamente en la base de datos con una consulta. En la base de datos, puede ver cómo Magento cambia la configuración del segundo nombre.
La tabla `core_config_data` maneja la configuración de administración para" Mostrar segundo nombre (inicial) con el registro donde `core_config_data`.`path`='customer/address/middlename_show'
.
Este registro contiene la configuración en el campo `valor` (0 =" No ", 1 =" Sí "). Este campo no cambia cuando aparece el segundo nombre actualizando a Magento CE 1.9.2.1 . Si guarda un cambio en "Mostrar segundo nombre (inicial)" en la configuración de administración después de que Magento realice cambios durante la actualización a 1.9.2.1, cambiará el valor de `core_config_data` aquí.
La actualización a 1.9.2.1 no cambió el registro en `core_config_data` y, por lo tanto, lo que se muestra en la configuración del administrador. Pero, la actualización cambia un registro diferente de una tabla diferente.
En mis muchas instancias de desarrollo de Magento, la tabla `eav_attribute` tiene 2" segundo nombre "` attribute_code` (s), el `attribute_id` (s) es 6 y 21 . La tabla `customer_eav_attribute` establece la visibilidad del atributo con un campo` is_visible`.
`is_visible` = 0
. `is_visible` = 1
.`is_visible`=0
nuevamente y el campo Segundo nombre / inicial desapareció de Checkout.La actualización de Magento CE 1.9.2.1 cambió la configuración del segundo nombre en la tabla `customer_eav_attribute` sin afectar lo que se muestra en el administrador de Magento en la configuración" Mostrar segundo nombre (inicial) ". Puede solucionarlo de la forma en que normalmente se ajusta la configuración en el administrador, sin hacer ajustes de plantilla de gran alcance, alternando la configuración "Mostrar segundo nombre (inicial)".
Si por alguna razón necesita transferir esta configuración de administrador a varias copias de una tienda, o en un lote de actualizaciones de administración, como al actualizar una tienda para que coincida con un entorno de desarrollo ... Puede usar la siguiente instrucción SQL para esta configuración ( siempre que sepa que el "segundo nombre" es `attribute_id` 6 y 21 en su tienda. Esto es estándar para Magento, pero para estar seguro, verifique primero su tabla` eav_attribute`).
UPDATE customer_eav_attribute SET is_visible = 0 WHERE attribute_id IN (6, 21);
La respuesta técnica
La opción de configuración del sistema tiene un modelo de back-end (
Mage_Adminhtml_Model_System_Config_Backend_Customer_Show_Customer
) cuyo_afterSave
método realiza el mismo cambio en el atributo EAV del cliente (tabla:)customer_eav_attribute
.Es posible que el valor de la opción de configuración del sistema y el
is_visible
valor del atributo EAV no estén necesariamente sincronizados (ya sea debido a una actualización de Magento, o si la opción de configuración se cambió programáticamente o por cualquier otro motivo).Pulsar el interruptor un par de veces lo arreglará o, si eres como yo y usas scripts de instalación / actualización para todo, puedes hacer lo siguiente:
fuente
$attribute = Mage::getSingleton('eav/config') ->getAttribute('customer_address', 'middlename') ->setIsVisible(0) ->save();
La forma más fácil:
Magento ver. 1.9.2.1
Show Middle Name (initial)
=No
fuente
Eliminar
{{depend middlename}}{{var middlename}}
como sugiere @sr_magento en su respuesta en realidad no elimina eliminar elShow Middle Name (initial)
campo de la página de pago en sí. Solo lo elimina de las áreas donde se representa / imprime la información de la dirección del cliente, como en el área de administración, PDF y plantillas de correo electrónico.No es necesario eliminar el campo de las plantillas de correo electrónico. Esto es excesivo y tendría que agregar esas entradas a las plantillas de correo electrónico nuevamente en caso de que decida habilitarlas
Show Middle Name(initial)
en el futuro.También noté esta falla, después de actualizar desde Magento CE 1.9.2.0 a Magento CE 1.9.2.1 usando el descargador de Magento. La actualización parece ajustar la configuración por
Show Middle Name (initial)
debajodesde "No" a "Sí" . Me pasó en varias tiendas en diferentes servidores.
Para deshacer esto, simplemente vuelva a configurarlo en "No" y guarde la configuración. los
Show Middle Name (initial)
campo ya no se mostrará en la página de pago.fuente
Address Templates
me gusta que sugiere no cambia los campos de entrada de la página de pago en la interfaz de la tienda. Solo afecta las plantillas para imprimir direcciones. Por favor lea la siguiente documentación . Tienes razón sobre las áreas de clientes en el panel de administración. Reformularé esta parte de mi respuesta.Si desea eliminar directamente del archivo, entonces
Abrir siguiente archivo
buscar
if ($this->showMiddlename())
comentarios o eliminar esa declaración if completafuente