Navigation Menu

При настройке чекаута как оказалось в Magento не было, к сожалению,  списка областей Украины.

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

За список областей (регионов) в базе данных Magento отвечает таблица «directory_country_region». Найда в базе эту таблицу.

Есть 2 способа что бы добавить областей в базу:

  1. Вручную
  2. SQL-запросом

Рассмотрим оба способа поочередно.

1. Добавление областей вручную через phpMyAdmin

Зайди в таблицу «directory_country_region» и нажми на кнопку Вставить, которая располагается сверху таблицы. После перезагрузки страницы ты увидишь 2 блока для вставки 2х значений в базу. Тут детальнее про поля:

  • region_id — уникальный идентификатор области. Это поле оставляем пустым так как оно будет выставлено автоматически.
  • country_id — тут выставь id страны (его можно узнать из таблицы «directory_country»). В нашем с тобой случае выставь «UA».
  • code — забугром областя имеют свои уникальный код, но так как погуглив я не нашёл какой-либо информации что в Украине области имеют код или индекс или неч0то подобное то мы будем использовать в качестве кода название самой области (транслитом).
  • default_name — название области. Я сюда ввёл название области транслитом а потом (об этом расскажу ниже) её русскоязычный перевод в таблицу «directory_country_region_name». Но, возможно, если ты внесёшь сюда сразу русскоязычное название, то уже после этого все отобразится корректно.

Пример:

  • region_id — пустое значение
  • country_id — UA
  • code — Ivano-Frankivsk
  • default_name — Ivano-Frankivsk

Теперь позаботимся о том что бы в базе хранились русскоязычные названия. Для этого открой таблицу «directory_country_region_name» и нажми Вставить.

Тут ты увидишь опять 2 блока, но уже по 3 поля для ввода данных. Разберём что каждое из них значит:

  • locale — тут указывается код локализации. Для русскоязычной локализации используем «ru_RU»
  • region_id — это идентификатор области. Когда ты добавлял области в таблицу «directory_country_region» то оставлял пустым значение в поле «region_id», которое генерировалось автоматически. Вот следует теперь посмотреть соответствующий идентификатор и вставить его в данное поле. К примеру если ты добавил область «Ivano-Frankivsk» и база сгенерировалла запись с id под номером «522» то именно это значение вставь в это поле.
  • name — русскоязычное название области.

Ну вроде как на этом и всё. Таким образом вручную можно внести все областя любой страны в базу данных Magento.

2. Добавление областей SQL-запросом через phpMyAdmin

Так как я уже проделал этот путь то делюсь с тобой им. Перейди в таблицу «directory_country_region» и нажми на кнопку SQL. Далее вставь и выполни следующий запрос.

Обрати внимание что первой строке указано имя пользователя «USER_NAME» и префикс базы данных «PREFIX_». Замени их на свои.

[code lang=»sql»]

INSERT INTO USER_NAME.PREFIX_directory_country_region (
region_id ,
country_id ,
code ,
default_name
)
VALUES (
NULL , ‘UA’, ‘Crimea’, ‘Crimea’
), (
NULL , ‘UA’, ‘Vinnytsia’, ‘Vinnytsia’
), (
NULL , ‘UA’, ‘Volyn’, ‘Volyn’
), (
NULL , ‘UA’, ‘Dnipropetrovsk’, ‘Dnipropetrovsk’
), (
NULL , ‘UA’, ‘Donetsk’, ‘Donetsk’
), (
NULL , ‘UA’, ‘Zhytomyr’, ‘Zhytomyr’
), (
NULL , ‘UA’, ‘Zakarpattia’, ‘Zakarpattia’
), (
NULL , ‘UA’, ‘Zaporizhia’, ‘Zaporizhia’
), (
NULL , ‘UA’, ‘Ivano-Frankivsk’, ‘Ivano-Frankivsk’
), (
NULL , ‘UA’, ‘Kiev’, ‘Kiev’
), (
NULL , ‘UA’, ‘Kirovohrad’, ‘Kirovohrad’
), (
NULL , ‘UA’, ‘Luhansk’, ‘Luhansk’
), (
NULL , ‘UA’, ‘Lviv’, ‘Lviv’
), (
NULL , ‘UA’, ‘Mykolaiv’, ‘Mykolaiv’
), (
NULL , ‘UA’, ‘Odessa’, ‘Odessa’
), (
NULL , ‘UA’, ‘Poltava’, ‘Poltava’
), (
NULL , ‘UA’, ‘Rivne’, ‘Rivne’
), (
NULL , ‘UA’, ‘Sumy’, ‘Sumy’
), (
NULL , ‘UA’, ‘Ternopil’, ‘Ternopil’
), (
NULL , ‘UA’, ‘Kharkiv’, ‘Kharkiv’
), (
NULL , ‘UA’, ‘Kherson’, ‘Kherson’
), (
NULL , ‘UA’, ‘Khmelnytskyi’, ‘Khmelnytskyi’
), (
NULL , ‘UA’, ‘Cherkasy’, ‘Cherkasy’
), (
NULL , ‘UA’, ‘Chernihiv’, ‘Chernihiv’
), (
NULL , ‘UA’, ‘Chernivtsi’, ‘Chernivtsi’
)

[/code]

Ну а теперь добавим русифицированную версию для областей в таблицу «directory_country_region_name».

Обрати внимание на то что у меня показаны id из моей базы данных. Их ты должен выставить самостоятельно.

[code lang=»sql»]

INSERT INTO USER_NAME.PREFIX_directory_country_region_name (
locale ,
region_id ,
name
)
VALUES (
‘ru_RU’, ‘527’, ‘Автономная Республика Крым’
), (
‘ru_RU’, ‘528’, ‘Винницкая область’
), (
‘ru_RU’, ‘529’, ‘Волынская область’
), (
‘ru_RU’, ‘530’, ‘Днепропетровская область’
), (
‘ru_RU’, ‘531’, ‘Донецкая область’
), (
‘ru_RU’, ‘532’, ‘Житомирская область’
), (
‘ru_RU’, ‘533’, ‘Закарпатская область’
), (
‘ru_RU’, ‘534’, ‘Запорожская область’
), (
‘ru_RU’, ‘535’, ‘Ивано-Франковская область’
), (
‘ru_RU’, ‘536’, ‘Киевская область’
), (
‘ru_RU’, ‘537’, ‘Кировоградская область’
), (
‘ru_RU’, ‘538’, ‘Луганская область’
), (
‘ru_RU’, ‘539’, ‘Львовская область’
), (
‘ru_RU’, ‘540’, ‘Николаевская область’
), (
‘ru_RU’, ‘541’, ‘Одесская область’
), (
‘ru_RU’, ‘542’, ‘Полтавская область’
), (
‘ru_RU’, ‘543’, ‘Ровненская область’
), (
‘ru_RU’, ‘544’, ‘Сумская область’
), (
‘ru_RU’, ‘545’, ‘Тернопольская область’
), (
‘ru_RU’, ‘546’, ‘Харьковская область’
), (
‘ru_RU’, ‘547’, ‘Херсонская область’
), (
‘ru_RU’, ‘548’, ‘Хмельницкая область’
), (
‘ru_RU’, ‘549’, ‘Черкасская область’
), (
‘ru_RU’, ‘550’, ‘Черниговская область’
), (
‘ru_RU’, ‘551’, ‘Черновицкая область’
);

[/code]

Успехов.

    3 комментария

  1. Спасибо за подробное руководство.

  2. Спасибо!
    Очень помогло!

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.