Frage

Als Ladenbesitzer sind die beiden Namensfelddaten (Vorname und Nachname) beim Ausführen des Geschäfts sehr unangenehm.

  • Die meisten Versanddienstleister, die ich verwende, fragen nur nach einem vollständigen Namen, wenn ich die Lieferadresse importiere.Ich muss nach dem Export der Lieferadresse sowohl Vor- als auch Nachnamendaten zu einer zusammenführen.(Auch eine Zahlungsfirma fragt nur nach vollständigen Namensdaten)

  • Es verursacht ein Problem, wenn ich Kunden mit Namen verwalte oder suche

  • Ich bin es leid, nur eine Namensdaten zu erhalten, aber ich habe Probleme, da Magento Vorname und Nachname auf viele Arten unterschiedlich verwendet (sogar in der Begrüßungsnachricht), also gebe ich auf

  • Aus Sicht des Kunden sieht es auch unangenehm aus.Geben Sie den Vornamen ein und klicken Sie auf anderes Feld und geben Sie den Nachnamen ein, anstatt nur den vollständigen Namen einzugeben.(kasse ist wichtig, da die damit verbundene Conversion-Rate)

Ich hoffe, Magento bekommt nur einen Namen als Ladenbesitzer (ich glaube, Magento ist auch für Ladenbesitzer gemacht)

Kann ich zumindest den Grund kennen, warum Magento zwei Namensfelder als Entwickleransicht fragt?Gibt es einen Vorteil?

z.B.) Top-E-Commerce-Unternehmen Amazon und ebay fragen nur einen

Das ist Amazon Neues Adressformular - Nur ein Namensfeld

enter image description here

eBay Neues Adressformular - nur ein Namensfeld

enter image description here

War es hilfreich?

Lösung

Es ist nur ein Teil der Architektur von Magento, einen Vor- und einen Nachnamen zu verwenden.

Ihre Frage fragt, warum dies der Fall ist.Vermutlich hat Magento die hinzugefügt firstname und lastname attribute (zusammen mit sogar einem optionalen middlename eine ist als Standard definiert, wird aber nicht angezeigt), um dem Händler so viel Flexibilität wie möglich zu bieten.Dies ist eine Abkehr von anderen etablierteren Websites, wie Sie bereits bemerkt haben, aber Magento muss auf eine Reihe möglicher Händler eingehen und versucht, so unspezifisch wie möglich zu sein.

Wie bei Magento ist jedoch nichts in Stein gemeißelt und kann geändert werden.Dies ist jedoch eine Codierungsübung und kann daher ein ziemlich kompliziertes Verfahren sein.Um dies zu aktivieren, müssten Sie einige verschiedene Dinge tun.Ich werde versuchen, die Schritte, die ich unten ausführen würde, detailliert zu beschreiben.

1.Attribut für vollständigen Namen hinzufügen

Der vollständige Name muss einem Kunden als Attribut hinzugefügt werden.Sie können ein Modul erstellen, um dies zu handhaben, aber im Wesentlichen müssen Sie ein Installationsskript ausführen, um es zu installieren fullname als Attribut gegen den Kundenattributsatz.
Es gibt viele nützliche Tutorials dazu im Internet. Excellence Magento hat eine großartige (code teilweise unten gezeigt, nach Ihren Wünschen bearbeitet)

$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.Fügen Sie Ihr neues Attribut in Ihre Vorlagen ein

Sie müssten jetzt das Feld für Ihr neues Attribut zu allen relevanten Vorlagen hinzufügen;dadurch wird die Benutzereingabe ermöglicht.

Sie können die Felder Vorname und Nachname im Prozess entfernen, wo immer sie anwendbar sind.

3.Passen Sie die Attribute Vorname und Nachname an

Vorname und Nachname sind erforderliche Attribute in der Datenbank, sodass Sie erst dann viel tun können, wenn Sie sie entfernen required status aus den Attributen selbst.

Sie müssen ein Einwegskript schreiben, um die Einstellungen anzupassen;der Code sollte dem folgenden ähneln:

$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();
}

Danach sollten Sie erfolgreich übertragen haben firstname und lastname in einem einzigen fullname Feld.

Wenn Sie bereits Kunden haben, können Sie ein Skript schreiben, das die folgenden Elemente kombiniert firstname und lastname felder in die fullname ein.

Andere Tipps

Einfach, es hängt von der Magento-Architektur ab.Wo Magento Store "Vorname" oder "Nachname" als Attribut und auch "Mittelname", der von den Völkern selten verwendet wird.

Ich bin mir nicht sicher, warum Sie dieses Szenario haben.
Magento hat eine $customer->getName() funktion für Kundenobjekt, die immer den vollständigen Namen zurückgibt.
Sie müssen nur getName() anstelle von getfullName() oder getData('fullname') .

Ich hoffe, dies wird alle Ihre Bedenken lösen.:)

Kann ich zumindest den Grund kennen, warum Magento zwei Namensfelder als Entwickleransicht fragt?Gibt es einen Vorteil?

Sie können einen vollständigen Namen aus Vorname und Nachname erstellen und diese auch separat verwenden, aber wenn Sie nur ein einziges Feld für den Namen haben, können Sie das nicht tun.Wie beim Frontend-Rendering möchte ich eine Begrüßung als erhalten Hello Aman anstatt Hello Aman Srivastava.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top