Не могу понять структуру оператора if / then для шаблона SendGrid, используя настраиваемое поле - PullRequest
0 голосов
/ 18 октября 2019

Я использовал много платформ почтового маркетинга, но я не думаю, что понимаю принципы для разработчиков по использованию Handlebar.js с SendGrid для использования операторов If / Then.

Я знаю, как обходить код, но в руководстве не ясно, как структурировать оператор для использования с их пользовательскими полями. Похоже, должен быть какой-то путь. А может и нет. Примеры, которые они используют, не очень помогают.

https://sendgrid.com/docs/for-developers/sending-email/using-handlebars/#basic-if-else-else-if

Я в основном переписывал код снова и снова и отправлял себе несколько тестов. Я могу заставить поле отображаться без оператора if-then, но кроме этого его нет. Я также написал техподдержку, но еще не получил ответ. Нет функции чата: /

{{#if city_code=avl}}
AVL
{{else}}
not avl
{{/if}}

Письмо содержит только {{else}} часть кода. Так что в приведенном выше примере "не avl".

1 Ответ

0 голосов
/ 21 октября 2019

Оператор if проверяет, только если переменная равна true.

Чтобы достичь своего примера, вы должны создать нового помощника:

Handlebars.registerHelper("eq", function(a, b, options){
    if (a == b) {
        return options.fn(this);
    }else{
        try{
            return options.inverse(this);
        }catch(e){}
    }
});

И ваш шаблон руля будет:

{{#eq city_code avl}}
    AVL
{{else}}
   not avl
{{/eq}}
...