zalify / easy-email-editor

Easy Email Editor is a feature-rich, top open-source SaaS email editor based on React and MJML.
https://email.maocanhua.cn/
MIT License
1.71k stars 348 forks source link

mlml 最后生成的html 模版支持,for,if 这类的逻辑判断吗 #64

Closed strawberry3269 closed 2 years ago

strawberry3269 commented 2 years ago

mlml 最后生成的html 模版支持,for,if 这类的逻辑判断吗

m-Ryan commented 2 years ago

if 支持, for 除了column 也支持。column 的默认 width 是mjml动态算的,生成html后就不能改变了。

strawberry3269 commented 2 years ago

生成的html模版语法用的是哪种呢?

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: Ryan @.> 发送时间: 2022年1月14日 17:13 收件人: arco-design/easy-email @.> 抄送: strawberry3269 @.>, Author @.> 主题: 回复:[arco-design/easy-email] mlml 最后生成的html 模版支持,for,if 这类的逻辑判断吗 (Issue #64)

m-Ryan commented 2 years ago

没有集成模板语法,我个人推荐 用 https://github.com/janl/mustache.js, 用其它也是ok的。

如果不用模板语法,其实可以定制 custom list block。

strawberry3269 commented 2 years ago

理解,定制custom list block 生成的html 最后也是一份不带变量的html,我们的需求是希望生成一份模版,这份模版经过node层的解析,可以生成一份html

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2022年1月14日(星期五) 下午5:23 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [arco-design/easy-email] mlml 最后生成的html 模版支持,for,if 这类的逻辑判断吗 (Issue #64)

没有集成模板语法,我个人推荐 用 https://github.com/janl/mustache.js, 用其它也是ok的。

如果不用模板语法,其实可以定制 custom list block。

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>

m-Ryan commented 2 years ago

理解,定制custom list block 生成的html 最后也是一份不带变量的html,我们的需求是希望生成一份模版,这份模版经过node层的解析,可以生成一份html ------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2022年1月14日(星期五) 下午5:23 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [arco-design/easy-email] mlml 最后生成的html 模版支持,for,if 这类的逻辑判断吗 (Issue #64) 没有集成模板语法,我个人推荐 用 https://github.com/janl/mustache.js, 用其它也是ok的。 如果不用模板语法,其实可以定制 custom list block。 — Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>

其实也是可以带变量的,不过可能比较麻烦,给个思路

custom block 的block data 是知道它的children的,可以stringify之后 替换 ,比如 里面有个文本 是 {{product.name}},

map((item, index)=> {
// 这一部分正则替换
{{product.name}} => product.index.name => get(dynamicData,  product.index.name )
})
strawberry3269 commented 2 years ago

hi 请问一下 这个custom block 里面的每一项item目前看都是不可编辑的原因是?

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2022年1月14日(星期五) 晚上6:13 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [arco-design/easy-email] mlml 最后生成的html 模版支持,for,if 这类的逻辑判断吗 (Issue #64)

理解,定制custom list block 生成的html 最后也是一份不带变量的html,我们的需求是希望生成一份模版,这份模版经过node层的解析,可以生成一份html … ------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2022年1月14日(星期五) 下午5:23 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [arco-design/easy-email] mlml 最后生成的html 模版支持,for,if 这类的逻辑判断吗 (Issue #64) 没有集成模板语法,我个人推荐 用 https://github.com/janl/mustache.js, 用其它也是ok的。 如果不用模板语法,其实可以定制 custom list block。 — Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>

其实也是可以带变量的,不过可能比较麻烦,给个思路

custom block 的block data 是知道它的children的,可以stringify之后 替换 ,比如 里面有个文本 是 {{product.name}}, map((item, index)=> { // 这一部分正则替换 {{product.name}} => product.index.name => get(dynamicData, product.index.name ) })

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>