Ограничение количества записей для заказов в bitrix
Posted in Новости on 11 июня, 2019 by adminШтатно количество отображаемых записей регулируется GET параметром SIZEN_1 , соответственно, нам требуется узнавать параметр и в случае его превышения сбрасывать до стандартного значения. Так как в стандартном решении nginx нет необходимого компаратора, то решение написал на lua ( соответственно этот модуль должен быть включен в nginx ). Вставляем решение в location ~ \.php$ :
set $rew 0; rewrite_by_lua_block { local rf = ngx.var.request_filename local args = ngx.var.args if rf == ngx.var.document_root .. "/bitrix/admin/sale_order.php" then if ngx.var.arg_SIZEN_1 and tonumber(ngx.var.arg_SIZEN_1) > 50 then newargs, n, err = ngx.re.gsub(args, [[\bSIZEN_1=[^&]*&?]], "SIZEN_1=50&", "jo") if n and n > 0 then ngx.var.args = newargs local urito = ngx.var.scheme .. "://" .. ngx.var.server_name .. "/bitrix/admin/sale_order.php?" .. ngx.var.args ngx.redirect(urito) end end if ngx.var.arg_SHOWALL_1 and tonumber(ngx.var.arg_SHOWALL_1) > 0 then newargs, n, err = ngx.re.gsub(args, [[\bSHOWALL_1=[^&]*&?]], "SIZEN_1=50&", "jo") if n and n > 0 then ngx.var.args = newargs local urito = ngx.var.scheme .. "://" .. ngx.var.server_name .. "/bitrix/admin/sale_order.php?" .. ngx.var.args ngx.redirect(urito) end end end }