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

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


Recommended Posts

Установил 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
Надіслати
Поділитися на інших сайтах


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

 

 

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

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


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

 

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

Откройте `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 months later...

Пока докопался до корня данной ошибки перелопатил кучу файлов... А когда нашел ошибку захотелось разработчикам 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 months later...

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

 

где-то после переезда вылазит проблема 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 month later...

В 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, если заказ был оформлен ранее на другом домене (на тестовом), а потом вы перенесли сайт на основной домен, то тоже может быть такая ошибка

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

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

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

×
×
  • Створити...

Important Information

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