Изменить стандартный формат адреса на Magento Frontend - PullRequest
6 голосов
/ 04 апреля 2011

Я хочу изменить стандартный формат адреса Magento на странице адреса клиента. Как я могу это сделать?

Для тех, кто не знает формат адреса, это метод, в котором мы пишем адрес. Например, английский формат для Франции такой:

Addressee (Natural person/Organization)
More detailed description of addressee (optional)
Housenumber + Streetname
Postal code + uppercase town
Country (if other than France)

Формат адреса для США такой:

Name of address
Street number and name
Name of town, State abbreviation + ZIP code
(typical handwritten format)

Вы можете читать дальше в Википедии . Большое спасибо.

Ответы [ 4 ]

30 голосов
/ 22 декабря 2011

Кажется, что файл config.xml больше не используется (или просто для загрузки значений по умолчанию в базу данных).

Перейдите:

Система-> Конфигурация-> Клиент-> Конфигурация клиента и прокрутите вниз до Шаблоны адресов.

Там вы найдете тот же код, что и в файле XML.

11 голосов
/ 04 апреля 2011

Вообще говоря, форматы адресов содержатся в файле app / code / core / Mage / Customer / config.xml и выглядят так:

...

<default>
  <customer>
    <address_formats> 
     <text><![CDATA[{{depend prefix}}{{var prefix}} {{/depend}}{{var firstname}} {{depend middlename}}{{var middlename}} {{/depend}}{{var lastname}}{{depend suffix}} {{var suffix}}{{/depend}}
{{depend company}}{{var company}}{{/depend}}
{{if street1}}{{var street1}}
{{/if}}
{{depend street2}}{{var street2}}{{/depend}}
{{depend street3}}{{var street3}}{{/depend}}
{{depend street4}}{{var street4}}{{/depend}}
{{if city}}{{var city}},  {{/if}}{{if region}}{{var region}}, {{/if}}{{if postcode}}{{var postcode}}{{/if}}
{{var country}}
T: {{var telephone}}
{{depend fax}}F: {{var fax}}{{/depend}}}]]></text>
    </address_templates>
  </customer>
</default>

...

4 голосов
/ 06 марта 2014

У меня есть модуль для создания базы с несколькими форматами адресов в округе:

Ниже приведен простой способ его создания.

Создать модуль администратора для вставки таблицы 'directory_country_format'.

переписать класс Mage_Customer_Block_Address_Renderer_Default в вашем модуле.

переопределить ниже функции

public function getFormat(Mage_Customer_Model_Address_Abstract $address=null)
{
    $countryFormat = is_null($address) ? parent::getFormat($address) :       
     $address->getCountryModel()->getFormat($this->getType()->getCode());
     if (is_object($countryFormat)) {
          $cFormat = $countryFormat->getFormat();
      }

    $format = $countryFormat ?   
    (!empty($cFormat)?$cFormat:$this->getType()->getDefaultFormat()) : 
    $this->getType()->getDefaultFormat();
    return $format;
}

Вот мой модуль, который поможет вам определить форматы адресов в зависимости от страны клиента.

http://magentosolution.com/index.php/2014/08/27/magento-address-formats-base-of-country/

4 голосов
/ 24 сентября 2012

Адрес рендеринга Magento, как он определен в конфигурации администратора magento.Вы можете управлять форматом адреса, изменив шаблон адреса.

Перейдите в Система / Конфигурация / Конфигурация клиента / Шаблон адреса / HTML / Изменить содержимое, как вы хотите показать.

Аналогично вы можете редактировать PDFшаблон для изменения pdf-представления адреса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...