Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Решено] Не редактируется заказ ocstore 2xx https


 Поделиться

Рекомендованные сообщения

Установил ocstore 2.1.0.2, сверху накатил шаблон, затем подключил серт SSL. Сделал тестовый заказ на сайте, после чего пытаюсь отредактировать его в админке, но после нажатия на кнопку "Продолжить" просто висит загрузка. В журнале ошибок нет. Методом тыка выяснил, что при отключении https и возврате на http - редактирование заказов работает. Собственно https мне необходим. Подскажите, пожалуйста, как решить?

post-707394-0-40051100-1457728011_thumb.jpg

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


в admin/config.php в путях все http измените на https

 

Спасибо! Редактирование заказов заработало. Сменил:

// HTTP
define('HTTP_SERVER', 'http://***.ru/admin/');
define('HTTP_CATALOG', 'http://***.ru/');
// HTTPS
define('HTTPS_SERVER', 'https://***.ru/admin/');
define('HTTPS_CATALOG', 'https://***.ru/');
 
На:
// HTTP
define('HTTP_SERVER', 'https://***.ru/admin/');
define('HTTP_CATALOG', 'https://***.ru/');
// HTTPS
define('HTTPS_SERVER', 'https://***.ru/admin/');
define('HTTPS_CATALOG', 'https://***.ru/');
 
Но осталась такая же проблема с добавлением истории заказа, т.е. например изменяю статус заказа, нажимаю "Добавить историю" и также висит загрузка. Попробовал прописать везде https в основном файле config, но это не помогло. Подскажите, пожалуйста, в чем может быть проблема?
Ссылка на комментарий
Поделиться на других сайтах


прописать и в основном - тоже имеет смысл, если ssl используете

по-крайней мере, лишним не будет

 

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

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

Вот что выдала консоль:

Mixed Content: The page at 'https://***.ru/admin/index.php?route=sale/order/info&token=LGKuK9v7w9FfgaoChnLE4HRpQBbMeYAV&order_id=3' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://***.ru/index.php?route=api/order/history&token=&order_id=3'. This request has been blocked; the content must be served over HTTPS.

 

Рядом ссылка на файл jquery-2.1.1.min.js

 

Если я правильно понял, то это ошибка говорит о том, что часть ресурсов ссылается на http, а надо на https. Но ошибка обнаружена в файле jquery и там урлов я не нашел (к сожалению не силен в jquery). Если верно понял ошибку, то где тогда искать урлы которые надо править и почему ошибка именно в файле jquery?

 

jquery.txt

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


Ни в файле видимо а в библиотеке

А сам скрипт инлайн должен быть

 

А можно поподробнее, пожалуйста)

 

ЗЫ. еще в консоли ошибка упоминается в файле index.php:

k.cors.a.crossDomain.send @ jquery-2.1.1.min.js:4 n.extend.ajax @ jquery-2.1.1.min.js:4 (anonymous function) @ index.php?route=sale/order/info&order_id=3&token=zwP9q1wS65r1hwJk4D7JRLqUZMQjggA2:757 n.event.dispatch @ jquery-2.1.1.min.js:3 r.handle @ jquery-2.1.1.min.js:3
Ссылка на комментарий
Поделиться на других сайтах


Вот что выдала консоль:

Mixed Content: The page at '

https://***.ru/admin/index.php?route=sale/order/info&token=LGKuK9v7w9FfgaoChnLE4HRpQBbMeYAV&order_id=3
was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint
http://***.ru/index.php?route=api/order/history&token=&order_id=3
This request has been blocked; the content must be served over HTTPS.

Откройте `admin/controller/sale/order.php`, перейдите на строку #853. Там должно быть

	$data['store_url'] = $order_info['store_url'];
Попробуйте заменить на

	$data['store_url'] = substr($order_info['store_url'], 1 + strpos($order_info['store_url'], ":"));
И попробуйте снова в инспекторе посмотреть.
  • +1 6
Ссылка на комментарий
Поделиться на других сайтах


Откройте `admin/controller/sale/order.php`, перейдите на строку #853. Там должно быть

	$data['store_url'] = $order_info['store_url'];
Попробуйте заменить на

	$data['store_url'] = substr($order_info['store_url'], 1 + strpos($order_info['store_url'], ":"));
И попробуйте снова в инспекторе посмотреть.

 

 

Поменял, не помогло, ошибка та же.

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


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

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


UPD:

 

Поправил основной config.php:

 

// HTTP

define('HTTP_SERVER', 'https:/site.ru/');
 
// HTTPS
define('HTTPS_SERVER', 'https://site.ru/');
 
и /admin/config.php:
 
// HTTP
define('HTTP_SERVER', 'https://site.ru/admin/');
define('HTTP_CATALOG', 'https://site.ru/');
 
// HTTPS
define('HTTPS_SERVER', 'https://site.ru/admin/');
define('HTTPS_CATALOG', 'https://site.ru/');
 
Всё заработало, спасибо за подсказки
Изменено пользователем Alcom
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


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

 

Вот:

Mixed Content: The page at 'https://***.ru/admin/index.php?route=sale/order/info&token=Djd5ns6V18okUrQeQdGSljxFFp4qk8Xk&order_id=3' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://***.ru/index.php?route=api/order/history&token=&order_id=3'. This request has been blocked; the content must be served over HTTPS.

k.cors.a.crossDomain.send @ jquery-2.1.1.min.js:4 n.extend.ajax @ jquery-2.1.1.min.js:4 (anonymous function) @ index.php?route=sale/order/info&token=Djd5ns6V18okUrQeQdGSljxFFp4qk8Xk&order_id=3:757 n.event.dispatch @ jquery-2.1.1.min.js:3 r.handle @ jquery-2.1.1.min.js:3
Ссылка на комментарий
Поделиться на других сайтах


Поменял, не помогло, ошибка та же.

после того как поменяли - обновите кеш модификаторов для верности

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

после того как поменяли - обновите кеш модификаторов для верности

 

 

Отлично! Всё заработало! Всем огромное спасибо за помощь!

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


Такая же ошибка была.

 

Помогло (тестил только изменение статуса заказа):

Откройте `admin/controller/sale/order.php`, перейдите на строку #853. Там должно быть

	$data['store_url'] = $order_info['store_url'];
Попробуйте заменить на
	$data['store_url'] = substr($order_info['store_url'], 1 + strpos($order_info['store_url'], ":"));
И попробуйте снова в инспекторе посмотреть.

 

 

По крайней мере стало возможно изменить статус заказа. ocStore 2.1.0.2.

Строка 858.

 

Тогда собсно вопрос по использованию SSL возникает. Это в одном критическом месте так?

 

Просто если настраивать как писали про SSL (меняем в двух конфигах и включаем на сайте), то с SSL работает только какая то половина сайта:

Авторизация,  Регистрация,Личный кабинет, Учетная запись, Смена пароля, Адреса доставки,  История заказов, Файлы для скачивания, Периодические платежи, Бонусные баллы, Возврат товара, История платежей

"Мои закладки" - в стандартном шаблоне: в менюшке в самом вверху с HTTPS в остальных местах HTTP

Корзина: HTTP, оформление заказа HTTPS

Все остальное по HTTP.

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


  • 4 месяца спустя...

Пока докопался до корня данной ошибки перелопатил кучу файлов... А когда нашел ошибку захотелось разработчикам opencart плюнуть в лицо.
После включения SSL наблюдаем.

Ошибка 1: При быстром просмотре заказа выскакивает alert с error undefiend
- происходит потому, что в переменную $order_info['store_url'] попадает url магазина которые отличается от текущего url магазина

Если ранее заказы были сделаны в магазине http://shop.com, а затем Вы включили SSL то будет такая ошибка.
Решил 1 запросом в базу, сменил store_url для всех заказов на https://shop.com

Происходит это потому что при оформлении заказа запись в переменную идет как условие:
 

			if ($order_data['store_id']) {
				$order_data['store_url'] = $this->config->get('config_url');
			} else {
				$order_data['store_url'] = HTTP_SERVER;
			}

по умолчанию store_id = 0 и в данном условии это false, а значит отрабатывает всегда втрое и всегда пишет адрес магазина на HTTP.
а нужно было написать:
 

if (isset($order_data['store_id']) && !empty($order_data['store_id'])) {

Можно окончательно решить заменой в config.php всего с http на https

Ошибка 2: При рекдактирвании заказа выскакивает alert с error undefiend

в Контроллере admin\controller\sale\order.php в строке 630 находим

		$data['stores'][] = array(
			'store_id' => 0,
			'name'     => $this->language->get('text_default'),
			'href'     => HTTP_CATALOG
		);

Снова HTTP_CATALOG, меняем в admin/config.php все http на https
 

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

Все такие ошибки и подобные им возникают из-за нововведений в версии 2.x системы API.

Которая как бы создана для того, что бы обезопасить редактирование заказов, товаров.. итд

А работает оно по такому принципу, что из админки система обращается к api которое находится на стороне пользовательской части. И если запрошенный url отличается от того с которого был послан запрос, то выдаст ошибку.

Ну и в итоге если Админка работает без ssl, а пользовательская часть с ssl - то таких ошибок не избежать.

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

  • 2 месяца спустя...

Други, здравствуйте,

 

где-то после переезда вылазит проблема API с ошибкой в карточке товара

 

https://server.ru/admin/TTP_SERVER

 

не могу отловить, подскажите пожалуйста, где порыться?

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


 

UPD:

 

Поправил основной config.php:

 

// HTTP

define('HTTP_SERVER', 'https:/site.ru/');
 
// HTTPS
define('HTTPS_SERVER', 'https://site.ru/');
 
и /admin/config.php:
 
// HTTP
define('HTTP_SERVER', 'https://site.ru/admin/');
define('HTTP_CATALOG', 'https://site.ru/');
 
// HTTPS
define('HTTPS_SERVER', 'https://site.ru/admin/');
define('HTTPS_CATALOG', 'https://site.ru/');
 
Всё заработало, спасибо за подсказки

 

была та же проблема. помогло спс

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


 

UPD:

 

Поправил основной config.php:

 

// HTTP

define('HTTP_SERVER', 'https:/site.ru/');
 
// HTTPS
define('HTTPS_SERVER', 'https://site.ru/');
 
и /admin/config.php:
 
// HTTP
define('HTTP_SERVER', 'https://site.ru/admin/');
define('HTTP_CATALOG', 'https://site.ru/');
 
// HTTPS
define('HTTPS_SERVER', 'https://site.ru/admin/');
define('HTTPS_CATALOG', 'https://site.ru/');
 

 

 

не помогло, помогло в htaccess вписать где-то после

RewriteEngine On

вот это:

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

 

взято тут

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


  • 1 месяц спустя...

В 2.3.0.2 Opencart уже нет такой проблемы сейчас вот проверяю а на 2.1, да бодается в админке 

какая то проблема с редактированием заказа с 2.3.0.2   есть, и никаких ssl нет

b437c4acdfc6.jpg

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


какая то проблема с редактированием заказа с 2.3.0.2   есть, и никаких ssl нет

b437c4acdfc6.jpg

У меня такая ошибка часто возникала если права на папку admin стояли не 755 или 777, после установки прав на пользователя user:www-data все поправлялось. Но это на VPS

Это может быть связано не обязательно с SSL, если заказ был оформлен ранее на другом домене (на тестовом), а потом вы перенесли сайт на основной домен, то тоже может быть такая ошибка

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

 Он же что-то пищет в success

 

смотрите ответ в консоли

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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.