1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
measure_ratio.php
См. документацию.
1<?php
2
3require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/catalog/general/measure_ratio.php");
4
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");
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}
static PrepareSql(&$arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields)
Определения catalog.php:389
static getList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения measure_ratio.php:15
$arFields
Определения dblapprove.php:5
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $DB
Определения cron_frame.php:29
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
$arRes
Определения options.php:104
$arFilter
Определения user_search.php:106
$dbRes
Определения yandex_detail.php:168