В параметрах компонента 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 - в этом случае элементы будут выводиться в том порядке, в котором они перечислены в массиве |