#sendgrid #sendgrid-templates
#sendgrid #sendgrid-шаблоны
Вопрос:
У меня есть некоторые тестовые данные, которые выглядят следующим образом:
{
"firstName":"Ben",
"products": [{
"name": "first product",
"position": 0
}, {
"name": "second product",
"position": 1
}, {
"name": "third product",
"position": 2
}]
}
В моем шаблоне у меня есть что-то вроде этого:
<p>Hi {{firstName}}</p>
Который отлично работает.
Теперь я хочу просмотреть свои продукты
Итак, я попробовал это:
{{#each products}}
{{#if this.position == 0}}
<h1>{{this.name}}</h1>
{{else}}
<h2>{{this.name}}</h2>
{{/if}}
{{/each}}
Но это не работает.
Я также не могу найти никакой документации о выполнении подобных инструкций if. Самый близкий, который я нашел, был:
https://sendgrid.com/docs/ui/sending-email/using-handlebars/
И в нем говорится о «Базовом If, Else, Else If», что предполагает наличие более продвинутой версии, но я не могу найти документацию для нее….
Кто-нибудь знает, что я делаю не так?
PS: мои примеры упрощены только для этого поста.
Ответ №1:
Похоже, что документация SendGrid использует только Basic If...
для отличия от следующего раздела If с Root. Они использовали похожие названия в разделах выше по странице.
Исходя из этого, не похоже, что у них есть логика для «if value equals», просто «if field exists», поэтому вам нужно будет обновить свой JSON, чтобы использовать этот формат, такой как у них в более поздних примерах.
Ответ №2:
Что вам нужно, так это следующая конструкция:
{{#equals city_code avl}}
AVL
{{else}}
Not AVL
{{/equals}}
Смотрите https://sendgrid.com/docs/for-developers/sending-email/using-handlebars/#conditional-statements.
{{if anything}}
проверяет только, является anything
ли это правдой или ложью; вы не можете сравнить это с чем-либо.