You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

openTBS docx模板使用ifempty属性实现空变量取值替换的问题

openTBS docx模板双变量空值取值方案

问题原因分析

你两次写法未生效的核心是TBS默认不会主动解析ifempty参数值的变量:

  • 第一次写法[var.first;ifempty=var.second]:ifempty默认将参数值处理为字面量字符串,所以直接输出var.second而不会解析对应变量值
  • 第二次写法[var.first;ifempty=[var.second]]:TBS会优先解析最内层的字段标签,替换后外层标签结构被破坏,无法完成最终的条件判断逻辑

正确写法

直接在ifempty的参数值前加val:前缀,告知TBS该参数值是需要解析的变量,而非字面量:

[var.first;ifempty=val:var.second]

该写法在你给出的测试场景下,当var.first为空时,会自动输出var.second的有效值library,完全符合需求。

备选兼容写法(针对旧版本TBS)

如果上述写法不生效,可以改用TBS原生条件判断语法实现相同效果:

[if [var.first]!= ''; then [var.first]; else [var.second]]

内容的提问来源于stack exchange,提问作者Sandrine Berthier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 07:45:03