Opencart - убрать страну в оформлении заказа



Вариант первый: Вам нужно совсем убрать выбор страны и региона из оформления заказа. Для этого открываем шаблон гостевого заказа: /catalog/view/theme/default/template/checkout/guest.tpl

Сперва убираем страну, находим место её генерации:

      <div class="form-group required">
        <label class="control-label" for="input-payment-country"><?php echo $entry_country; ?></label>
        <select name="country_id" id="input-payment-country" class="form-control">
          <option value=""><?php echo $text_select; ?></option>
          <?php foreach ($countries as $country) { ?>
          <?php if ($country['country_id'] == $country_id) { ?>
          <option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option>
          <?php } else { ?>
          <option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option>
          <?php } ?>
          <?php } ?>
        </select>
      </div>

Чтобы не модифицировать контроллер, меняем выбор страны на скрытый инпут, в который заносим значение по умолчанию:

      <div class="form-group required" style="display:none;">
        <label class="control-label" for="input-payment-country"><?php echo $entry_country; ?></label>
	  <input type="text" value="176" name="country_id" id="input-payment-country" class="form-control">
      </div>

Далее убираем выбор региона так же заменяя селект:

      <div class="form-group required">
        <label class="control-label" for="input-payment-zone"><?php echo $entry_zone; ?></label>
        <select name="zone_id" id="input-payment-zone" class="form-control">
        </select>
      </div>

на скрытый инпут:

      <div class="form-group required" style="display:none;">
        <label class="control-label" for="input-payment-zone"><?php echo $entry_zone; ?></label>
        <input type="text" value="2761" name="zone_id" id="input-payment-zone" class="form-control">
      </div>

Эти же операции нужно проделать для шаблона регистрации пользователя: /catalog/view/theme/default/template/account/register.tpl

Вариант второй: Вам нужно убрать какую-либо страну из выпадающего списка. Для этого нужно открыть базу данных, например, через phpmyadmin, найти таблицу oc_country. В этой таблице содержится список всех стран. Удалите из этой таблицы все ненужные страны и они не будут содержаться в элементе выбора страны. Важно: после того как страны удалены, обязательно нужно очистить папку с кэшем /system/cache/

Вариант третий: в списке выбора страны нужно оставить только несколько нужных стран. Для этого придётся либо удалить все ненужные страны из таблицы oc_country, либо вручную переписать их в инпут выбора страны. Например, чтобы оставить только Россию и Украину, нужно заменить:

        <select name="country_id" id="input-payment-country" class="form-control">
          <option value=""><?php echo $text_select; ?></option>
          <?php foreach ($countries as $country) { ?>
          <?php if ($country['country_id'] == $country_id) { ?>
          <option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option>
          <?php } else { ?>
          <option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option>
          <?php } ?>
          <?php } ?>
        </select>

На:

        <select name="country_id" id="input-payment-country" class="form-control">
          <option value="176">Россия</option>
          <option value="220">Украина</option>
        </select>

где country_id подсмотрен из таблицы oc_country.


Сообщество: AWS

Комментариев(10)


ID: #348   Создан:
Автор: Саша

Пр! все круто! все отлично просто! есть вопросик. хочу в админке оставить цены в баксах (такая закупка) а клиент по умолчанию видел в рублях. А то оно как-- ставишьт по умолчанию в баксах. ценник выскакивает в баксах. Я так понимаю надо где-то ...э не знаю в каком файле поставить значение после загрузки файла. что бы пускай через 1 сек автоматом переключалось валюта на рубли. Тогда наверное цены в админке станется в баксе а клиент автоматом будет видеть в рублях. курс то обновляется постоянно.

ID: #349   Создан:
Автор: ololoev
>>348

По идее опенкарт "изкоробки" должен уметь пересчитывать цены, но могу ошибаться, ни разу подобную задачу не делал.

ID: #350   Создан:
Автор: Марк

Статья работоспособна ровно на половину. "Эти же операции нужно проделать для шаблона регистрации пользователя: /catalog/view/theme/default/template/account/register.tpl" Не получилось сделать, тк участков кода приведенных автором, которые нужно заменить в файле register.tpl - нет.

ID: #352   Создан:
Автор: Константин

Добрый день, а остальные поля убрать? Факс, Индекс, Компания?? подскажите пожалуйста, за статью спасибо.

ID: #354   Создан:
Автор: Сергей

Народ проблемка, скачал архив все стало отлично , только выскакивает неприятная надпись в заказе Notice: Undefined variable: captcha in /home/maximb00/ikc.in.ua/www/catalog/view/theme/theme574/template/checkout/guest.tpl on line 296

ID: #351   Создан:
Автор: ololoev
>>350

А какой смысл копипасть тот же код? На сколько помню, там всё то же самое.

ID: #353   Создан:
Автор: ololoev
>>352

Остальные поля можно убрать так же, просто заменив их на скрытые инпуты, вот тут есть похожая инфа: https://allwebstuff.info/%d0%b1%d1%8b%d1%81%d1%82%d1%80%d1%8b%d0%b9-%d0%b7%d0%b0%d0%ba%d0%b0%d0%b7-opencart-2/

ID: #355   Создан:
Автор: ololoev

Опенкарт не стоит на месте, возможно шаблон изменился. Прошло больше 2х лет уже ...

ID: #356   Создан:
Автор: Антон

Первый метод для версии 2,1* не пашет, в топку

ID: #357   Создан:
Автор: Дмитрий

Лажа полная, после второго шага не пускает дальше!!! Сделал как описано выше в топку!!!! и сайт нужно в топку, чтоб не отнимал время у людей!

Всего: 10 комментариев на 1 страницах

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



Сообщества