Magento查看“公司名称”而不是名字/姓氏

时间:2010-09-09 03:20:48

标签: magento customization

除了联系人姓名之外,Magento可以通过他们的公司名称查看/管理我们的客户,以便轻松找到他们吗?它被用于B2B,所以当电子邮件发出时,他们会提取客户的名字,而不是更合适的公司名称。

这是全球性的设置吗?

提前感谢。

1 个答案:

答案 0 :(得分:3)

默认情况下,Magento将商家名称存储在客户的地址上,因此有点难以到达。

您无法添加其他客户字段以将公司名称放在客户记录本身上。这样你就可以访问它,并且可以改变系统中的其他屏幕以反映它。

如果您不想达到这些长度,您可以始终实施一种方法,将公司名称从默认地址中提取出来,并默认将其保存到会话中,以便于检索。


编辑:更好的主意。

查看销售电子邮件模板,有两种方法可用于获取客户的名称:

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

我没有看到对公司名称的任何单独引用,因此您应该能够将这两种方法替换为您自己的方法并获得所需的结果。您需要创建自己的模块并覆盖客户/地址和销售/订单的模型(其他人已在其他地方深入讨论过)。然后创建看起来像这样的方法:

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

    return parent::getCustomerName();
}

这是销售订单的示例,相应地为客户进行修改。现在,您的公司名称将在可用时使用,如果不是,则回退将是原始实现(客户名称)。

希望有所帮助!

谢谢, 乔


您对通用应用程序是正确的。如果您确实只想要电子邮件,那么关心的是您是否可以在需要的地方访问自定义功能。如果没有方便的对象,我不能肯定你能够调用任何你需要的方法。

在这种情况下可以使用的方法是覆盖下面提到的两个对象,而是向它们添加getCompanyName方法。这样,您就可以调用正确的对象,并且可以专门编辑电子邮件以便品尝。