Если ваше значение extra_fields возвращается в виде строки (без разбора) вместо массива объектов, это возможно из-за конфигурации, потому что extra_fields анализируется (или нет) на основе этого.
//Extra fields
if (($view == 'item' && $item->params->get('itemExtraFields'))
|| ($view == 'itemlist' && ($task == '' || $task == 'category') && $item->params->get('catItemExtraFields'))
|| ($view == 'itemlist' && $task == 'tag' && $item->params->get('tagItemExtraFields'))
|| ($view == 'itemlist' && ($task == 'search' || $task == 'date') && $item->params->get('genericItemExtraFields')))
{
$item->extra_fields = K2ModelItem::getItemExtraFields($item->extra_fields);
}
При отображении элемента в списке категорий можно включить дополнительные поля (catItemExtraFields
), отредактировав категорию и выбрав Параметры просмотра элементов в списках категорий нажмите Показать для Дополнительные поля элемент.
В представлении элемента можно включить дополнительные поля (itemExtraFields
), отредактировав категорию и в разделе Параметры представления элемента нажмите Показать для элемента Extra Fields .
Это должно включить синтаксический анализ extra_fields в списке элементов категории и представлении элемента.