Вопросы по сниппетам
Как можно достать данные из контекста в Лии и использовать их в блоке "текст"?
Внутри текстового блока сценария можно получить доступ к контексту. Рассмотрим пример с установкой фактов из сниппета:
sync function snippet(core = new Core(), context = new Context()) {
// Financial data configuration
const balanceArray = [100, 200, 300];
const currencies = ['USD', 'EUR', 'RUB'];
// Client configuration
const clientConfig = {
type: 'vk',
phone: 892512312312
};
// Set balance-related values
context.set('balance', balanceArray);
context.set('first_balance', balanceArray[0]);
context.set('array', [...balanceArray]);
// Set client information
context.set('client_type', clientConfig.type);
context.set('phone', clientConfig.phone);
context.set('param_fill');
// Set currency information
context.set('currency', currencies);
}
По умолчанию mustache заменяет спец. символы на их html код (например, кавычку превращает в “"”). Если вы хотите получить строку без кодирования, используйте в шаблоне текста тройные фигурные скобки {{{paramName}}}. Например, {{phone}}}.
В случае ошибки выполнения сниппета (переход в ветку Ошибка) факты контекста, установленные в данном сниппете, не сохраняются. Любые события (реакции), генерируемые внутри сниппета, не отправляются.
Правильнее ли отправлять динамические данные после запроса из сниппета через core.sendText()?
Оба варианта будут корректными, выбор зависит от того, каким вариантом удобнее управлять команде в проекте.
Функция core.sendText отправляет строку (текст) из сниппета.
Пример отправки текстовой строки:
core.sendText('пример текста')
Пример отправки текста из заранее установленной переменной:
core.sendText(text5)
Функция core.sendButtons отправляет текстовые кнопки. Пример сниппета с core.sendButtons:
core.sendButtons('Are you agree with our conditions?',[
{type: 'text', title: 'on the button', params: {text: 'sends as text'}},
{type: 'text', title: 'on the button', params: {text: 'sends as text'}},
{type: 'text', title: 'on the button', params: {text: 'sends as text'}},
]
);
Last updated