Метод SubscriberProperty
используется для получения значения дополнительного поля подписчика по его названию.
Сигнатура метода:
value = SubscriberProperty(name)
Чтобы получить и отобразить свойства пользователя, используйте следующее выражение - значение будет автоматически конвертировано в текст (string) независимо от исходного типа свойства:
${SubscriberProperty('age')}
Возвращенное SubscriberProperty('property_name')
значение всегда имеет тип object
.
Однако исходный тип может быть различным: int, string, DateTime
или decimal
(финансовый).
Множество типов может быть преобразовано к типу string
, достаточно использовать:
${SubscriberProperty('age')}
Это отобразит age (число) с типом integer
как тип string
(текст).
Если вы хотите изменить значение переменных или использовать их в логических условиях в ДК, вам нужно преобразовать их к первоначальному типу, например:
<if condition="(int)SubscriberProperty('age') > 18"> <p>У вас есть доступ к материалам для взрослых</p> </if>
В этом примере дополнительное свойство age было приведено к int
и только потом использовано в логическом условии. Если забыть привести к integer
, то выполнение будет прекратится ошибкой, т.к. нельзя сравнивать значения полей разных типов (строку с числом).
Если вы хотите использовать в условии дополнительное поле логического типа, то приводите его к integer
и для сравнения используйте значения "1" для "true" и "0" для "false", например:
<if condition="(int)SubscriberProperty('subscription')==1"> <p>Вы подписаны на нашу рассылку</p> </if>