Pregunta

Como dueño de la tienda, los dos nombre del campo de datos (nombre y apellido) es muy inconveniente mientras se ejecuta la tienda.

  • La mayoría de los de la empresa de transporte puedo utilizar pedir sólo uno de los datos de nombre completo cuando puedo importar la dirección de envío.Tengo que combinar datos de nombre y apellidos como uno después de la exportación de la dirección de envío.(Incluso un pago de la empresa a pedir sólo uno de los datos de nombre completo)

  • Es la causa de algún problema cuando voy a administrar o buscar clientes con nombre

  • Yo cansado para obtener sólo un nombre de datos, pero tengo problemas ya que magento utilizar el nombre y apellidos de forma diferente en muchas maneras (incluso en el mensaje de bienvenida) así que me doy por vencido

  • Como cliente de la vista, se ve inconveniente demasiado.Escriba el nombre y haga clic en otro campo y escriba el apellido nombre lugar de simplemente escriba su nombre completo.(la salida es importante, ya que su tasa de conversión)

Espero Magento obtener sólo un nombre de datos como propietario de la tienda (creo que Magento es realizado por el propietario de la tienda también)

¿Puedo saber al menos la razón por la que Magento pida a dos de campo nombre del desarrollador de vista?Tiene algún beneficio?

por ejemplo,) Superior de la empresa de comercio electrónico Amazon y ebay pedir sólo uno

Este es Amazon Nueva forma de dirección - Sólo un nombre de campo

enter image description here

eBay Nueva forma de dirección - sólo un nombre de campo

enter image description here

¿Fue útil?

Solución

Es sólo una parte de Magento arquitectura para utilizar un nombre y un apellido.

Tu pregunta es por qué este es el caso.Presumiblemente, Magento ha añadido el firstname y lastname atributos (junto con una opcional middlename uno está definido como predeterminado, pero no se muestra) para proporcionar la mayor flexibilidad posible para el comerciante.Este es un punto de partida de otras más sitios establecidos, como usted ha dicho, pero de Magento tiene que atender a una gama de posibles comerciantes, e intenta ser lo más específico posible.

Sin embargo, como todos los de Magento, nada está escrito en piedra, y puede ser cambiado, sin embargo este es un ejercicio de codificación, y como resultado puede ser un procedimiento complicado.Para habilitar esta opción, tendríamos que hacer un par de cosas diferentes.Voy a tratar de detallar los pasos que me gustaría tomar a continuación.

1.Agregar El Atributo De Nombre Completo

El nombre completo debe ser agregado como un atributo a un cliente.Usted puede crear un módulo para controlar esto, pero básicamente, tendrás que ejecutar un script de instalación para instalar fullname como un atributo en contra de el cliente conjunto de atributos.
Hay un montón de útiles tutoriales acerca de este alrededor de la web. La excelencia de Magento tiene una gran (código parcialmente se muestra a continuación, editado a tus necesidades).

$setup->addAttribute('customer', 'fullname', array(
    'type' => 'text',
    'input' => 'text',
    'label' => 'Full Name',
    'global' => 1,
    'visible' => 1,
    'required' => 1,
    'user_defined' => 1,
    'default' => '0',
    'visible_on_front' => 1
));

2.Añadir el nuevo atributo en sus plantillas

Se había necesidad de ir a través y agregar el campo para el nuevo atributo a todas las plantillas;permitiendo así que el usuario de entrada de la misma.

Se puede quitar el Nombre y los apellidos de los campos en el proceso, siempre que sean aplicables.

3.Ajustar los atributos firstname y lastname

Nombre y apellido son atributos necesarios en la base de datos, entonces usted no será capaz de hacer mucho hasta que usted retire su required el estado de los atributos de los mismos.

Tendrás que escribir un solo-uso de secuencias de comandos para ajustar la configuración;el código debe ser similar a la siguiente:

$attributeId = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('customer','firstname');
if ($attributeId) {
    $attribute = Mage::getModel('catalog/resource_eav_attribute')->load($attributeId);
    $attribute->setIsRequired(false)->save();
}

$attributeId = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('customer','lastname');
if ($attributeId) {
    $attribute = Mage::getModel('catalog/resource_eav_attribute')->load($attributeId);
    $attribute->setIsRequired(false)->save();
}

Después de eso, usted debe haber transferido con éxito firstname y lastname en una sola fullname campo.

Si usted tiene alguna de clientes existente, usted será capaz de escribir una secuencia de comandos que se combinan las firstname y lastname los campos en la fullname uno.

Otros consejos

Simple depende de la arquitectura Magento.Donde Magento almacene "primer nombre" o "apellido" como un atributo y también "segundo nombre" que rara vez utiliza los pueblos.

No estoy seguro de por qué está usted con este escenario.
Magento tiene una $customer->getName() la función de objeto de cliente que siempre devuelve el nombre completo.
Usted sólo tiene que utilizar getName() en lugar de getfullName() o getData('nombre').

Espero que esto va a resolver todas sus inquietudes.:)

¿Puedo saber al menos la razón por la que Magento pida a dos de campo nombre del desarrollador de vista?Tiene algún beneficio?

Usted puede crear fullname de nombre y apellido y se puede utilizar por separado como bien, pero si sólo tiene un único campo de nombre, Usted no puede hacer eso.Como para el frontend de representación, me gustaría conseguir un saludo Hello Aman en lugar de Hello Aman Srivastava.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top