|
|
07.02.2012, 14:01
|
|
Гость
Гость
|
Добрый день!
Существует ли возможность в магазине предоставлять скидки по общей стоимости в корзине для не авторизованных пользователей или тут уже с бубном колдовать нужно?
т.е. если пользователь авторизовался то скидки работают на 5+, но если пользователь не авторизован и набрал товара на n-ную сумму, то скидка не отображается.
|
|
|
08.02.2012, 11:28
|
|
Denis

Зарегистрирован: 2008-07-15
Сообщений: 666
|
Есть ошибка в неткэте: скидки не срабатывают для неавторизированного пользователя, в следующем обновлении это будет исправлено.
|
|
|
03.05.2012, 12:52
|
|
Димк
Зарегистрирован: 2012-03-21
Сообщений: 6
|
Цитата:Есть ошибка в неткэте: скидки не срабатывают для неавторизированного пользователя, в следующем обновлении это будет исправлено.
Добрый день!
Обновился до версии 4.7, скидки все так же не срабатывают для неавторизованного пользователя. Удалось ли как-то исправить или обойти эту ошибку?
Не бывает неудачных экспериментов. Бывают неправильно интерпретированные результаты.
|
|
|
04.05.2012, 14:57
|
|
Димк
Зарегистрирован: 2012-03-21
Сообщений: 6
|
Пока не вышло неофициального исправления, сделал временную заплатку. Похоже, что корзина не видит global $AUTH_USER_ID у неавторизованного пользователя, поэтому для функции ApplyDiscounts() (которая находится в /netcat/modules/netshop/function.inc.php) я взял айдишник из объекта корзины CartContents:
Код:/* костыль для обхода ошибки неработающей скидки для неавторизованного пользователя */
$user_id_for_discount_arr = $this->CartContents;
$user_id_for_discount = $user_id_for_discount_arr[0][User_ID];
ну и чуть ниже по тексту подставил вместо $AUTH_USER_ID свою переменную $user_id_for_discount в
Код:$discounts = assoc_array("
SELECT * FROM Message$this->discount_table as a, User_Group as ug
WHERE ug.User_ID = $user_id_for_discount AND......
Не бывает неудачных экспериментов. Бывают неправильно интерпретированные результаты.
|
|
|
06.05.2012, 19:18
|
|
Строганов
Зарегистрирован: 2012-05-06
Сообщений: 1
|
Скажите, как вам 4.3 в действии?
Рекомендовали бы?
souz01.com - Ассоциация качества пожарной отрасли
|
|
|
12.05.2012, 13:35
|
|
Nexwich
Панасин Александр

Зарегистрирован: 2011-04-05
Сообщений: 1037
|
А чемя тебя не устраивает 4.7? а скоро выйдет новая. Чем дальше тем только лучше становится.
Ставь последнию или обноляй до таковой и не парьсе все будет в шоколаде.
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|
|
|
21.05.2012, 11:22
|
|
Димк
Зарегистрирован: 2012-03-21
Сообщений: 6
|
в прошлом сообщении я в абсолютно неверном месте брал $AUTH_USER_ID, кроме того дело было также и в условии выборки скидок. Вот более правильный кусок функции:
Код:
$user_id_for_discount = (!empty($AUTH_USER_ID) ? $AUTH_USER_ID : 0 );
$registered_user_string = ($user_id_for_discount > 0 ? "ug.User_ID = ".$user_id_for_discount." AND " : "");
/* костыли END */
// кусок костылей: строка (a.UserGroups = '' OR FIND_IN_SET(ug.PermissionGroup_ID, a.UserGroups)) заменена на
// (a.UserGroups = '' OR a.UserGroups = (SELECT PermissionGroup_ID FROM User_Group WHERE User_ID=".$user_id_for_discount."))
$discounts = assoc_array("
SELECT * FROM Message$this->discount_table as a, User_Group as ug
WHERE ".$registered_user_string."
(
(
a.AppliesTo=2 /* whole cart */ AND
(a.UserGroups = '' OR FIND_IN_SET(ug.PermissionGroup_ID, a.UserGroups))
)
OR
(
/* discounts applied to goods */ (a.GoodsTypes = '' OR $goods_types) AND
(a.UserGroups = '' OR a.UserGroups = (SELECT PermissionGroup_ID FROM User_Group WHERE User_ID=".$user_id_for_discount."))
)
) AND ( /* common part for both cart and goods discounts */
(
(a.ValidFrom IS NULL AND a.ValidTo IS NULL) OR
(a.ValidFrom <= NOW() AND a.ValidTo >= NOW())
) AND
(a.TypeOfPrice = '' OR FIND_IN_SET('$this->PriceColumn', a.TypeOfPrice)) AND
Checked = 1
)
GROUP BY a.Message_ID ORDER BY a.AppliesTo, a.Priority DESC
");
Не бывает неудачных экспериментов. Бывают неправильно интерпретированные результаты.
|
|
|
21.05.2012, 11:26
|
|
Димк
Зарегистрирован: 2012-03-21
Сообщений: 6
|
С версией 4.3, по-моему, не сталкивался. Думаю, что в ней вполне можно работать. Но лучше, конечно, обновиться (если есть возможность). Например в версии 4.7 дизайн корзины можно теперь редактировать из админки, а в более старых версиях приходилось в файлах ковыряться.
Не бывает неудачных экспериментов. Бывают неправильно интерпретированные результаты.
|