COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Ошибка при работе с заказами


Recommended Posts

Здравствуйте!

При переводе магазина на https при просмотре заказа вылезает ошибка

[Exception... "<no message>"  nsresult: "0x805e0006 (<unknown>)"  location: "JS frame :: https://adresmagazina.ru/admin/view/javascript/jquery/jquery-2.1.1.min.js :: .send :: line 4"  data: no]

 

Что это такое и как побороть?

Ссылка на комментарий
Поделиться на других сайтах

Пишет, что на странице есть незащищенный контент. При просмотре исходного кода страницы у некоторых ajax запросов ссылки формата http, а не https. В исходнике там присутствует $store_url, почему-то она содержит http.

Ссылка на комментарий
Поделиться на других сайтах

так, еще раз

config.php

admin/config.php

HTTP_SERVER

HTTP_CATALOG

HTTPS_SERVER

HTTPS_CATALOG

 

в админке работаете по https

 

осталось последнее предположение и сдаюсь

настройки магазина - сервер - "Использовать SSL"

Ссылка на комментарий
Поделиться на других сайтах

ясно, посмотрю в эту сторону. Попробовал жестко прописать вместо <?php echo $store_url; ?> нужный адрес с https все заработало. Уфф, буду разбираться. Спасибо за содействие.

Ссылка на комментарий
Поделиться на других сайтах

Посмотрел базу. В таблице oc_order в поле store_url адрес попадает с http, видимо поэтому и ошибка. Интересно, как он туда попадает?

Ссылка на комментарий
Поделиться на других сайтах

в БД пишется адрес магазина на момент создания заказа

 

внесите эти правки

 

admin/controller/sale/order.php

 

находим

$data['store'] = HTTPS_CATALOG;

меняем на

$data['store'] = $this->config->get('config_secure')?HTTPS_CATALOG:HTTP_CATALOG;

 

находим

'href'     => HTTP_CATALOG

меняем на

'href'     => $this->config->get('config_secure')?HTTPS_CATALOG:HTTP_CATALOG

 

перед

 			$data['header'] = $this->load->controller('common/header');
 			$data['column_left'] = $this->load->controller('common/column_left');
 			$data['footer'] = $this->load->controller('common/footer');
 
 			$this->response->setOutput($this->load->view('sale/order_info.tpl', $data));

добавляем

$data['store'] = $this->config->get('config_secure')?HTTPS_CATALOG:HTTP_CATALOG;

 

 

admin/view/template/sale/order_info.tpl

 

находим

url: '<?php echo $store_url; ?>index.php?route=api/login',

меняем на

url: '<?php echo $store; ?>index.php?route=api/login',

 

находим

url: '<?php echo $store_url; ?>index.php?route=api/order/history&token=' + token + '&order_id=<?php echo $order_id; ?>',

меняем на

url: '<?php echo $store; ?>index.php?route=api/order/history&token=' + token + '&order_id=<?php echo $order_id; ?>',

 

надеюсь, в последующих версиях данная проблема будет устранена, файлы просто перезапишете с обновлением

Ссылка на комментарий
Поделиться на других сайтах

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

Ссылка на комментарий
Поделиться на других сайтах

45 минуты назад, dremora сказал:

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

для того, чтобы у новых заказов был адрес сайта правильный, у вас уже все сделано, т.е. в config.php явно задана константа HTTP_SERVER как https://вашмагазин

а сейчас у вас как бы два магазина :)

Ссылка на комментарий
Поделиться на других сайтах

  • 11 months later...
В 09.12.2015 at 01:58, dremora сказал:

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

 

Спасибо, друг!

Я пошел твоим путем и просто добавил один символ S в коде контроллера /catalog/controller/checkout/confirm.php

В строке 100 заменил

$order_data['store_url'] = HTTP_SERVER;

на

$order_data['store_url'] = HTTPS_SERVER;

 

Ошибка блокировки загрузки смешанного активного содержимого index.php?route=api/login пропала.

Поэтому добавлять запись в таблицу oc_store нет необходимости.

 

Небольшое пояснение.

Записи в базу данных делает функция public function addOrder($data), описанная в модели /catalog/model/checkout/order.php

Эта функция вызывается из вышеуказанного контроллера в строке 314

$this->session->data['order_id'] = $this->model_checkout_order->addOrder($order_data);

 

 

Еще раз спасибо!

 

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.