logo

JTBC5.0附件调用方法

2025-02-19 点击 50

在JTBC5.0中,图片和附件的存储格式都是JSON,如果要在模板中调用输出,需要用JTBC5.0相关函数进行处理后才能输出,或者直接使用数据调用函数来处理,如果像图片只有一条数据的,可以直接调用出来,附件则需要进行循环输出,必须配合节点来解决。

图片的调用默认模板中有相应代码

数据库中图片字段的数据格式

{"uploadid":3,"fileurl":"/common/upload/news/2022/07/27/100725pu.jpg"}

列表中循环调用数据时,输出图片字段代码

{$=empty(#image)? '': $render('index.part-image', [#raw])}

part-image节点

<div class="image"><p type="image"><a href="./?type=detail&amp;id={$id}"><img src="{$=$htmlEncode($getValueFromJSON(#image, 'fileurl'))}" alt="{$title}" /></a></p></div>


如果在详情页中调用图片字段,只需要这样写

<div class="image"><img src="{$=$htmlEncode($getValueFromJSON(#image, 'fileurl'))}" /></div>


如果要输出附件的话,相应的会复杂一些,则需要进行如下调用:

先看一下附件的存储数据

[
{"filename":"20190507.jpg","filesize":348039,"filetype":"jpg","filepath":"../common/upload/news/2022/07/27/090621x6.jpg","fileurl":"/common/upload/news/2022/07/27/090621x6.jpg","filegroup":1,"filesize_text":"339.88KB","uploadid":1},
{"filename":"223333","filesize":348039,"filetype":"jpg","filepath":"../common/upload/news/2022/07/27/095602gy.jpg","fileurl":"/common/upload/news/2022/07/27/095602gy.jpg","filegroup":1,"filesize_text":"339.88KB","uploadid":2}
]


可以看出是多条数据同时存储在一个字段,如果要输出,则需要进行多步操作。

1.先使用函数jsonDecode把json转成array

2.再用函数render进行数据输出,配合节点

调用附件代码

{$=$render('index.att',$jsonDecode(#attachment))}

att节点代码(在模块的模板中添加)

<div class="image"><p type="image"><img src="{$filepath}" alt="{$filename}" /></p></div>


如果只是调用附件的第一条数据,则可以直接这样写

{$=$htmlEncode($getValueFromJSON(#attachment, '0->filepath'))}

这个可以调用第一条附件的文件路径,这段代码写到html的img标签,可以直接显示成图片。


0%