В параметрах компонента catalog.section передаю
Код |
---|
"CUSTOM_ELEMENT_SORT" => array("ID" => $arEls) // $arEls - массив ID |
Принимающая функция в модуле выглядит так
Код |
---|
protected function getCustomSort(): array
{
$result = [];
if (!empty($this->arParams['CUSTOM_ELEMENT_SORT']) && is_array($this->arParams['CUSTOM_ELEMENT_SORT']))
{
foreach ($this->arParams['CUSTOM_ELEMENT_SORT'] as $field => $value)
{
if (!is_string($value))
{
continue;
}
$field = strtoupper($field);
if (isset($result[$field]))
{
continue;
}
if (!preg_match(self::SORT_ORDER_MASK, $value))
{
continue;
}
$result[$field] = $value;
}
unset($field, $value);
}
return $result;
}
|
И на
Код |
---|
if (!is_string($value))
{
continue;
} |
соответственно всё тормозится. т.к. там массив, что делаю не правильно?
При этом в документации написано:
Код |
---|
Массив вида Array(by1=>order1[, by2=>order2 [, ..]]), где by - поле для сортировки, может принимать значения:
id - ID элемента. Может принимать значения:
asc - по возрастанию;
desc - по убыванию;
массив ID - в этом случае элементы будут выводиться в том порядке, в котором они перечислены в массиве |