- Модуль: documentgenerator
- Путь к файлу: ~/bitrix/modules/documentgenerator/lib/value/multiple.php
- Класс: BitrixDocumentGeneratorValueMultiple
- Вызов: Multiple::toString
public function toString($modifier = '')
{
$options = $this->getOptions($modifier);
$modifier = preg_replace('#mseparator=d#', '', $modifier);
$modifier = preg_replace('#mfirst=[y,n]#', '', $modifier);
$modifier = preg_replace('#[,+]#', ',', $modifier);
$modifier = trim($modifier, ',');
$separator = $this->getSeparatorByCode($options['mseparator']);
$isFirst = $options['mfirst'];
if(is_array($this->value) || $this->value instanceof Traversable)
{
$values = [];
foreach($this->value as $value)
{
if($value instanceof Value)
{
$values[] = $value->toString($modifier);
}
elseif(is_array($value) || is_object($value))
{
continue;
}
elseif(!empty($value) && $value !== 0)
{
$values[] = $value;
}
if($isFirst && count($values) == 1)
{
break;
}
}
return implode($separator, $values);
}
elseif($this->value instanceof Value)
{
return $this->value->toString($modifier);
}
elseif(is_object($this->value) && method_exists($this->value, '__toString'))
{
return $this->value->__toString();
}
elseif(!is_object($this->value))
{
return $this->value;
}
return '';
}