У меня есть шаблон электронной почты из нефрита. Он включает в себя файл mixin, который включает микширование header
, которое должно быть во всех электронных письмах. Он включается должным образом, но из-за уровня гнездования внутри него (3 уровня в глубину), все, что я помещаю после mixin, не поддерживает гнездование там, где оно должно.Jade template не поддерживает гнездование
views/mixins/email.jade
mixin header(siteLogo)
div(style='margin-bottom: 20px; border: 1px solid #ddd; padding: 20px; width: 50%; margin: 0 auto 20px;')
div(style='text-align: center; border-bottom: 1px solid #EEE; padding-bottom: 10px;')
img(src='#{siteLogo}', style='text-align: center;')
views/emails/forgot_password.jade:
include ../mixins/email
+header(siteLogo)
p
| Hi #{name},
p
| Welcome to the site!
Формирует электронной почты HTML, как:
<div style="margin-bottom:20px;border:1px solid #ddd;padding:20px;width:50%;margin:0 auto 20px">
<div style="text-align:center;border-bottom:1px solid #eee;padding-bottom:10px">
<img src="path/to/image/logo" style="text-align:center">
</div>
</div>
<p>Hi BobCobb</p>
<p>Welcome to the site!</p>
Но я хочу оба этих paragra рН-теги быть внутри основной <div>
нравится:
<div style="margin-bottom:20px;border:1px solid #ddd;padding:20px;width:50%;margin:0 auto 20px">
<div style="text-align:center;border-bottom:1px solid #eee;padding-bottom:10px">
<img src="path/to/image/logo" style="text-align:center">
</div>
<p>Hi BobCobb</p>
<p>Welcome to the site!</p>
</div>
Единственный шаблон/рамки Я знаю для HTML электронной почты [Чернила на Zurb] (http://zurb.com/ink/templates.php). – John
Я видел чернила раньше и понимаю, что использование чего-либо, кроме таблиц в электронных письмах, будет выглядеть плохо, но основной момент (того, что я пытаюсь решить) заключается в том, что я хочу использовать микшимы и частичные элементы, необходимо поддерживать поддержку тех же шаблонов электронной почты, поэтому, если я изменяю верхний или нижний колонтитул, я могу сделать это в одном месте. Это попытка удержать вещи СУХОЙ. –
Вы можете попробовать что-то вроде php include() для объединения файлов под шаблонов (отдельные файлы для заголовка, нижнего колонтитула, раздела с двумя столбцами, раздела с тремя столбцами и т. Д.). Таким образом, вы можете создавать с помощью сочетания и соответствия блоков. – John