Как поменять местами индекс и город в адресе?

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 IgorN
  • Группа: Пользователь
  • Сообщений: 293
  • Регистрация: 09.03.2011

16.01.2012 15:43

Добрый день!

Недавно решал задачку, в которой в адресах менял местами fio и еще одно мое поле. Но пришлось это делать путем правки кода во многих местах, на что ушло довольно много времени и получилось не очень красиво.

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

Мажента 1.3.4

Спасибо!

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

16.01.2012 15:44

Прикрепите снимок экрана, на котором вы намерены переставить местами поля.

#3 IgorN
  • Группа: Пользователь
  • Сообщений: 293
  • Регистрация: 09.03.2011

16.01.2012 16:24

Прикрепленное изображение: поменять_местами_код_и_город.jpg но зная клиента, он захочет поменять местами в адресной книге профиля, в админке и т.д.

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

16.01.2012 16:27

Как согласуются фразы «поменять местами индекс и город» и «поменять местами страну с индексом»?

#5 IgorN
  • Группа: Пользователь
  • Сообщений: 293
  • Регистрация: 09.03.2011

16.01.2012 19:03

Ошибся я. Исправил.

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

16.01.2012 19:10

У класса Mage_Customer_Model_Address_Abstract имеется метод format, который, к тому же, публикует событие customer_address_format.
Удивительно, что вы это не выяснили самостоятельно: ведь для этого достаточно просто открыть класс и посмотреть.

#7 IgorN
  • Группа: Пользователь
  • Сообщений: 293
  • Регистрация: 09.03.2011

17.01.2012 18:46

Помнится я смотрел и копал этот метод, но в итоге, обнаружил места где формат в виде макроса {name{lalal}}.. зашит в коде. Т.е. я не обнаружил интерфейс и возможность сделать свой класс формата и добавить его к списку уже существующих с последующим вызовом. Может я конечно ошибаюсь и у них не хардкод там и у них другие точки входа...

Попробую может с событием поиграться.

#8 Watchman
  • Группа: Пользователь
  • Сообщений: 14
  • Регистрация: 07.12.2010

18.01.2012 02:44

config.xml модуля customer, секция <address_templates>...</address_templates>, конкретно на чекауте помоему <oneline>.

Можно попробовать перекрыть эту секцию в своем модуле, если загружать его после Mage_Customer модуля.

#9 IgorN
  • Группа: Пользователь
  • Сообщений: 293
  • Регистрация: 09.03.2011

19.01.2012 14:03

Watchman, спасибо большое!!! Отличный вариант, попробую.

Поделиться темой: