Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Установить при заказе страну и город по умолчанию


Recommended Posts

Большинство пользователей из Санкт-Петербурга, из регионов, заказов почти нет.

Как установить в форме заказа по умолчанию свой город, чтобы 99% юзеров не делали лишних действий?

Спасибо.

Надіслати
Поділитися на інших сайтах


Система - настройки - вкладка "локализация"

Только город-то не выбирается, вручную заполняется, насколько помню. В списках - страна и область.

Надіслати
Поділитися на інших сайтах


У меня не работает.

В локализации "Российская федерация" и "Санкт-Петербург"

Однако, выпадающий список выглядит так - http://clip2net.com/s/1kQZs

Надіслати
Поділитися на інших сайтах


Если версия опенкарта 1.5.1 то

1. идем в site/catalog/controller/checkout/guest.php

2. ищем в районе 400й строки

if (isset($this->session->data['guest']['shipping']['city'])) {
				$this->data['city'] = $this->session->data['guest']['shipping']['city'];			
			} else {
				$this->data['city'] = '';
в else {$this->data['city'] = ''; ставим то что нам нужно

3. с регионом почти тоже самое ищем ниже

if (isset($this->session->data['guest']['shipping']['zone_id'])) {
				$this->data['zone_id'] = $this->session->data['guest']['shipping']['zone_id'];			
			} else {
				$this->data['zone_id'] = '2761';
			}

тут интересует $this->data['zone_id'] = '2761'; - 2761 это id региона, я данные брал из базы данных таблица помойму zone

з.Ы. все это при условии гостевого заказа.

  • +1 1
Надіслати
Поділитися на інших сайтах


Это плохая идея - жестко здесь хардкодить ID из базы. Может подойти как частное решение, но лучше сделать нормально и брать эти ID из таблицы settings. Они же где-то там хранятся и редактируются из админки.

Надіслати
Поділитися на інших сайтах


Это плохая идея - жестко здесь хардкодить ID из базы. Может подойти как частное решение, но лучше сделать нормально и брать эти ID из таблицы settings. Они же где-то там хранятся и редактируются из админки.

Это не жесткий хардкод, потому что

1. Страна по умолчанию стоит РФ - и в принципе для большинства инетмагазов страна эта и остается

2. Регион по умолчанию стоит текст - Выберете, в моем примере мы просто автоматом подставляем Питер, с возможностью выбора

Как раз то что ТС и хотел

Надіслати
Поділитися на інших сайтах


Это не жесткий хардкод, потому что

1. Страна по умолчанию стоит РФ - и в принципе для большинства инетмагазов страна эта и остается

2. Регион по умолчанию стоит текст - Выберете, в моем примере мы просто автоматом подставляем Питер, с возможностью выбора

Как раз то что ТС и хотел

1. Самый что ни на есть жёсткий. Почему Вы считаете, что РФ у всех в базе с одним и тем же ID? Её несложно взять из конфига (таблица settings вроде бы называется).

2. Регион - селект. Это город - текст.

Спасибо, но что-то не выходит у меня ничего.

Все изменил, а в форме никаких изменений.

Удалите всё из корзины (или добавьте товар и удалите его).

Или куки этого сайта удалите. И потом снова пробуйте.

Надіслати
Поділитися на інших сайтах


  • 1 month later...

1. Самый что ни на есть жёсткий. Почему Вы считаете, что РФ у всех в базе с одним и тем же ID? Её несложно взять из конфига (таблица settings вроде бы называется).

2. Регион - селект. Это город - текст.

Удалите всё из корзины (или добавьте товар и удалите его).

Или куки этого сайта удалите. И потом снова пробуйте.

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

Метод что выше не работает для осторе 1.0.1

Надіслати
Поділитися на інших сайтах

Это не жесткий хардкод, потому что

это не только хардкод, но и яркий пример того как делать не следует. если у вас не хватает знаний - не давайте таких советов и уже тем более не спорьте
Надіслати
Поділитися на інших сайтах

Решение без правки системных файлов

в файле catalogviewthemedefaulttemplatecheckoutguest.tpl

находим код

<?php if ($country['country_id'] == $country_id) { ?>
меняем на

<?php if ($country['country_id'] == 176) { ?>
где 176 - это ид Российская федерация в странна

далее ниже находим

<script type="text/javascript"><!--
$('#payment-address select[name='zone_id']').load('index.php?route=checkout/address/zone&country_id=<?php echo $country_id; ?>&zone_id=<?php echo $zone_id; ?>');
//--></script>
меняем на

<script type="text/javascript"><!--
$('#payment-address select[name='zone_id']').load('index.php?route=checkout/address/zone&country_id=176&zone_id=2794');
//--></script>
где 2794 № региона который должен быть выбран по умолчанию, в данном случае Башкортостан, подставляете свой.
Надіслати
Поділитися на інших сайтах

  • 1 year later...

изучала форум и у себя зашила наглухо Украину - код 220 (движок osstoe020)

ну и сделала кое как форму упрощенной регистрации..сайт massa24 . com. ua (пробелы убрать)

делала в основном по этой инструкции

а дальше подскажите граждане как бы при регистрации шаг№2 вообще убрать(убрать способ доставки и способ оплаты вообще_) а поле комментов установить в шаг 1.

у меня щаз получилось что то вроде такого

20130125-xzvl-24kb.jpg20130125-ndrn-31kb.jpg

Надіслати
Поділитися на інших сайтах


  • 7 months later...
  • 7 months later...

Идете в БД и ставьте пробел перед названием Региона или Города, проверено ПОМОГАЕТ!

 

Но решение не универсально!

в админку

 

Решение без правки системных файлов

в файле \catalog\view\theme\default\template\checkout\guest.tpl

...

далее ниже находим

<script type="text/javascript"><!--
$('#payment-address select[name=\'zone_id\']').load('index.php?route=checkout/address/zone&country_id=<?php echo $country_id; ?>&zone_id=<?php echo $zone_id; ?>');
//--></script>
меняем на

<script type="text/javascript"><!--
$('#payment-address select[name=\'zone_id\']').load('index.php?route=checkout/address/zone&country_id=176&zone_id=2794');
//--></script>
где 2794 № региона который должен быть выбран по умолчанию, в данном случае Башкортостан, подставляете свой.

 

 

для 1.5.5.2

 

строка 170

 

if (json['zone'] != '') {

for (i = 0; i < json['zone'].length; i++) {

        html += '<option value="' + json['zone']['zone_id'] + '"';

   

if (json['zone']['zone_id'] == '<?php echo $zone_id=2785; ?>') {

      html += ' selected="selected"';

    }

 

    html += '>' + json['zone']['name'] + '</option>';

}

 
} else {
html += '<option value="0" selected="selected"><?php echo $zone_id=2785; ?></option>';
}

 

2785 - это питер.

Надіслати
Поділитися на інших сайтах


Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.