Проблема в том, что $this->item->extra_fields
на самом деле является строкой JSON , полученной из базы данных, поэтому сначала необходимо ее декодировать.Его структура довольно сложна (и, к сожалению, каждое поле помечено его идентификатором, его имя вообще не отображается), вы увидите его, если выполните:
print_r($this->item->extra_fields);`
Если вы хотите вызвать полезначения по имени поля я бы сделал так:
if ($this->item->params->get('itemExtraFields')) {
$item_extra_fields = json_decode($this->item->extra_fields);
$put_your_extra_field1_name_here = $item_extra_fields[1]->value;
$put_your_extra_field2_name_here = $item_extra_fields[2]->value;
$put_your_extra_field3_name_here = $item_extra_fields[3]->value;
$put_your_extra_field4_name_here = $item_extra_fields[4]->value;
}
Обратите внимание, что это полезно, если дополнительное поле, которое вам нужно, это текст, но это может быть массив или что-то еще, поэтому вам может потребоваться коднемного больше.Надеюсь, это полезно!