Как вывести в письме блок информации в зависимости от наличия клиента в сегменте
Инструкция подходит для тех случаев, когда какой-либо блок информации должен выводиться только для части получателей.
Для задачи нам понадобится параметр, определяющий наличие клиента в сегменте.
Общий вид параметра: Recipient.IsInSegment("Сегмент")
Сегмент в данном случае - это их системные имена.
Как найти системное имя сегмента
Посмотреть сегмент по фильтру можно в режиме редактирования сегмента, например:
Другой вариант - найти имена в разделе "Параметры шаблонов рассылок":
Помощь - Параметры в шаблонах рассылок; выбираем базовый параметр Recipient, потом - Recipient.IsInSegment. Дальше ищем параметр нашего сегмента по названию.
if...else if...end if
Примеры использования блока- Вывести блок, если клиент есть в сегменте
@{if Recipient.IsInSegment("Karta")}
*блок*
@{end if}
2. Вывести блок, если клиента нет в сегменте
@{if not Recipient.IsInSegment("Karta")}
*блок*
@{end if}
3. Вывести блок, если клиент есть в сегменте А и в сегменте Б
@{if Recipient.IsInSegment("Karta") and Recipient.IsInSegment("Parta")}
*блок*
@{end if}
4. Вывести блок, если клиент есть в сегменте А или в сегменте Б
@{if Recipient.IsInSegment("Karta") or Recipient.IsInSegment("Parta")}
*блок*
@{end if}
5. Вывести блок, если клиент есть в сегменте А и при этом его нет в сегменте Б
@{if Recipient.IsInSegment("Karta") and not Recipient.IsInSegment("Parta")}
*блок*
@{end if}
6. Вывести блок x, если клиент есть в сегменте А; иначе вывести блок y, если клиент есть в сегменте Б
@{if Recipient.IsInSegment("Karta")}
*блок x*
@{else if Recipient.IsInSegment("Parta")}
*блок y*
@{end if}
Также можно использовать функцию if:
Общий вид: If (условие, строка1, строка2) - вывести строку 1, если условие выполняется, иначе строку 2.
Пример использования:
У вас ${if (Recipient.IsInSegment("Karta"), "есть карта", "нет карты")}.
Человеку в сегменте придёт: У вас есть карта.
Человеку не в сегменте придёт: У вас нет карты.