2010-09-09 4 views
3

Peut Magento voir/gérer nos clients par nom de leur entreprise en plus de leurs noms de contacts pour les trouver facilement? Il est utilisé pour le B2B, donc quand les emails sortent ils tirent le nom du client, au lieu du nom de l'entreprise qui est le plus approprié.Magento Voir 'Nom de l'entreprise' au lieu de Prénom/Nom

Est-ce un paramètre global?

merci d'avance.

Répondre

3

Magento enregistre le nom de l'entreprise sur l'adresse du client par défaut, ce qui rend l'accès un peu plus difficile.

Il n'y a aucune raison pour laquelle vous ne pouvez pas ajouter un autre champ client pour mettre le nom de l'entreprise sur l'enregistrement client lui-même. De cette façon, vous n'aurez aucun problème à y accéder et pourrez changer d'autres écrans du système pour le refléter. Si vous ne voulez pas aller à ces longueurs, vous pouvez toujours implémenter une méthode qui extrait le nom de l'entreprise de l'adresse par défaut, et l'enregistre dans la session par défaut, pour une récupération plus facile.


EDIT: Une meilleure idée.

En regardant à travers les modèles de courrier électronique de vente, il existe deux méthodes qui sont utilisées pour saisir un nom du client:

$order->getCustomerName(); 
$order->getBillingAddress()->getName(); 

je ne vois pas de références distinctes au nom de l'entreprise, de sorte que vous devriez pouvoir substituer ces deux méthodes pour votre propre et obtenir le résultat souhaité. Vous devrez créer votre propre module et remplacer les modèles pour le client/adresse et les ventes/commande (d'autres ont couvert cela en profondeur ailleurs). Puis créer des méthodes qui ressemblent à quelque chose comme ceci:

public function getCustomerName() { 
    if($this->getBillingAddress()->getCompany()) { 
     return $this->getBillingAddress()->getCompany(); 
    } 

    return parent::getCustomerName(); 
} 

C'est l'exemple pour la commande client, modifier en conséquence pour le client. Maintenant, les noms de vos sociétés seront utilisés chaque fois qu'ils sont disponibles, et quand ils ne le sont pas, l'implémentation d'origine sera utilisée (nom du client).

Espérons que ça aide!

Merci, Joe


Vous avez raison à propos de l'application universelle. Si vous ne voulez que les e-mails, la question est de savoir si vous avez accès à votre fonction personnalisée là où vous en avez besoin. S'il n'y a pas d'objet à portée de main, je ne suis pas certain que vous serez capable d'appeler n'importe quelle méthode dont vous avez besoin.

Une approche qui fonctionnerait dans ce cas serait de remplacer les deux objets mentionnés ci-dessous, mais de leur ajouter à la place une méthode getCompanyName. De cette façon, vous aurez les bons objets à appeler, et vous pourrez modifier les emails spécifiquement au goût.

+0

Merci Joseph. Logique. Avez-vous des recommandations pour la documentation à ce sujet? – Rob

+0

Encore une fois, merci. C'est un exemple très clair. La méthode de dépassement du modèle sonne comme un ajustement idéal. De cette façon (je présume), ce serait universel pour l'ensemble du site Magento, n'est-ce pas? Maintenant, si le client voulait l'afficher dans l'e-mail uniquement, je suppose que je peux simplement ajouter une fonction personnalisée pour faire la logique ci-dessus et ne pas avoir besoin d'accéder au modèle. Ou devrais-je encore créer le comme ci-dessus, et configurer simplement Magento pour utiliser uniquement le module pour les emails? (Je ne suis pas sûr à 100% comment toutes les cusomisations fonctionnent dans Magento ...), merci. – Rob

+0

Super, cela me donne une bonne direction à prendre. Très apprécié. – Rob

Questions connexes