Просмотров: 4056 (Статистика ведётся с 06.02.2017)
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
3
4
5
Недоступно в редакциях:
Старт, Стандарт, Малый бизнес
Указанные нами параметры, переменные шаблона или поля документа возможно модифицировать. Для этого существуют специальные модификаторы, которые преобразуют данные.
Для параметров и переменных шаблона, а так же полей документа используется модификатор _printable , преобразующий значения в понятную пользователю строку.
Возьмем переменную типа пользователь. Результат, если значение переменной равно Автор :
{=Variable:user} author
{=Variable:user_printable} Автор
Если для поля документа или параметра доступен такой вариант отображения, то он представлен в форме Вставка значения. Если же печатная форма не предусмотрена, запросите вывод печатной формы
от любого значения
Пример: {=Variable:Datetime > date, printable} // перевод даты в печатную форму
(переменная, дополнительный результат и т.п.). Кроме того, доступно преобразовывать не только в печатную форму, но и
менять тип данных
{=Variable:string>date} // преобразование строки в дату
.
Таблица преобразования типов данных
|
Начальный/конечный
|
bool (Да/Нет)
|
date (Дата)
|
datetime (Дата/Время)
|
double (Число)
|
int (Целое число)
|
file (Файл)
|
select (Список)
|
string (Строка)
|
text (Текст)
|
user (Пользователь)
|
bool (Да/Нет) | --- | x | x | 1 или 0 | 1 или 0 | х | х | Y или N | Y или N | x |
date (Дата) | x | --- | по формату | timeslamp | timeslamp | x | x | по формату | по формату | x |
datetime (Дата/Время) | x | по формату | --- | timeslamp | timeslamp | x | x | по формату | по формату | x |
double (Число) |
0==N
!0==Y
| из timeslamp | из timeslamp | --- | (int) | x | x | (string) | (string) | user_<ID> |
int (Целое число) |
0==N
!0==Y
| из timeslamp | из timeslamp | (float) | --- | x | x | (string) | (string) | user_<ID> |
file (Файл) | x | x | x | x | x | --- | x | x | x | x |
select (Список) | Y или N | x | x | (float) | (int) | x | --- | (string) | (string) |
user_<ID>
group_<CODE>
<ID>
|
string (Строка) | Y или N | strtotime | strtotime | (float) | (int) | x | x | --- | (string) |
user_<ID>
group_<CODE>
<ID>
|
text (Текст) | Y или N | strtotime | strtotime | (float) | (int) | x | x | (string) | --- |
user_<ID>
group_<CODE>
<ID>
|
user (Пользователь) | x | x | x | ID | ID | x | x | (string) | (string) | --- |
|
Примечание: все выражения в тексте автоматически преобразуются к строке, при отсутствии дополнительных идентификаторов.
Примечание: при преобразовании типа Список в Строку или Текст берутся значения списка, при преобразовании Списка в Список - ключи списка. Для получения значения ключа списка используйте конвертирование, например: {=Variable:Select > select} .
|
Для данных типа Пользователь есть возможность преобразования в формат friendly. В таком случае выводится только имя и фамилия пользователя, без его ID и логина.
Пример: {=Document:CREATED_BY} > User_1
{=Document:CREATED_BY > printable} > Иван Иванов [1]
{=Document:CREATED_BY > friendly} > Иван Иванов
Важно! Для версий модуля до 15.6.0 преобразование типов данных, в том числе и запрос печатной формы для значений, не имеющих таковой, возможно с помощью переменных и действия PHP-код.
Примечание: Для вставки одного и того же значения в разные действия шаблона не обязательно всегда пользоваться формой Вставка значения. Достаточно скопировать текст, вставленный с помощью этой формы, и использовать его дальше.
Решение некоторых проблем (для коробочной версии)
|
Если для документа было создано дополнительное поле и оно по каким-либо причинам не отображается в форме Вставка значения, то необходимо перейти к настройкам инфоблока в административной части сайта (Контент > Инфоблоки > Типы инфоблоков > [требуемый_инфоблок], закладка Свойства), и в параметрах свойств этого поля отметить опцию Выводить на странице списка элементов поле для фильтрации по этому свойству:.

Если этого не сделать, то будет невозможно использовать это свойство в бизнес-процессах. |
3
|