¿Cómo elimino el nombre / inicial del segundo nombre de la página de pago?

19

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?

SR_Magento
fuente

Respuestas:

46

Cómo afecta la actualización de Magento 1.9.2.1 a Middle Name

Primero, la solucion

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 Optionsla 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.

La base de datos

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 configuración de administrador que se muestra puede ser engañosa

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.

La visibilidad real del segundo nombre está en `customer_eav_attribute`

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`.

  • En mi entorno en vivo 1.8.x, `attribute_id` (s) 6 y 21 tenían `is_visible` = 0.
  • Después de actualizar el desarrollador a Magento CE 1.9.2.1 desde Magento CE 1.9.2.0 , se convirtió en `is_visible` = 1.
  • Después de alternar y guardar el administrador "Mostrar segundo nombre (inicial)" a "No", `is_visible`=0nuevamente y el campo Segundo nombre / inicial desapareció de Checkout.

Resumen

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)".

Nota al margen

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);

usuario31617
fuente
arreglar en magento 1.9.2.1 funciona bien para mí
Fra
5

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 _afterSavemé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_visiblevalor 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:

Mage::getModel('core/config')
    ->saveConfig('customer/address/middlename_show', 0);    

try {

    $attribute = Mage::getSingleton('eav/config')
        ->getAttribute('customer', 'middlename')
        ->setIsVisible(0)
        ->save();

    $attribute = Mage::getSingleton('eav/config')
        ->getAttribute('customer_address', 'middlename')
        ->setIsVisible(0)
        ->save();

} catch (Exception $e) {
    Mage::logException($e);
    throw $e;
}
Erfan
fuente
1
Gracias, trabajando muy bien. También debe agregar el código para el atributo de dirección del cliente:$attribute = Mage::getSingleton('eav/config') ->getAttribute('customer_address', 'middlename') ->setIsVisible(0) ->save();
Andreas von Studnitz
2

La forma más fácil:

Magento ver. 1.9.2.1

System > Configuration > Customers > Customer configuration > Name and Address Options

Show Middle Name (initial) = No

ingrese la descripción de la imagen aquí

Ricardo Meza
fuente
Esto ya estaba establecido.
SR_Magento
Simplemente seleccione Sí -> guardar. nuevamente seleccione No-> guardar. actualizar caché y ver.
Pratik Kamani
0

Eliminar {{depend middlename}}{{var middlename}}como sugiere @sr_magento en su respuesta en realidad no elimina eliminar el Show 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)debajo

System > Configuration > Customers > Customer Configuration > Name and Address Options

desde "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. losShow Middle Name (initial) campo ya no se mostrará en la página de pago.

Formato
fuente
@sr_magento Su método puede funcionar (aunque no estoy seguro de por qué, sospecho que simplemente guardar la configuración funciona) pero su razonamiento es incorrecto. Cambiar los Address Templatesme 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.
ForMat
0

Si desea eliminar directamente del archivo, entonces

Abrir siguiente archivo

app => design => frontend => base => default => template => customer => widget => name.phtml

buscar if ($this->showMiddlename()) comentarios o eliminar esa declaración if completa

Alam Zaib
fuente