Magento Просмотр «Название компании» вместо имени / фамилии - PullRequest
3 голосов
/ 09 сентября 2010

Может ли Magento просматривать / управлять нашими клиентами по названию их компании в дополнение к их контактным именам, чтобы их было легко найти?Он используется для B2B, поэтому при отправке электронных писем они вытягивают имя клиента, а не название компании, которое более подходит.

Это глобальная настройка?

, заранее спасибо.

1 Ответ

3 голосов
/ 09 сентября 2010

Magento по умолчанию сохраняет название компании в адресе клиента, поэтому к нему немного сложнее.

Нет причин, по которым вы не можете добавить другое поле клиента, чтобы указать название компании в самой записи клиента.Таким образом, у вас не будет проблем с доступом к нему, и вы можете изменить другие экраны в системе, чтобы отобразить его.

Если вы не хотите идти на такие длины, вы всегда можете реализовать метод, который вытягиваетназвание компании с адреса по умолчанию и сохраните его в сеансе по умолчанию для более удобного поиска.


РЕДАКТИРОВАТЬ: Лучшая идея.

Просматривая шаблоны продаж электронной почты, есть дваметоды, используемые для получения имени клиента:

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

Я не вижу отдельных ссылок на название компании, поэтому вы сможете заменить эти два метода на свой и получить желаемый результат.,Вам нужно будет создать свой собственный модуль и переопределить модели для клиента / адреса и для продажи / заказа (другие подробно рассказали об этом в другом месте).Затем создайте методы, которые выглядят примерно так:

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

    return parent::getCustomerName();
}

Это пример для заказа на продажу, измените соответственно для клиента.Теперь названия вашей компании будут использоваться везде, где это возможно, а когда они не будут использоваться в качестве альтернативы исходной реализации (имя клиента).

Надеюсь, это поможет!

Спасибо, Джо


Вы правы насчет универсального применения.Если вам нужны были только электронные письма, проблема заключается в том, есть ли у вас доступ к пользовательской функции там, где она вам нужна.Если нет подходящего объекта, я не уверен, что вы сможете вызывать только любой метод, который вам нужен.

Подход, который будет работать в этом случае, будет переопределять два объекта, упомянутых ниже,но вместо этого добавить к ним метод getCompanyName.Таким образом, у вас будут нужные объекты для вызова, и вы сможете редактировать электронные письма специально по вкусу.

...