首页 > 解决方案 > Adobe Document Generation 中同一行的条件逻辑无法识别模板标签

问题描述

我有一个 json 字段,要么不存在,要么设置为true. 但在我的文档中,我希望它显示为“是”或“否”。我尝试了以下条件表达式():

{% conditional-section expr(`my_field` = true) %}Yes{% end-section %}{% conditional-section expr(`my_field`!= true) %}No{% end-section %}

但是当我调用 Adob​​e Document Generation API 时,我得到的 PDF 仍然有这些模板标签。由于某种原因,它没有被检测到。我怎样才能做到这一点?

标签: adobe-documentgeneration

解决方案


我知道我在上面的评论中问了一个问题,但我想我现在可以尝试回答这个问题。所以现在没有办法说“如果一个值不存在或不存在并且等于是”。有几种方法可以解决这个问题,但我认为最简单的方法是更改​​数据。需要明确的是,我并不是说更改您的数据库或任何东西,但请记住,在调用我们的 API 之前,您可以稍微处理一下数据。所以如果没有my_field意味着是,我会做这样的事情(JavaScript):

if(!mydata.my_field) {
  mydata.my_field = 'yes';
}

然后你可以做这样的事情:

{% conditional-section expr(my_field = "yes") %}
Yes
{% end-section %}
{% conditional-section expr(my_field = "no") %}
No
{% end-section %}

但是,这不会在同一条线上。正如我所说,这是一个已知问题。如果您需要它,我会再次使用首先按摩您的数据的想法。你可以做这样的事情(同样,JavaScript,但可以用任何语言完成):

if(!mydata.my_field) {
  mydata.my_field = 'yes';
}
if(mydata.my_field === 'yes') mydata.my_field_value = 'Yes';
else mydata.my_field_value = 'No';

我所做的只是根据 my_field 的值设置另一个变量。在您的 Word 模板中,您只需使用{{my_field_value}}

由于文档生成如此灵活,您有多种不同的方法来解决问题。


推荐阅读