$request_join[$fid] = "<?if(preg_match('t[]'))?><?=(!isset(\$t[$fid]))?\"LEFT JOIN ".PREFIX."_document_fields AS t$fid ON (t$fid.document_id = a.Id AND t$fid.rubric_field_id='$fid')\" : ''?>";
$request_join[$fid] = "<?if(preg_match('t[]'))?><?=(!isset(\$t[$fid]))?\"LEFT JOIN ".PREFIX."_document_fields AS t$fid ON (t$fid.document_id = a.Id AND t$fid.rubric_field_id='$fid')\" : ''?>";
@ -585,13 +585,20 @@ function request_parse($id, $params = array())
// Сортировка по полю из настроек (только если не передана другая в параметрах)
// Сортировка по полю из настроек (только если не передана другая в параметрах)
elseif ($request->request_order_by_nat)
elseif ($request->request_order_by_nat)
{
{
$fid = (int)$request->request_order_by_nat;
$fid = (int)$request->request_order_by_nat;
// Добавляем с учётом переменной $t из условий, чтобы не выбирать те же таблиы заново - это оптимизирует время
// Добавляем с учётом переменной $t из условий, чтобы не выбирать те же таблиы заново - это оптимизирует время
$request_join[$fid] = "<?=(!isset(\$t[$fid]))?\"LEFT JOIN ".PREFIX."_document_fields AS t$fid ON (t$fid.document_id = a.Id AND t$fid.rubric_field_id='$fid')\" : ''?>";
$request_join[$fid] = "<?=(!isset(\$t[$fid]))?\"LEFT JOIN ".PREFIX."_document_fields AS t$fid ON (t$fid.document_id = a.Id AND t$fid.rubric_field_id='$fid')\" : ''?>";