繁体   English   中英

Google Apps 脚本:HTML 模板上的脚本

[英]Google Apps Script: Scriplets on HTML Template

我正在寻找一种方法来在我的 Html 模板中添加一个有条件显示的部分。

我一直在研究 scriptlet,但我发现的所有示例都与“for”函数有关。

到目前为止,这是我的代码

<tbody>
<? console.log("assigment_letter: " + assigment_letter)?>
<? assigment_letter == "" ? ?>
<tr style="font-size:14px;text-align:center;color:black">
<td style="padding:5px 40px;border: 1px solid #ddd;">Assigment Letter</td>
<td style="padding:5px 40px;border: 1px solid #ddd;">NOT FOUND</td>
</tr>
<? : "" ?>    
</tbody>

在控制台日志中,我正在验证变量赋值字母中的值确实为空,并且根据这一点,我想在我正在构建的表中显示一个新行。

但是我收到以下错误。

语法错误:意外的标记 ';' 在 RejectedRequestEmail(Rejected Email:16:49) at onChange(Code:691:11)

它没有准确告诉我评估函数在 Html 的哪一行出现错误

这是我的函数,用于在需要时评估此 html 模板

function RejectedRequestEmail(email_obj){
  const htmlTemplateAgent = HtmlService.createTemplateFromFile('Email Reject Notification');
  htmlTemplateAgent.requesting_user_name = email_obj.requesting_user_name;
  htmlTemplateAgent.invoice_id = email_obj.invoice_id;
  htmlTemplateAgent.client_name = email_obj.client_name;
  htmlTemplateAgent.beneficiary_name = email_obj.beneficiary_name;
  htmlTemplateAgent.invoice_amount = email_obj.invoice_amount;
  htmlTemplateAgent.assigment_letter = email_obj.assigment_letter;
  htmlTemplateAgent.invoice_product_match = email_obj.invoice_product_match;
  htmlTemplateAgent.prohibited_items = email_obj.prohibited_items;
  htmlTemplateAgent.client_verified = email_obj.client_verified;
  htmlTemplateAgent.beneficiary_verified = email_obj.beneficiary_verified;
  htmlTemplateAgent.bank_verified = email_obj.bank_verified;
  htmlTemplateAgent.reviewer_name = email_obj.reviewer_name;
  
  const htmlForNotification = htmlTemplateAgent.evaluate().getContent();     
  
}

谢谢

在你的情况下,下面的修改怎么样?

修改后的脚本:

当你想使用三元运算符时,下面的修改如何? 在此修改中,使用了<?!= ... ?>的脚本。

<tbody>
<? console.log("assigment_letter: " + assigment_letter)?>
<?!= assigment_letter == "" ? `<tr style="font-size:14px;text-align:center;color:black">
<td style="padding:5px 40px;border: 1px solid #ddd;">Assigment Letter</td>
<td style="padding:5px 40px;border: 1px solid #ddd;">NOT FOUND</td>
</tr>` : "" ?>
</tbody>

或者,当你想使用if语句时,下面的修改如何? 在这个修改中, <? ... ?> <? ... ?>使用。

<tbody>
<? console.log("assigment_letter: " + assigment_letter)?>
<? if (assigment_letter == "") { ?>
<tr style="font-size:14px;text-align:center;color:black">
<td style="padding:5px 40px;border: 1px solid #ddd;">Assigment Letter</td>
<td style="padding:5px 40px;border: 1px solid #ddd;">NOT FOUND</td>
</tr>
<? } ?>
</tbody>

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM