OpenCart — как убрать страну и регион в оформлении заказа
Некоторое время назад мы рассматривали подобную тему - «Opencart — убираем обязательные поля в оформлении товара», в которой мы скрывали такие поля как компания, факс, индекс и т.д. Сегодня пойдет речь все о том же оформлении заказа, но уже о двух других полях: стране и регионе. Дело в том, что очень часто на e-mail приходит вопрос о том, как удалить эти поля, не настроить для показа определенной страны и региона, а полностью их удалить, чтобы эти поля не отображались при оформлении заказа. Аргумент всегда поступает такой: работаем только по одному городу и выбор города, тем более страны, совсем не нужен. В принципе, звучит логично, поэтому сегодня мы изменим оформление заказа так, чтобы в нем не было этих двух параметров: выбора региона и страны. Сразу оговорюсь, что править придется много.
Все изменения будут сделаны на дефолтном шаблоне, версии 1.5.4.1. Рассмотрим удаление страны и региона на примере гостевого оформления заказа.
Не забываем, что перед любыми изменениями стоит делать бекап и пересохранить файлы магазина, по крайней мере те, с которыми предстоит работать.
Открываем файл catalog\view\theme\default\template\checkout\guest.tpl, находим строки со страной и регионом, удалим также отображение индекса, так как он не имеет смысла без выбора страны и региона (66-87):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<span id="payment-postcode-required" class="required">*</span> <?php echo $entry_postcode; ?><br /> <input type="text" name="postcode" value="<?php echo $postcode; ?>" class="large-field" /> <br /> <br /> <span class="required">*</span> <?php echo $entry_country; ?><br /> <select name="country_id" class="large-field"> <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> <br /> <br /> <span class="required">*</span> <?php echo $entry_zone; ?><br /> <select name="zone_id" class="large-field"> </select> <br /> <br /> |
Комментируем их или удаляем.
Сохраняем изменения и отправляемся править файл контроллера, так как мало убрать отображение полей, необходимо разобраться с ошибками, так как данные поля обязательны для заполнения.
Открываем файл catalog\controller\checkout\guest.php и принимаемся за большую работу — комментируем или удаляем нижеперечисленные строки:
234-255 строки :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$country_info = $this->model_localisation_country->getCountry($this->request->post['country_id']); if ($country_info) { if ($country_info['postcode_required'] && (utf8_strlen($this->request->post['postcode']) < 2) || (utf8_strlen($this->request->post['postcode']) > 10)) { $json['error']['postcode'] = $this->language->get('error_postcode'); } // VAT Validation $this->load->helper('vat'); if ($this->config->get('config_vat') && $this->request->post['tax_id'] && (vat_validation($country_info['iso_code_2'], $this->request->post['tax_id']) == 'invalid')) { $json['error']['tax_id'] = $this->language->get('error_vat'); } } if ($this->request->post['country_id'] == '') { $json['error']['country'] = $this->language->get('error_country'); } if ($this->request->post['zone_id'] == '') { $json['error']['zone'] = $this->language->get('error_zone'); } |
273, 275-276 строки:
1 2 3 |
$this->session->data['guest']['payment']['postcode'] = $this->request->post['postcode']; $this->session->data['guest']['payment']['country_id'] = $this->request->post['country_id']; $this->session->data['guest']['payment']['zone_id'] = $this->request->post['zone_id']; |
280-304, 313-314 строки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
$country_info = $this->model_localisation_country->getCountry($this->request->post['country_id']); if ($country_info) { $this->session->data['guest']['payment']['country'] = $country_info['name']; $this->session->data['guest']['payment']['iso_code_2'] = $country_info['iso_code_2']; $this->session->data['guest']['payment']['iso_code_3'] = $country_info['iso_code_3']; $this->session->data['guest']['payment']['address_format'] = $country_info['address_format']; } else { $this->session->data['guest']['payment']['country'] = ''; $this->session->data['guest']['payment']['iso_code_2'] = ''; $this->session->data['guest']['payment']['iso_code_3'] = ''; $this->session->data['guest']['payment']['address_format'] = ''; } $this->load->model('localisation/zone'); /*$zone_info = $this->model_localisation_zone->getZone($this->request->post['zone_id']); if ($zone_info) { $this->session->data['guest']['payment']['zone'] = $zone_info['name']; $this->session->data['guest']['payment']['zone_code'] = $zone_info['code']; } else { $this->session->data['guest']['payment']['zone'] = ''; $this->session->data['guest']['payment']['zone_code'] = ''; } // Default Payment Address $this->session->data['payment_country_id'] = $this->request->post['country_id']; $this->session->data['payment_zone_id'] = $this->request->post['zone_id']; |
322, 324-350 строки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
$this->session->data['guest']['shipping']['postcode'] = $this->request->post['postcode']; $this->session->data['guest']['shipping']['country_id'] = $this->request->post['country_id']; $this->session->data['guest']['shipping']['zone_id'] = $this->request->post['zone_id']; if ($country_info) { $this->session->data['guest']['shipping']['country'] = $country_info['name']; $this->session->data['guest']['shipping']['iso_code_2'] = $country_info['iso_code_2']; $this->session->data['guest']['shipping']['iso_code_3'] = $country_info['iso_code_3']; $this->session->data['guest']['shipping']['address_format'] = $country_info['address_format']; } else { $this->session->data['guest']['shipping']['country'] = ''; $this->session->data['guest']['shipping']['iso_code_2'] = ''; $this->session->data['guest']['shipping']['iso_code_3'] = ''; $this->session->data['guest']['shipping']['address_format'] = ''; } if ($zone_info) { $this->session->data['guest']['shipping']['zone'] = $zone_info['name']; $this->session->data['guest']['shipping']['zone_code'] = $zone_info['code']; } else { $this->session->data['guest']['shipping']['zone'] = ''; $this->session->data['guest']['shipping']['zone_code'] = ''; } // Default Shipping Address $this->session->data['shipping_country_id'] = $this->request->post['country_id']; $this->session->data['shipping_zone_id'] = $this->request->post['zone_id']; $this->session->data['shipping_postcode'] = $this->request->post['postcode']; |
Внеся все эти изменения, мы получаем форму оформления заказа следующего вида:
Но, поскольку адрес тесно связан не только со вторым шагом, но и с последующими, то нам предстоит править еще и другие файлы, чтобы убрать все ошибки.
После второго шага идет третий шаг «Адрес доставки». Во втором шаге по умолчанию отмечен чекбокс «Адрес доставки совпадает с адресом плательщика» и покупатель минуя третий шаг переходит к четвертому шагу для выбора способа доставки. Но что, если покупатель все же захочет изменить адрес и перейдет к третьему шагу? Среди всех прочих полей, он увидит те самые поля, которые мы так тщательно скрывали — страну и регион, и они, естественно, будут обязательны для заполнения.
Так что теперь наша задача — убрать их из третьего шага.
Открываем файл catalog\view\theme\default\template\checkout\guest-shipping.tpl и снова ищем строки с индексом, страной и регионом (27-47):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<td><span id="shipping-postcode-required" class="required">*</span> <?php echo $entry_postcode; ?></td> <td><input type="text" name="postcode" value="<?php echo $postcode; ?>" class="large-field" /></td> </tr> <tr> <td><span class="required">*</span> <?php echo $entry_country; ?></td> <td><select name="country_id" class="large-field"> <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></td> </tr> <tr> <td><span class="required">*</span> <?php echo $entry_zone; ?></td> <td><select name="zone_id" class="large-field"> </select></td> </tr> |
Снова будем находить строки, отвечающие за корректное заполнение полей с регионом, страной и индексом.
строки 133-145:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$country_info = $this->model_localisation_country->getCountry($this->request->post['country_id']); if ($country_info && $country_info['postcode_required'] && (utf8_strlen($this->request->post['postcode']) < 2) || (utf8_strlen($this->request->post['postcode']) > 10)) { $json['error']['postcode'] = $this->language->get('error_postcode'); } if ($this->request->post['country_id'] == '') { $json['error']['country'] = $this->language->get('error_country'); } if ($this->request->post['zone_id'] == '') { $json['error']['zone'] = $this->language->get('error_zone'); } |
строки 154, 156-189:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
$this->session->data['guest']['shipping']['postcode'] = $this->request->post['postcode']; $this->session->data['guest']['shipping']['country_id'] = $this->request->post['country_id']; $this->session->data['guest']['shipping']['zone_id'] = $this->request->post['zone_id']; $this->load->model('localisation/country'); $country_info = $this->model_localisation_country->getCountry($this->request->post['country_id']); if ($country_info) { $this->session->data['guest']['shipping']['country'] = $country_info['name']; $this->session->data['guest']['shipping']['iso_code_2'] = $country_info['iso_code_2']; $this->session->data['guest']['shipping']['iso_code_3'] = $country_info['iso_code_3']; $this->session->data['guest']['shipping']['address_format'] = $country_info['address_format']; } else { $this->session->data['guest']['shipping']['country'] = ''; $this->session->data['guest']['shipping']['iso_code_2'] = ''; $this->session->data['guest']['shipping']['iso_code_3'] = ''; $this->session->data['guest']['shipping']['address_format'] = ''; } $this->load->model('localisation/zone'); $zone_info = $this->model_localisation_zone->getZone($this->request->post['zone_id']); if ($zone_info) { $this->session->data['guest']['shipping']['zone'] = $zone_info['name']; $this->session->data['guest']['shipping']['zone_code'] = $zone_info['code']; } else { $this->session->data['guest']['shipping']['zone'] = ''; $this->session->data['guest']['shipping']['zone_code'] = ''; } $this->session->data['shipping_country_id'] = $this->request->post['country_id']; $this->session->data['shipping_zone_id'] = $this->request->post['zone_id']; $this->session->data['shipping_postcode'] = $this->request->post['postcode']; |
Разобравшись с адресом доставки, переходим к способу доставки. После установки движок по умолчанию выставляет фиксированную стоимость доставки, вот ее мы и будем править. Открываем файл catalog/model/shipping/flat.php и комментируем (или удаляем) код 6 строки:
1 |
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('flat_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); |
Аналогичные действия необходимо совершить для пятого шага, если у вас, способ оплаты — оплата при доставке. Открываем файл catalog/model/payment/cod.php и комментируем 6 строку:
1 |
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('cod_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); |
Теперь дело осталось за малым: отредактировать последний — шестой шаг. Открываем файл catalog/controller/checkout/confirm.php и убираем все ненужные упоминания страны, региона и индекса.
строки 150-155:
1 2 3 4 5 6 |
$data['payment_postcode'] = $payment_address['postcode']; $data['payment_zone'] = $payment_address['zone']; $data['payment_zone_id'] = $payment_address['zone_id']; $data['payment_country'] = $payment_address['country']; $data['payment_country_id'] = $payment_address['country_id']; $data['payment_address_format'] = $payment_address['address_format']; |
строки 184-189:
1 2 3 4 5 6 |
$data['shipping_postcode'] = $shipping_address['postcode']; $data['shipping_zone'] = $shipping_address['zone']; $data['shipping_zone_id'] = $shipping_address['zone_id']; $data['shipping_country'] = $shipping_address['country']; $data['shipping_country_id'] = $shipping_address['country_id']; $data['shipping_address_format'] = $shipping_address['address_format']; |
Открываем файл catalog/model/checkout/order.php и находим в 4 строке два отрезка кода и комментируем их (внимательно следим за символами и не разбиваем строку!):
1 |
"', payment_postcode = '" . $this->db->escape($data['payment_postcode']) . "', payment_country = '" . $this->db->escape($data['payment_country']) . "', payment_country_id = '" . (int)$data['payment_country_id'] . "', payment_zone = '" . $this->db->escape($data['payment_zone']) . "', payment_zone_id = '" . (int)$data['payment_zone_id'] . "', payment_address_format = '" . $this->db->escape($data['payment_address_format']) . |
1 |
"', shipping_postcode = '" . $this->db->escape($data['shipping_postcode']) . "', shipping_country = '" . $this->db->escape($data['shipping_country']) . "', shipping_country_id = '" . (int)$data['shipping_country_id'] . "', shipping_zone = '" . $this->db->escape($data['shipping_zone']) . "', shipping_zone_id = '" . (int)$data['shipping_zone_id'] . "', shipping_address_format = '" . $this->db->escape($data['shipping_address_format']) . |
Подобным образом мы скрыли отображение и выбор страны и региона при гостевом оформлении заказа. Также учитывайте то, что мы правили лишь два модуля, связанные со способом доставки и оплаты, те, которые стоят в opencart по умолчанию: фиксированная стоимость доставки и оплата при доставке. Если Вы используете другие модули, другие варианты доставки и оплаты, то и править необходимо соответствующие модули.
О том, как убрать другие обязательные поля в формлении заказа, можно посмотреть здесь.
Добрый день! Помогите пожалуйста разобраться, где я напортачила. Все вроде делала по инструкции, но сейчас после заполнения оставшихся полей на втором шаге при переходе к третьему выдается ошибка
SyntaxError: Unexpected token <
OK
Fatal error: Call to a member function getZone()
on a non-object in Z:\home\ocStore\www\catalog\controller\checkout\guest.php on line 235
В чем может быть проблема? Спасибо!
Не могла ответить на Ваш вопрос, так как была в отъезде. ginger, если вопрос еще актуален — напишите заново.
У меня бала такая же проблема, и больше скажу не одна! Всё сделал по пунктам данной статьи. да конечно форма получилась в точности такая же, как и показана на фото только вот работать отказалась на прочь!
Ввожу тестовые данные в поля помечеными звёздочкой нажимаю продоолжить и тут на тебе! Появляется окошко на фоне сайта и перечислены аж 4 ошибки в файле не помню каком но не в том который я правил. Была и та тоже ошибка выше (Fatal error: Call to a member function getZone()
on a non-object in Z:\home\ocStore\www\catalog\controller\checkout\guest.php on line 235)
Сразу я конечно растерялся что делать с тем самым файлом который ещё не трогал, но моё подсознание говорило что это пустяковая ошибка, благо я сам программист и язык PHP хорошо знаю.
Пошол я по пути указанному в ошибки и открыл тот самый файл дремивиром. Изучил его функцию и понял что нужно эти строчки закомментировать просто я применял комментарии для CSS файлов но можно и для PHP.
Более того проблема не устранилась!!!
После ввода тестовых данных, после нажатия продолжить появляется сного окошко с несколькими ошибками но в одной строке! но уже совсем в другом файле который так же я не трогал!
Тут я уже спокойно открыл его и закоментил строку в которой били эти ошибки, проблема была решена!
Но не тут то было! После ввода тестовых данных, после нажатия продолжить, всё идёт без всяких ошибок, подтверждаю заказ, дальше нам сообщается что ваш заказ принят и т п. В общем заказ сделан без ошибок а захожу в админ-панель но заказа нету!!!
Вот ещё проблема. Но её я решил в течении 15-20 минут. в последнем правившем файле боло 4 ошибки в одной строке я её закоментил. Но нужно было всего закоментить 4 эти ошибки а в той строке были ещё нужные функции.
Проблема будет найти эти ошибки человеку не знающему PHP код. Если у кого есть подобные ошибки и проблемы я имогу написать статью для данного блога.
Пишите чем смогу тем помогу.
с уважением Евгений
Чуть не забыл, реч шла про версию 1,5,3
Версия 1.5.5.1 все работает по инструкции. Спасибо большое!
И Вам спасибо за отзыв!
А вот и поторопился с отзывом. Начал тестировать и увидел проблемы. Придется дальше править код.
Вот примерно такое Notice: Undefined index: fax in /var/www/store/catalog/model/checkout/order.php on line 4Notice: Undefined index: payment_company in /var/www/store/catalog/model/checkout/order.php on line 4Notice: Undefined index: payment_company_id in /var/www/store/catalog/model/checkout/order.php on line 4
… и еще кое-где.
Kir, данные ошибки не связаны со скрытием страны и региона. Движок сообщает о том, что в строке у Вас имеется указание вывода факса и компании, Вы видимо их ранее удалили, а в этой строке не почистили. Либо проверьте аккуратно ли закомментировали код со страной и регионом в этой строке (хотя они с факсом и рядом не стоят).
Подскажите в чем может быть проблема, все вроде закомментил правильно, и пропускает на следующий шаг, но после того как почистил кукисы вылазит ошибка: Undefined index: shipping_address in C:\home\localhost\www\brelok\catalog\controller\checkout\guest.php on line 316
В shipping_address как раз содержится та информация, которую мы скрывали: страна и регион. Соответственно, движок сообщает о том, что остался код, который пытается выевсти то, чего уже нет и он не закомментирован. Закомментируйте строку/строки с этим кодом.
Добрый день! Не подскажете после скрытия и комментирования все было в порядке , рпопускала на 3-ий шаг, а после чистки кукисов , велезает
Undefined index: shipping_address in C:\home\localhost\www\brelok\catalog\controller\checkout\guest.php on line 316
в shipping_address.php надо копаться?
Спасибо, статья отличная.
Добрый день, Евгений.
В переменной shipping_address как раз содержится та информация, которую мы скрывали: страна и регион. Соответственно, движок сообщает о том, что остался код, который пытается выевсти то, чего уже нет и он не закомментирован. Закомментируйте строку/строки с этим кодом в guest.php.
Да, но я там все закомментировал не нужное и осталось лишь такое выражение:
if ($this->session->data[‘guest’][‘shipping_address’]) {
$this->session->data[‘guest’][‘shipping’][‘firstname’] = $this->request->post[‘firstname’];
$this->session->data[‘guest’][‘shipping’][‘lastname’] = $this->request->post[‘lastname’];
}
Все, разобрался сам, случайно закомментировал немного лишнего :) но теперь в google-money.php ошибка из за отсутствия региона ..буду ломать голову , как не пытался там поправить ничего не выходит, он просто перестает работать. Спасибо за статью и помощь!
Главное, что нашли корень проблемы) Удачи с оставшимися настройками!
Спасибо большое за такие полезные статьи
И Вам спасибо)
Добрый день.
Подскажите пожалуйста, а сможете помочь убрать эти же поля из K2 sore joomla? Уже который день ломаю голову, понимаю, что компоненты очень похожи, но в K2 store javascript это отрабатывает, и никак не получается поправить — не могу додуматься
С Джумлой очень уж на «вы», так что какие файлы с чем связаны не в курсе. Соотвественно, и что править, к сожалению, не подскажу.
Добрый вечер. А как сделать все наоборот с небольшими изменениями, тоесть не удалять етих два поля, а поместить в другое место.
как поставить страну и регион на главную страницу?
чтоби покупатель сразу после попадания на сайт мог вибрать страну и регион доставки товара? Но оставить связь с окончательним оформлениям заказа
Не приходилось реализовывать подобное, так вот сразу и не отвечу на Ваш вопрос…
Добрый день. Убрал все как прописано, но шах 6 Подтверждение заказа. пропал . ничего нет . как исправить ошибку. Или возможно все стоит вернуть. КАК ? СПАСИБО
После внесения вышеуказанных изменений невозможно завести заказ вручную из админки, так как выдаёт сообщение, что не введён регион — хотя регион введён.
Часто клиенты делают заказ по телефону и приходится его заводить в систему через админку, чтобы была статистика и учёт покупателей. Не мешало бы добавить вариант как теперь убрать контроль обязательных полей при заведении заказа через админку.
Хорошо, будет время, добавлю статью на эту тему.
В версии 1.5.6 этот фокус не работает, к сожалению((
Здравствуйте. Спасибо за статью.
выдает ошибку как у Евгения после очистки кукисов
SyntaxError: Unexpected token <
OK
Notice: Undefined index: shipping_address in /home/shbb/public_html/ochiochi.com/catalog/controller/checkout/guest.php on line 325[]
но я не пойму где напортачил, вот текст начиная с 325 строки не закоменчено только имя и город:
if ($this->session->data[‘guest’][‘shipping_address’]) {
$this->session->data[‘guest’][‘shipping’][‘firstname’] = $this->request->post[‘firstname’];
/*$this->session->data[‘guest’][‘shipping’][‘lastname’] = $this->request->post[‘lastname’];*/
/*$this->session->data[‘guest’][‘shipping’][‘company’] = $this->request->post[‘company’];*/
/*$this->session->data[‘guest’][‘shipping’][‘address_1′] = $this->request->post[‘address_1′];*/
/*$this->session->data[‘guest’][‘shipping’][‘address_2′] = $this->request->post[‘address_2′];*/
/*$this->session->data[‘guest’][‘shipping’][‘postcode’] = $this->request->post[‘postcode’];*/
$this->session->data[‘guest’][‘shipping’][‘city’] = $this->request->post[‘city’];
/*$this->session->data[‘guest’][‘shipping’][‘country_id’] = $this->request->post[‘country_id’];
$this->session->data[‘guest’][‘shipping’][‘zone_id’] = $this->request->post[‘zone_id’];*/
/*if ($country_info) {
$this->session->data[‘guest’][‘shipping’][‘country’] = $country_info[‘name’];
$this->session->data[‘guest’][‘shipping’][‘iso_code_2′] = $country_info[‘iso_code_2′];
$this->session->data[‘guest’][‘shipping’][‘iso_code_3′] = $country_info[‘iso_code_3′];
$this->session->data[‘guest’][‘shipping’][‘address_format’] = $country_info[‘address_format’];
} else {
$this->session->data[‘guest’][‘shipping’][‘country’] = »;
$this->session->data[‘guest’][‘shipping’][‘iso_code_2′] = »;
$this->session->data[‘guest’][‘shipping’][‘iso_code_3′] = »;
$this->session->data[‘guest’][‘shipping’][‘address_format’] = »;
}
if ($zone_info) {
$this->session->data[‘guest’][‘shipping’][‘zone’] = $zone_info[‘name’];
$this->session->data[‘guest’][‘shipping’][‘zone_code’] = $zone_info[‘code’];
} else {
$this->session->data[‘guest’][‘shipping’][‘zone’] = »;
$this->session->data[‘guest’][‘shipping’][‘zone_code’] = »;
}
// Default Shipping Address
$this->session->data[‘shipping_country_id’] = $this->request->post[‘country_id’];
$this->session->data[‘shipping_zone_id’] = $this->request->post[‘zone_id’];
$this->session->data[‘shipping_postcode’] = $this->request->post[‘postcode’];*/
}
Вам надо сверять оба файла, в которые Вы вносили изменения, чтобы найти где допустили ошибку в коде.
спасибо, начну заново )
Закоментировать нужно ещё и закрывающую скобку функции. Вы забыли!
Здравствуйте! У меня регионы написаны на английском языке! Как можно их перевести на украинский?
Вадим, скачайте скрипт с локализацией стран и регионов здесь. Загрузите ukrainian_countries.php в корневую папку магазина, затем наберите в адресной строке имя-вашего-сайта.com/ukrainian_countries.php. Очистите системный кеш и проверьте перевод стран и регионов, должны отображаться корректно. На всякий случай, перед запуском скрипта, сделайте бекап БД.
Спасибо! It works! )))
выдовало ошибку в файле catalogcontrollercheckoutguest.php
в инструкции выше, удалял строки 280-304 и 313-314, но не заметил, и удалил лишний код, не оставил строки 304-313. будьте внимательны.
Вы не учли, что если после данных манипуляций открыть данные покупателя в админке, то движок сообщит, что необходимо заполнить обязательные поля Страна и Регион и откажется сохранять изменения. Так что в административной части тоже нужно произвести некоторые манипуляции.
Подскажите:
1. Как убрать из регистрации нового пользователя поля (страна и регион, факс, компания, id компании, адрес2, индекс), без последствий.
2. Тоже самое при оформлении быстрого заказа.
3. Тоже самое при оформлении заказа, но уже через регистрацию нового пользователя.
Как ни странно, но за это отвечают 3 формы.
Спасибо.
Спасибо автору блога!
Спасибо, помогло очень!