Por qué Magento pedir Nombre y apellido?
-
12-12-2019 - |
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
eBay Nueva forma de dirección - sólo un nombre de campo
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
.