呈现自定义字段的值 HTML 而不是字面值
Render custom field's value as rendered HTML not literal value
我正在尝试获取 HTML 内容以在 NetSuite 的高级 PDF/HTML 模板中打印。有谁知道这是否可能?
在此示例中,custbody_print_content
是一个自定义字段。它的值为:
<h1>Tiger</h1>
模板源代码如下所示:
<?xml version="1.0"?><!DOCTYPE pdf PUBLIC "-//big.faceless.org//report" "report-1.1.dtd">
<pdf>
<body>
${record.custbody_print_content}
</body>
</pdf>
我得到这个输出:
<h1>Tiger</h1>
但我不想要文字 HTML。我想要解释的 HTML,像这样:
老虎
我尝试了一些评论中提到的内置插件,但我仍然没有得到我想要的。下图显示了模板和打印输出。 Zebra 示例具有所需的结果。
您可以使用内置的 no_esc。例如
${record.custbody_print_content?no_esc}
此外,我认为这不会有什么不同,但您的 xml 不寻常,因为它没有 head 元素
尝试去掉 DOCTYPE 和 <pdf>
元素之间多余的 space 并将其添加到 <body>
开始标记之前
<head>
<link name="verdana" type="font" subtype="opentype" src="${nsfont.verdana}" src-bold="${nsfont.verdana_bold}" bytes="2"></link>
</head>
看起来 NetSuite 在保存时转义了 html。这意味着当您在表单的文本框中键入以下内容时:
<b>Marmot</b>
NetSuite "escapes" 它并像这样保存它:
<b>Marmot</b>
所以在FreeMarker模板中,需要对其进行反转义。我找不到任何内置功能来执行此操作,但我可以使用 ?replace
。我当前的解决方案如下所示:
<?xml version="1.0"?><!DOCTYPE pdf PUBLIC "-//big.faceless.org//report" "report-1.1.dtd">
<pdf>
<body>
${record.custbody_print_content?replace('<br />', '')?replace('<', "\l")?replace('>', "\g")}
</body>
</pdf>
如果有人知道更简单的方法,请告诉我。
我正在尝试获取 HTML 内容以在 NetSuite 的高级 PDF/HTML 模板中打印。有谁知道这是否可能?
在此示例中,custbody_print_content
是一个自定义字段。它的值为:
<h1>Tiger</h1>
模板源代码如下所示:
<?xml version="1.0"?><!DOCTYPE pdf PUBLIC "-//big.faceless.org//report" "report-1.1.dtd">
<pdf>
<body>
${record.custbody_print_content}
</body>
</pdf>
我得到这个输出:
<h1>Tiger</h1>
但我不想要文字 HTML。我想要解释的 HTML,像这样:
老虎
我尝试了一些评论中提到的内置插件,但我仍然没有得到我想要的。下图显示了模板和打印输出。 Zebra 示例具有所需的结果。
您可以使用内置的 no_esc。例如
${record.custbody_print_content?no_esc}
此外,我认为这不会有什么不同,但您的 xml 不寻常,因为它没有 head 元素
尝试去掉 DOCTYPE 和 <pdf>
元素之间多余的 space 并将其添加到 <body>
开始标记之前
<head>
<link name="verdana" type="font" subtype="opentype" src="${nsfont.verdana}" src-bold="${nsfont.verdana_bold}" bytes="2"></link>
</head>
看起来 NetSuite 在保存时转义了 html。这意味着当您在表单的文本框中键入以下内容时:
<b>Marmot</b>
NetSuite "escapes" 它并像这样保存它:
<b>Marmot</b>
所以在FreeMarker模板中,需要对其进行反转义。我找不到任何内置功能来执行此操作,但我可以使用 ?replace
。我当前的解决方案如下所示:
<?xml version="1.0"?><!DOCTYPE pdf PUBLIC "-//big.faceless.org//report" "report-1.1.dtd">
<pdf>
<body>
${record.custbody_print_content?replace('<br />', '')?replace('<', "\l")?replace('>', "\g")}
</body>
</pdf>
如果有人知道更简单的方法,请告诉我。