$APPLICATION->RestartBuffer()
ни при чем, если его убрать ничего не меняется. Так купон не применяется или стоимость остается прежней?
Купон есть в списке?
coupons list: Array
(
[0] => pl_10
)
if(isset($coupon)){
$file = "/@del/coupon.log";
$lstCoupons = Sale\DiscountCouponsManager::get(false, [], true, false);
Diag\Debug::writeToFile("coupons list: ".print_r($lstCoupons, true), "", $file);
$couponinfo = DiscountCouponsManager::getData($coupon, true);
if ($couponinfo['ACTIVE'] == 'Y') {
Diag\Debug::writeToFile("coupon ".$coupon." active", "", $file);
$discountOrder = Sale\Order::load($orderId);
Sale\DiscountCouponsManager::add($coupon);
$discounts = $discountOrder->getDiscount();
$discounts->calculate();
$discountOrder->refreshData();
$discountOrder->save();
}
}
При том что это в апаче делают вагон rewrite в каждой папке. В nginx стараются обходиться location.
location /man-main {
try_files $uri $uri/ /index.php?route=common/home&gender=m;
}
rewrite ^/man-main/$ /index.php?route=common/home&gender=m last;
rewrite ^/man-main/$ /index.php?route=common/home&gender=m last;
rewrite ^/woman-main/$ /index.php?route=common/home&gender=w last;
но я специально многоточие поставил - что там еще должно чего быть.
вы из nginx пытаетесь сделать апач с его rewrite - это не совсем правильно.
location /woman-main/ {
fastcgi_param QUERY_STRING route=common/home&gender=w;
}
З.Ы. А почему просто не пробросить все на php и там разобрать роуты?
server {
server_name site.ru www.site.ru;
charset off;
index index.php index.html;
disable_symlinks off;
include /etc/nginx/vhosts-includes/*.conf;
include /etc/nginx/vhosts-resources/site.ru/*.conf;
access_log /var/www/httpd-logs/site.ru.access.log;
error_log /var/www/httpd-logs/site.ru.error.log notice;
set $root_path /var/www/site/data/www/site.ru;
root $root_path;
listen 127.0.0.1:80;
location / {
location ~ [^/]\.ph(p\d*|tml)$ {
try_files /does_not_exists @php;
}
if (!-e $request_filename){
rewrite ^/(.+)$ /index.php?_route_=$1 last;
}
auth_basic "Access limited by ISPmanager";
auth_basic_user_file /var/www/site/data/etc/access.site.ru.1B2M2Y8A.passwd;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|woff2)$ {
expires max;
access_log off;
error_log off crit;
}
location @php {
fastcgi_index index.php;
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@site.ru";
fastcgi_pass unix:/var/www/php-fpm/site.sock;
fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
try_files $uri =404;
include fastcgi_params;
}
rewrite ^/man-main/$ /index.php?route=common/home&gender=m last;
rewrite ^/woman-main/$ /index.php?route=common/home&gender=w last;
}
SELECT pa.text FROM oc_product_attribute_test pa WHERE pa.product_id = 19442 AND pa.attribute_id = '35'
SELECT IFNULL((SELECT pa.text FROM oc_product_attribute_test pa WHERE pa.product_id = 19442 AND pa.attribute_id = '35'), 'NULL');
SELECT IFNULL((SELECT pa.text FROM oc_product_attribute_test pa WHERE pa.product_id = 24074 AND pa.attribute_id = '35'), 'NULL');
Ваш код я на всякий случай конечно скопипастил и проверил, без изменений.
В переписке с Александром я писал что
возвращает купон еще до применения.
Поковырявшись понял что купон также применяется при проверке номера телефона через ajax на форме 1 клик.
Думал может внутри битрикса какая-то транзакция открывается убрал применения, принудительно сделал
unset($_SESSION["CATALOG_USER_COUPONS"]);
И в качестве "на всякий"
К сожалению не помогло.
теперь пустой, но купон так и не применяется...