Не Работает Определение Местоположения

Добрый день, Камрады!
Свой вопрос изначально адресовал в службу поддержки, но с 23 декабря от них был только один ответ из серии "Обращений очень много, ожидайте своей очереди". Ответим через 1-2 дня. Прошло уже 5 дней.
Может кто-то из собравшихся сможет что-то посоветовать... Буду очень благодарен.
Хочу добиться, чтобы стоимость доставки показывалась на странице товара.
Версия 4.4.2.
Все делаю как тут: http://www.cs-cart.ru/docs/4.4.x/user_guide/addons/geolocation/
1. Населенный пункт определяется, хотя происходит это дольше минуты. Всё это время сайт "висит". Любой покупатель просто уйдет в это время. Этот населенный пункт (с трудом определенный) автоматом не подставляется в заказ. Это можно как-то устранить?
2. Думаю, по той же причине не отображается стоимость и варианты доставки на странице товара. Ради этого все и делалось.
3. При включенном модуле "Определение местоположения" вообще не работает кнопка "добавить в корзину", т.е. фактически при включенном модуле магазин не работает. Как только модуль выключаю - товар добавляется в корзину, кнопка начинает работать.
Скажите, модуль определение местоположения и города тестировались на 4.4.2? Может быть тут какая-то проблема совместимости?
Помогите решить проблему.
Может ли быть проблема с правами на файлы/папки? На что обратить внимание?
PS: Сторонних модулей нет. Изначально ставил 4.4.1, потом обновил до 4.4.2

У меня работает.

Попробуйте поставить в настройках модуля Способ определения местоположения: Yandex

У меня работает.

Попробуйте поставить в настройках модуля Способ определения местоположения: Yandex

Только что попробовал. Город определяется.

Кнопочка "В корзину" по-прежнему не работает при включенном модуле.

Вот, что на эту тему в error.log написано:

[Wed Dec 28 15:48:19.405211 2016] [:error] [pid 24009] [client 82.151.106.240:13286] PHP Fatal error: Maximum execution time of 120 seconds exceeded in /home/a123456/site.ru/www/app/Tygh/Shippings/Shippings.php on line 268, referer: http://site.ru/tovar_url/

кроме 268 фигурируют строки 265, 266, 268, 272

Я так понимаю, не может выполнится Shippings.php по таймауту. Скрипт висит. Варианты и стоимости доставки должны выводиться до "В Корзину", в итоге кнопочка "в корзину" не успевает "догрузиться".

Пожалуйста, помогите из всего этого сделать правильные выводы и устранить проблему.

Через 2 минуты, когда выполнение скрипта прекращается по таймауту, кнопочка "в корзину" на странице товара начинает функционировать.

Может быть скрипт пытается все это время создать какой-то файл в какой-то папке, а из-за отсутствия прав на эту папку выполнить этого не может? /это версия/

По-прежнему надеюсь на чей-то умный совет!

Отвечу сам себе:

Почти 3 недели служба поддержки периодически пыталась решить проблему, в итоге во всем был обвинен хостинг, который "не дает выполняться скрипту".

Хостинг был сменен. Проблема осталась.

В итоге (когда уже точно было ясно, что дело не в хостинге) служба поддержки всё починила, за что им спасибо!

Если кто-то поиском наткнется на такую проблему, приведу ответ службы поддержки тут:

-----------

Спасибо за ваше сообщение.
К сожалению, проблема вызвана недоработкой в стандартном коде CS-Cart. Мы исправили ее путем внесения необходимых изменений в файл app/addons/rus_geolocation/controllers/frontend/geolocation.php вашей установки CS-Cart. Теперь стоимость доставки отображается на странице товара.
-----------
Т.е. я так понимаю, что проблема проявляется не у всех, но вероятность появления имеет место быть.

Проблема с отображением способов доставки и не работающей кнопкой, связана с тем, что данные способов доставки обрабатываются не корректно на хостинга, где установлена версия php 5.3 и ниже.

Для решения данной проблемы необходимо в файл `app/addons/rus_geolocation/controllers/frontend/geolocation.php ` добавить проверку:

if (!empty($data_product[$params['product_id']]['shipping_params'])) {
    $data_product[$params['product_id']]['shipping_params'] = unserialize($data_product[$params['product_id']]['shipping_params']);
}

после строки

$data_product[$params['product_id']] = fn_get_product_data($params['product_id'], $auth);

Проблема с отображением способов доставки и не работающей кнопкой, связана с тем, что данные способов доставки обрабатываются не корректно на хостинга, где установлена версия php 5.3 и ниже.

Для решения данной проблемы необходимо в файл `app/addons/rus_geolocation/controllers/frontend/geolocation.php ` добавить проверку:

if (!empty($data_product[$params['product_id']]['shipping_params'])) {
    $data_product[$params['product_id']]['shipping_params'] = unserialize($data_product[$params['product_id']]['shipping_params']);
}

Большое СПАСИБО! Возможно, кому-то пригодится!

Возможно установить город по умолчанию чтоб, попап окно не выскакивало ?
Или может в коде подскажите что прописать?

Вы можете использовать модуль Мои изменения и записать в сессию в параметр geocity

А можете подробностей подкинуть ?

А можете подробностей подкинуть ?

Смотрите в файле app/addons/rus_geolocation/controllers/frontend/init.post.php как задается локация из запроса. Вам ниже можно написать, что если в сессии пусто, то такой-то город задается. init.post.php вызывается на любой странице в витрине

Смотрите в файле app/addons/rus_geolocation/controllers/frontend/init.post.php как задается локация из запроса. Вам ниже можно написать, что если в сессии пусто, то такой-то город задается. init.post.php вызывается на любой странице в витрине

Как то так. Вроде работает.

if (empty($_SESSION['geocity'])) {
Tygh::$app['session']['geocity'] = 'Москва';
}

Теперь конечно авто определения нет.

Может есть модуль чтоб выбор аккуратненько в шапочке показывался https://s.mail.ru/FE9m/nzgC6Lr9hи чтоб с расчетом доставки на карточке работал как в типовом варианте https://s.mail.ru/7yfZ/FFAzkuDRX.

Может есть модуль чтоб выбор аккуратненько в шапочке показывался https://s.mail.ru/FE9m/nzgC6Lr9hи чтоб с расчетом доставки на карточке работал как в типовом варианте https://s.mail.ru/7yfZ/FFAzkuDRX.

Вот ТУТ эта проблема обсуждалась. Там же есть пара модулей, которые работают как Вам нужно:

Как то так. Вроде работает.

if (empty($_SESSION['geocity'])) {
Tygh::$app['session']['geocity'] = 'Москва';
}

Теперь конечно авто определения нет.

Может есть модуль чтоб выбор аккуратненько в шапочке показывался https://s.mail.ru/FE9m/nzgC6Lr9hи чтоб с расчетом доставки на карточке работал как в типовом варианте https://s.mail.ru/7yfZ/FFAzkuDRX.

У нас есть модуль, который показывает стоимость доставки на странице товара

https://www.ecom-labs.ru/cs-cart-multi-vendor-moduli/cs-cart-modul-stoimost-dostavki-tovara.html

Для автоопределения положения, к сожалению, модуля нет

Как то так. Вроде работает.

if (empty($_SESSION['geocity'])) {
Tygh::$app['session']['geocity'] = 'Москва';
}

Теперь конечно авто определения нет.

Может есть модуль чтоб выбор аккуратненько в шапочке показывался https://s.mail.ru/FE9m/nzgC6Lr9hи чтоб с расчетом доставки на карточке работал как в типовом варианте https://s.mail.ru/7yfZ/FFAzkuDRX.

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

У нас есть 2 модуля для определения местоположения:

IP Geolocation by MaxMind

Geolocation by Google

А также модуль для расчета способов доставки на странице продукта: Shipping Estimate

Совместная работа данных модулей проверялась, они полностью совместимы.

Ошибочка вышла, простите!

Модуль Geolocation by Google не совсем корректно работает с яндекс метрикой!
И решить проблему разработчики не в силах. :-)

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

Я бы хотел объяснить эту ситуацию.

Во-первых, мы протестировали модуль на чистой версии CS-Cart и ошибок не обнаружили.

Во-вторых, мы не отрицаем, что библиотеки Google и Яндекс могут конфликтовать, но повлиять мы на них не можем.

Во-первых, мы протестировали модуль на чистой версии CS-Cart и ошибок не обнаружили.

Во-вторых, мы не отрицаем, что библиотеки Google и Яндекс могут конфликтовать, но повлиять мы на них не можем.

Возможно!

Уважаемые пользователи модуля Geolocation by Google, не могли бы вы посмотреть как у вас работает ВЕБВИЗОР в яндекс метрике. Не добавляет ли он "лишние страницы" в отчете?
Выглядит это примерно так http://joxi.ru/82QL8Gzt1pJkWm

Заранее Спасибо!

Возможно!

Уважаемые пользователи модуля Geolocation by Google, не могли бы вы посмотреть как у вас работает ВЕБВИЗОР в яндекс метрике. Не добавляет ли он "лишние страницы" в отчете?
Выглядит это примерно так http://joxi.ru/82QL8Gzt1pJkWm

Заранее Спасибо!

Посмотрел у себя. Аналогичной проблемы не обнаружено.