Убираем лишние страны и устанавливаем по умолчанию страну CMS Opencart
- Stats: 16545 0
- Author: admin
- Category: CMS Opencart, Новости, Статті
- Comments: Один комментарий

Как известно, оформление заказа в OpenCart слишком длинное: масса полей, которые практически каждому хочется отключить, удалить или скрыть. Процесс регистрации и оформления заказа получается утомительным, что вполне вероятно, может негативно сказаться на магазине. И одним из немаловажных моментов является выбор страны и города: выпадающий список с перечнем стран чересчур длинный и зачастую никому не нужный, так как большая часть магазинов работает либо по городу, области, стране или максимум по паре-тройке соседних стран, так что в том же Пакистане или Алжире абсолютно нет надобности. В этой статей студия дизайна «Движок» покажет как легко отключить ненужные страны и как сделать определенную страну или регион/город по умолчанию.
Как убрать список стран в OpenCart и оставить только те, которые нам нужны?
Существует два способа, которыми можно это осуществить:
1. Через админ-панель магазина.
Идем по вкладкам Система/Локализация/Регионы и удаляем ненужные регионы.
После этого переходим в Система/Локализация/Страны и удаляем ненужные страны, не забывая оставить те, которые нужны.
Удаление регионов и стран нужно начинать именно с удаления регионов, потому, что они привязаны к странам и CMS OpenCart просто не даст удалить ту страну, которой принадлежат регионы или города.
2. Удаляем ненужные страны и регионы через phpmyadmin.
Если предыдущий способ позволял удалить ненужные страны из административной части самого магазина, то данный способ решает проблему с ненужными странами и регионами через Базу данных и phpmyadmin.
Начинаем: Нужно войти в phpmyadmin (из хостинга, или если у вас свой сервер)
Итак, попав в phpmyadmin, слева выбираем ту базу данных, которая содержит таблицы магазина.
После чего будем удалять ненужные страны. Для этого находим таблицу «Country» и видим список стран, который растягивается на 8 страниц. Для удобства можно увеличить количество выводимых стран на одной странице, изменив 30 на любое другое гораздо большее число.
Вот мы получили весь список стран на одной странице и можем удалить все страны просто в самом низу, под перечнем всех стран, нажать на «Отметить все». НО ОЧЕНЬ ВАЖНО при этом не забыть, после того как отметим все страны, вернуться к списку и СНЯТЬ ОТМЕТКИ С НУЖНЫХ СТРАН. Для того, чтобы знать, где искать Украину, Россию или любую другую страну, предварительно узнаем ее id. В таблице идентификаторы стран расположены в порядке возрастания. После того как все ненужные страны отмечены а в нужных галочка не стоит — нажимаем на кнопку — «Удалить» внизу.
Теперь перейдем к редактированию регионов. В списке таблиц выбираем таблицу «Zone» (внизу списка) и получаем перечень регионов. Опять таки можно увеличить количество выводимых регионов на одной странице, изменив 30 на любое другое число (к примеру, указав 500, получим 8 страниц, а указав 1000, — всего 4 страницы и т.д. Но чем больше цифра, тем дольше может обрабатываться запрос.)
В самом конце (под всеми 500 или 1000 выводимыми регионами), как и в странах, находим «Отметить все», нажимаем и тем самым отмечаем все регионы, и жмем «Удалить».
И в итоге получим желаемый результат: список стран и регионов, в оформлении заказа, будет ограничиваться тем списком, который мы установим сами.
Вот таким способом мы удалили 500 первых ненужных регионов. Остальные удаляем аналогичным образом, главное не забываем о том, что необходимо оставить нужные для нас регионы. К примеру, нам необходимо оставить в наших регионах Киев (3491), то мы обязательно снять с него отметку. Найти нужный регион или город не составит труда, так как идентификаторы в таблице идут в порядке возрастания.
Идентификаторы стран и идентификаторы регионов
Украина — 220
Беларусь — 20
Молдова — 140
Россия — 176
Более подробно об идентификаторах различных стран смотрим в файле: system\cache\cache.country.status… — этот файл нужно скопировать к себе через фтп.
Окончание файла изменить на .txt
В итоге у вас получится файл: cache.country.txt
Определенная страна или регион/город по умолчанию в CMS Opencart
Открываем файлы темы (шаблона) своего магазина:
catalog/view/theme/default/template/checkout/guest.tpl
— для оформления заказа без регистрации
catalog/view/theme/default/template/checkout/register.tpl
— для оформления заказа с прохождением регистрации
и ищем одну и ту же строку в обоих файлах:
<?php if ($country['country_id'] == $country_id) { ?>
Поскольку каждая страна имеет свой числовой идентификатор(id), то нам необходимо указать именно тот id, который присвоен нужной нам стране. ID вышеупомянутых стран и пары соседних:
Украина — 220, Россия — 176, Беларусь — 20, Молдова — 140.
И меняем найденный нами код на следующий:
<?php if ($country['country_id'] == 220) { ?>
Теперь по умолчанию будет первой появляться Украина, так как подставлен именно ее id.
Если же нам необходимо, чтобы и в поле Регион/Область отображался определенный город, то в этих же файлах находим код:
if (json['zone']['zone_id'] == '<?php echo $zone_id; ?>') {
html += ' selected="selected"';
}
и меняем его на код с идентификатором города Киева:
if (json['zone']['zone_id'] == 3491) {
html += ' selected="selected"';
}
И теперь новый покупатель во время оформления заказа сразу видит вот такую картину:
Если нам необходимо узнать id другого города, то снова заглядываем в кэш: system\cache\cache.zone… (как описано выше, в заголовке: Идентификаторы стран и идентификаторы регионов).
На этом все, если Вы хотите «поблагодарить» наш информационный портал о веб-разработке — у вас есть такая возможность: справа есть варианты для пожертвований на развитие портала. Или поделитесь статьей в ваших соц.стеях через сервисы ниже.
Предлагаю воспользоваться авторской сборкой от neoseo. neoseo.ru/internet-magazin-seo-magazin-model. Они предоставляют дополнительные модули для работы и взаимодействия с вашим сайтом, современный дизайн, качественную оптимизацию и продвижение. Советую попробовать, не пожалеете.