Хорошая тема. Любые вопросы по CS-Cart и не только

Кто пользуется сортировкой, проверьте, после обновления до 4.6.1

Вид сортировки - Сортировать по времени: новинки выше

Работает не правильно !

Новинки оказываются на 4 странице из 6

Написал модуль оплаты. Работает, оплачивает. Но, столкнулся со странной проблемой с корзиной и отлогиниванием клиента из личного кабинета при удачном и неудачном оформлении заказа.
Опишу подробнее.
Клиент переходит на страницу с выбором вариантов способа оплаты. Статус заказа остается неизменным, а именно "N" (он устанавливается по умолчанию), для всех заказов, если только сам программист не изменит в коде. Я этот статус не меняю, он = "N".
При отказе клиента от оплаты, происходит возврат на "URL неудачи", что эквиалентно переходу на страницу с оформлением заказа, с выбором варианта способа оплаты. Статус заказа в коде, мною не меняется.

А дальше происходит магия и чародейство!
1. Если нажать на любой вариант оплаты или перейти на домашнюю страницу, то окажется, что клиент: не залогинен && корзина пуста.
2. Если не выполнить п.1, а попробовать заново оформить заказ - пишет, что "Корзина пуста Вы не можете оформить заказ, так как ваша корзина пуста " и клиент отлогинился из кабинета.И при этом, если нажать на "Мой профиль", то видна кнопка "Войти".
Кэш в админке чистил.

использую штатные функции:
fn_finish_payment($order_id_cs, $pp_response);
fn_order_placement_routines('route', $order_id_cs, false);

При успехе, использую:
$pp_response['order_status'] = 'P'; и
fn_change_order_status($order_id_cs, 'P');

На что стоит обратить внимание?
Каков статус надо установить, чтобы заказ сохранился/оставался в корзине?

Версия cs-cart: 4.5.2.sp1
Магазин: копия боевого, используется для отладки.

Спасибо.

Клиент переходит на страницу с выбором вариантов способа оплаты. Статус заказа остается неизменным, а именно "N" (он устанавливается по умолчанию), для всех заказов, если только сам программист не изменит в коде. Я этот статус не меняю, он = "N".

Здесь имею ввиду:

1. Клиент в сs-cart выбрал сопосб оплаты и нажал "Оформить заказ"

2. Данные отправились на сервер Платёжной системы и клиент перешёл на сраницу ПС.

3. Клиент нажал "крестик" в окошке, на странице ПС с последующим переходом на страницу "URL неудачи".

4. Клиент оказывется в cs-cart, на странице выбора способа оплаты.

Написал модуль оплаты. Работает, оплачивает. Но, столкнулся со странной проблемой с корзиной и отлогиниванием клиента из личного кабинета при удачном и неудачном оформлении заказа.
Опишу подробнее.
Клиент переходит на страницу с выбором вариантов способа оплаты. Статус заказа остается неизменным, а именно "N" (он устанавливается по умолчанию), для всех заказов, если только сам программист не изменит в коде. Я этот статус не меняю, он = "N".
При отказе клиента от оплаты, происходит возврат на "URL неудачи", что эквиалентно переходу на страницу с оформлением заказа, с выбором варианта способа оплаты. Статус заказа в коде, мною не меняется.

А дальше происходит магия и чародейство!
1. Если нажать на любой вариант оплаты или перейти на домашнюю страницу, то окажется, что клиент: не залогинен && корзина пуста.
2. Если не выполнить п.1, а попробовать заново оформить заказ - пишет, что "Корзина пуста Вы не можете оформить заказ, так как ваша корзина пуста " и клиент отлогинился из кабинета.И при этом, если нажать на "Мой профиль", то видна кнопка "Войти".
Кэш в админке чистил.

использую штатные функции:
fn_finish_payment($order_id_cs, $pp_response);
fn_order_placement_routines('route', $order_id_cs, false);

При успехе, использую:
$pp_response['order_status'] = 'P'; и
fn_change_order_status($order_id_cs, 'P');

На что стоит обратить внимание?
Каков статус надо установить, чтобы заказ сохранился/оставался в корзине?

Версия cs-cart: 4.5.2.sp1
Магазин: копия боевого, используется для отладки.

Спасибо.

Вот это да! Нашёл проблему.

Оказывается, если сделать так:

$pp_response['Покупатель'] = $_REQUEST['np_payer'];

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

При возврате на страницу dispatch=checkout.checkout, с неоплаченым заказом, содержимое корзины и заказа "числиться"/отображается, но на самом деле в корзине пусто. "Ты видишь суслика? ДА! А на самом деле его нет." :)

Как только нажмёш на вариант оплаты, или перейдшь на домашнюю страницк, или нажмешь на содержимое корзины:

- корзина пуста

- клиент не залогинен.

Всё, точно и однозначно нашел проблему:

неправильное поведение было из попытки записи данных в "неверной"/"кривой" кодировке в

$pp_response['Покупатель'] = $_REQUEST['np_payer'];

Значение $_REQUEST['np_payer'] состояло из "ромбиков", если вывести fn_print_r($_REQUEST['np_payer']);

Осталось определить кодировку значения $_REQUEST['np_payer'] и всё заработает как надо.

По осмыслу, в $_REQUEST['np_payer'] содержит русские буквы.

Кто знает, можно ли как-то поправить такой баг?

При экспорте прайса есть поле SALE PRICE. Если ведется учет остатков товара по опциям и одной из опций нет в наличии, то при экспорте цена товара в этом поле ставится равной 0. Как это исправить?

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

fn_check_payment_script проверяет, использует ли заказ переданный в параметрах скрипт (kupi.php)

fn_finish_payment меняет статус заказа на переданный из скрипта платежной системы, сохраняет информацию, которую вернула платежная система

fn_order_placement_routines перенаправляет на нужную страницу, например, checkout.complete или orders.details, выводит уведомления пользователям. Параметр false соответствует переменной $force_notification, которая определяет, нужно ли отправлять письма администратору, покупателю, вендору.

Использую код

$status = 'O';
$pp_response['status'] = '$status';
fn_change_order_status($order_id_cs, $status); /*Нужно ли, если есть fn_finish_payment? */
....
fn_finish_payment($order_id_cs, $pp_response);
fn_order_placement_routines('route', $order_id_cs, false);

Вопросы:

1. В какой связке и что использовать из набора функций:

2. Является ли тут fn_change_order_status($order_id_cs, $status) лишним?

3. Почему то у меня fn_finish_payment($order_id_cs, $pp_response); не меняет статус заказа на требуемы $status?

Приходиться использовать fn_change_order_status и fn_finish_payment.

Подскажите пож-ста после обновления 4.5.2.SP2 - 4.6.1
При попытке залогинится
Доступ запрещен: Возможна CSRF-атака...

покурив форум нашел

добавить в .htaccess

php_value pcre.backtrack_limit 10000000
php_value max_input_vars 10000
добавил, кешь обновил, ничего не поменялось.
Обратил внимание что Google ReCaptha не всегда отображается.
если отображается то пользователь проходит аунтификацию... если нет то Возможна CSRF-атака.
пробовал отключить Google ReCaptha (но проблема осталась).
Подскажите куда глядеть?

Еще обратил внимание что Капча не выходит в PopAP

http://joxi.ru/gmvbGEeHxx4EMm
на обычной странице отображается.

Использую код

$status = 'O';
$pp_response['status'] = '$status';
fn_change_order_status($order_id_cs, $status); /*Нужно ли, если есть fn_finish_payment? */
....
fn_finish_payment($order_id_cs, $pp_response);
fn_order_placement_routines('route', $order_id_cs, false);

Вопросы:

1. В какой связке и что использовать из набора функций:

2. Является ли тут fn_change_order_status($order_id_cs, $status) лишним?

3. Почему то у меня fn_finish_payment($order_id_cs, $pp_response); не меняет статус заказа на требуемы $status?

Приходиться использовать fn_change_order_status и fn_finish_payment.

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

fn_change_order_status здесь использовать не нужно.

Попробуйте

$pp_response['status'] = $status;

Подскажите пож-ста после обновления 4.5.2.SP2 - 4.6.1
При попытке залогинится
Доступ запрещен: Возможна CSRF-атака...

покурив форум нашел

добавить в .htaccess

php_value pcre.backtrack_limit 10000000
php_value max_input_vars 10000
добавил, кешь обновил, ничего не поменялось.
Обратил внимание что Google ReCaptha не всегда отображается.
если отображается то пользователь проходит аунтификацию... если нет то Возможна CSRF-атака.
пробовал отключить Google ReCaptha (но проблема осталась).
Подскажите куда глядеть?

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

А вы проверили, поменялось ли значение max_input_vars в php_info?

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

А вы проверили, поменялось ли значение max_input_vars в php_info?

да значение поменялось... вопрос снимается - проблема крылась в обновленном модуле AB: SEOhide (при отключении проблема ушла)

Добрый день!

Нужна ваша помощь!!!! Загружаю товары на тестовый домен (и через csv, и через панель), все норм в админке

Пытаюсь открыть сайт, открывает только главную страницу, на товарных страницах и листингах получаю вот такое:

Not Found

The requested URL /symka-poyas-elektrika-ru.html was not found on this server.

В чем может быть дело????

Вопрос по обмену данными с 1С

В ходе выгрузки происходит вот такая ошибка

Фоновый обмен
11.07.2017 3:00:10 Запуск выгрузки товаров
11.07.2017 3:04:12 Завершено формирование файлов выгрузки товаров
Выгружено товаров: 8 562
предложений: 8 465
картинок: 12 307

В том числе для каталога Основной каталог товаров:
товаров: 8 562
предложений: 8 465
картинок: 12 307

11.07.2017 4:44:42 Выгрузка на сайт завершилась с ошибками.
offers.xml: Произошла ошибка на стороне сервера.
Ответ сервера:
failure
11.07.2017 4:44:42 Завершена выгрузка товаров

Подскажите, как можно побороть? Может чего на хостинге подкрутить?

Добрый день!

Нужна ваша помощь!!!! Загружаю товары на тестовый домен (и через csv, и через панель), все норм в админке

Пытаюсь открыть сайт, открывает только главную страницу, на товарных страницах и листингах получаю вот такое:

Not Found

The requested URL /symka-poyas-elektrika-ru.html was not found on this server.

В чем может быть дело????

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

Проверьте, что модуль SEO включен и настроен.

Добрый день!

Нужна ваша помощь!!!! Загружаю товары на тестовый домен (и через csv, и через панель), все норм в админке

Пытаюсь открыть сайт, открывает только главную страницу, на товарных страницах и листингах получаю вот такое:

Not Found

The requested URL /symka-poyas-elektrika-ru.html was not found on this server.

В чем может быть дело????

http://docs.cs-cart.com/4.6.x/user_guide/addons/seo/seo_not_work.html

Добрый день. Где хранится шаблон купить в один клик?

Добрый день!

В 4,6,1 не могу настроить SMTP сервер. Клиентам сообщения уходят, а мне нет.

указываю

SMTP сервер: smtp.yandex.ru:465

логин электронной почты

пароль

шифрованное соединение: SSL

Использовать SMTP аутентификацию: стоит галочка

При пробном размещении заказа выдает ошибку:

ОшибкаСообщение не может быть отправлено.
Ошибка: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Что бы это значило? И что мне делать дальше

Добрый день. Где хранится шаблон купить в один клик?

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

design/themes/YOUR_THEME/templates/addons/call_requests/views/call_requests/components/call_requests_content.tpl

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

Интересует назначение функции fn_start_payment

Для чего она предназначена и в каких ситуациях следует использовать?

Чем она отличается от fn_finish_payment по назначению?

Спасибо.