Ограничение количества записей для заказов в bitrix
Штатно количество отображаемых записей регулируется 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
}