【发布时间】:2020-12-08 00:56:08
【问题描述】:
我使用 FreeMarker 构建从电子邮件到发票模板的各种模板。我现在正在寻找的问题与在表格标签之外提取的 FreeMarker 代码有关,因为 HTML 不允许在其中包含 tbody、thead、tr 之外的其他字符。
如果有人知道如何绕过这个,我们会很高兴。
例子:
<table>
<tbody>
[#assign eventDetails = []]
[#if items?? && items?has_content]
[#list items as item]
<tr>
<td style="padding: 5px;vertical-align: top;border-bottom: 1px solid #eee; text-align: center;">
${item.name}
</td>
</tr>
[/#list]
[/#if]
</tbody>
</table>
使用 element.innerHTML 应用到编辑器后变成这样:
[#assign eventDetails = []]
[#if items?? && items?has_content]
[#list items as item]
[/#list]
[/#if]
<table>
<tbody>
<tr>
<td style="padding: 5px;vertical-align: top;border-bottom: 1px solid #eee; text-align: center;">
${item.name}
</td>
</tr>
</tbody>
</table>
【问题讨论】:
-
不幸的是,您将不得不修改 HTML 编辑器的代码,或者为在呈现之前如何编辑它们找到另一种解决方案。
-
啊,这就是我害怕的。我已经进行了修改并使用 div 和 flex 来获得类似表格的外观,它在浏览器中工作正常,但在电子邮件和 PDF 上不起作用。不过还是谢谢你的提议!
标签: html freemarker