1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
measure_ratio.php
См. документацию.
1
<?php
2
3
require_once(
$_SERVER
[
"DOCUMENT_ROOT"
].
"/bitrix/modules/catalog/general/measure_ratio.php"
);
4
5
class
CCatalogMeasureRatio
extends
CCatalogMeasureRatioAll
6
{
15
public
static
function
getList
($arOrder =
array
(),
$arFilter
=
array
(), $arGroupBy =
false
, $arNavStartParams =
false
, $arSelectFields =
array
())
16
{
17
global
$DB
;
18
if
(empty($arSelectFields))
19
$arSelectFields =
array
(
"ID"
,
"PRODUCT_ID"
,
"RATIO"
,
"IS_DEFAULT"
);
20
$arFields
=
array
(
21
"ID"
=>
array
(
"FIELD"
=>
"MR.ID"
,
"TYPE"
=>
"int"
),
22
"PRODUCT_ID"
=>
array
(
"FIELD"
=>
"MR.PRODUCT_ID"
,
"TYPE"
=>
"int"
),
23
"RATIO"
=>
array
(
"FIELD"
=>
"MR.RATIO"
,
"TYPE"
=>
"double"
),
24
"IS_DEFAULT"
=>
array
(
"FIELD"
=>
"MR.IS_DEFAULT"
,
"TYPE"
=>
"char"
)
25
);
26
if
(isset(
$arFilter
[
'IS_DEFAULT'
]) &&
$arFilter
[
'IS_DEFAULT'
] ==
''
)
27
unset(
$arFilter
[
'IS_DEFAULT'
]);
28
elseif
(!isset(
$arFilter
[
'IS_DEFAULT'
]))
29
$arFilter
[
'IS_DEFAULT'
] =
'Y'
;
30
31
$arSqls =
CCatalog::PrepareSql
(
$arFields
, $arOrder,
$arFilter
, $arGroupBy, $arSelectFields);
32
$arSqls[
"SELECT"
] = str_replace(
"%%_DISTINCT_%%"
,
""
, $arSqls[
"SELECT"
]);
33
34
if
(empty($arGroupBy) && is_array($arGroupBy))
35
{
36
$strSql =
"select "
.$arSqls[
"SELECT"
].
" from b_catalog_measure_ratio MR "
.$arSqls[
"FROM"
];
37
if
(!empty($arSqls[
"WHERE"
]))
38
$strSql .=
" where "
.$arSqls[
"WHERE"
];
39
if
(!empty($arSqls[
"GROUPBY"
]))
40
$strSql .=
" group by "
.$arSqls[
"GROUPBY"
];
41
42
$dbRes
=
$DB
->Query($strSql);
43
if
(
$arRes
=
$dbRes
->Fetch())
44
return
$arRes
[
"CNT"
];
45
else
46
return
false
;
47
}
48
49
$strSql =
"select "
.$arSqls[
"SELECT"
].
" from b_catalog_measure_ratio MR "
.$arSqls[
"FROM"
];
50
if
(!empty($arSqls[
"WHERE"
]))
51
$strSql .=
" where "
.$arSqls[
"WHERE"
];
52
if
(!empty($arSqls[
"GROUPBY"
]))
53
$strSql .=
" group by "
.$arSqls[
"GROUPBY"
];
54
if
(!empty($arSqls[
"ORDERBY"
]))
55
$strSql .=
" order by "
.$arSqls[
"ORDERBY"
];
56
57
$intTopCount = 0;
58
$boolNavStartParams = (!empty($arNavStartParams) && is_array($arNavStartParams));
59
if
($boolNavStartParams && isset($arNavStartParams[
'nTopCount'
]))
60
$intTopCount = (int)$arNavStartParams[
'nTopCount'
];
61
62
if
($boolNavStartParams && $intTopCount <= 0)
63
{
64
$strSql_tmp =
"select COUNT('x') as CNT FROM b_catalog_measure_ratio MR "
.$arSqls[
"FROM"
];
65
if
(!empty($arSqls[
"WHERE"
]))
66
$strSql_tmp .=
" where "
.$arSqls[
"WHERE"
];
67
if
(!empty($arSqls[
"GROUPBY"
]))
68
$strSql_tmp .=
" group by "
.$arSqls[
"GROUPBY"
];
69
70
$dbRes
=
$DB
->Query($strSql_tmp);
71
$cnt = 0;
72
if
(empty($arSqls[
"GROUPBY"
]))
73
{
74
if
(
$arRes
=
$dbRes
->Fetch())
75
$cnt =
$arRes
[
"CNT"
];
76
}
77
else
78
{
79
$cnt =
$dbRes
->SelectedRowsCount();
80
}
81
82
$dbRes
=
new
CDBResult();
83
84
$dbRes
->NavQuery($strSql, $cnt, $arNavStartParams);
85
}
86
else
87
{
88
if
($boolNavStartParams && $intTopCount > 0)
89
$strSql .=
" limit "
.$intTopCount;
90
91
$dbRes
=
$DB
->Query($strSql);
92
}
93
return
$dbRes
;
94
}
95
}
CAllCatalog\PrepareSql
static PrepareSql(&$arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields)
Определения
catalog.php:389
CCatalogMeasureRatioAll
Определения
measure_ratio.php:7
CCatalogMeasureRatio
Определения
measure_ratio.php:6
CCatalogMeasureRatio\getList
static getList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения
measure_ratio.php:15
$arFields
$arFields
Определения
dblapprove.php:5
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$_SERVER
$_SERVER["DOCUMENT_ROOT"]
Определения
cron_frame.php:9
$DB
global $DB
Определения
cron_frame.php:29
elseif
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения
prolog_main_admin.php:393
$arRes
$arRes
Определения
options.php:104
$arFilter
$arFilter
Определения
user_search.php:106
$dbRes
$dbRes
Определения
yandex_detail.php:168
bitrix
modules
catalog
mysql
measure_ratio.php
Создано системой
1.14.0