18 $key = implode(
',', $id);
19 $class = get_called_class();
20 if (!isset(static::$instance[$class]))
22 static::$instance[$class] = [];
24 if (!isset(static::$instance[$class][
$key]))
26 static::$instance[$class][
$key] =
new static($id);
28 return static::$instance[$class][
$key];
68 if (!isset($this->fields) && is_array($this->ids))
70 $this->fields =
array();
71 $pricesList =\CPrice::getListEx(
array(),
array(
72 "=PRODUCT_ID" => $this->ids,
73 "+<=QUANTITY_FROM" => 1,
74 "+>=QUANTITY_TO" => 1,
75 ),
false,
false,
array(
"PRICE",
"CURRENCY",
"CATALOG_GROUP_ID",
"CATALOG_GROUP_CODE"));
76 $this->fields =
array();
77 while ($priceInfo = $pricesList->fetch())
79 $priceId = $priceInfo[
"CATALOG_GROUP_ID"];
80 $price = \CCurrencyLang::currencyFormat($priceInfo[
"PRICE"], $priceInfo[
"CURRENCY"],
true);
81 $this->fields[$priceId][] = $price;
82 $this->addField($priceId, $priceId, $price);
83 $this->addField($priceInfo[
"CATALOG_GROUP_CODE"], $priceId, $price);
86 return is_array($this->fields);