• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/grid/row/assembler/property/stringfieldassembler.php
  • Класс: BitrixIblockGridRowAssemblerPropertyStringFieldAssembler
  • Вызов: StringFieldAssembler::prepareRow
protected function prepareRow(array $row): array
{
	if (!self::isElementRow($row))
	{
		return $row;
	}

	$columnIds = $this->getColumnIds();
	if (empty($columnIds))
	{
		return $row;
	}

	$row['columns'] ??= [];

	foreach ($columnIds as $columnId)
	{
		$value = $this->getFlatColumnValues($row['data'][$columnId] ?? null);

		// edit
		if ($value === null)
		{
			$row['data']['~' . $columnId] = $this->isMultipleColumn($columnId) ? [] : '';
		}
		else
		{
			$row['data']['~' . $columnId] = $value;
		}

		// view
		if (is_array($value))
		{
			$value = implode(' / ', $value);
		}
		$value = MainTextHtmlFilter::encode((string)$value);
		$row['columns'][$columnId] = $value;

		unset($value);
	}

	return $row;
}