Keystone/Nunjucks, данные не передаются в шаблон

Я использую Keystone JS и nunjucks. У меня есть функция, когда в приложении отправляет электронное письмо. С отправкой письма проблем нет, проблема в том, что данные не передаются в шаблон. Не адаптируется.

Код

var sendEmail = function (err, results) {
        if (err) return callback(err);
        async.each(results.admins, function (admin, done) {
            new keystone.Email({ templateName: 'enquiry-notification.html', transport: 'mailgun', engine: cons.nunjucks, root: 'templates/emails' }).send({
            }, {

                    apiKey: '',
                    domain: '',
                    title: "Test",
                    author: 'test',
                    body: 'Heeeeeeeeeeeeeeeeeeeeeeeeeeeee',
                    subject: subject,
                    html: '<b>NodeJS Email Tutorial</b>',
                    body: "Helloworld",
                    to: admin.email,
                    text: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavbbb',
                    host: 'helloworld.com',
                    from: {
                        name: 'Test Mail',
                        email: inquiry.email
                    },
                    inquiry: inquiry,
                    brand: brand,
                }, done);
        }, callback);


    }

Шаблон

<h1>Hi %recipient%</h1>
<p class = "text-larger">An enquiry was just submitted to %from.name%:</p>

{% if inquiry.email %}
    <p class = "text-larger">From
    {% if inquiry.name.full %}
        <strong>{{ inquiry.name.full }}</strong>
    {% endif %}

{% endif %}
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
106
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Потому что, согласно документ, если вам нужно отправить местных жителей, вам нужно отправить их внутри метода .send():

new Email(/* ... */).send({
    recipient: {
        firstName: 'Max',
        name: 'Stoiber',
    }
}, {/* ... */}, function (err, result) {/* ... */});

Итак, в вашем случае это будет:

const sendEmail = function (err, results) {
  if (err) return callback(err);
  async.each(results.admins, function (admin, done) {
    new keystone.Email({ templateName: 'enquiry-notification.html', transport: 'mailgun', engine: cons.nunjucks, root: 'templates/emails' })
    .send({
      inquiry: inquiry,
      brand: brand
    }, { /*....*/ }, done);
  }, callback);

}

Ааа, ладно, я вижу. Кроме того, мы можем отправить тело сообщения? без использования шаблона? как тема, потому что я пытался использовать тело, текст, но это не работает

user11327631 25.07.2019 08:52

потому что я хочу отправить ADF XML

user11327631 25.07.2019 08:57

Сделать шаблон просто {{ bodyContent }} , а внутри отправить можно просто , .send({bodyContent:'.....'});

Aritra Chakraborty 25.07.2019 08:58

но предпочтительнее задать другой вопрос и закрыть этот, так как этот ответ решил ТЕКУЩУЮ проблему.

Aritra Chakraborty 25.07.2019 09:00

Нет, я не, поэтому я сказал поставить его на другой вопрос :-)

Aritra Chakraborty 25.07.2019 09:21

Вы открыты для cchat здесь?

user11327631 25.07.2019 10:12
stackoverflow.com/questions/57197494/…
user11327631 25.07.2019 10:40

Другие вопросы по теме