Перейти к содержанию

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

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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

в 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

Поделиться сообщением


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

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

Поделиться сообщением


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

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

 

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

 

взято тут

Поделиться сообщением


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

В 2.3.0.2 Opencart уже нет такой проблемы сейчас вот проверяю а на 2.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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×