我有一个模板,可以在其中浏览一系列练习。我显示每个练习及其名称,描述和一个打开它的按钮。我目前正在尝试为多个文件添加下载按钮。每个练习都有一个CorrigeFile(OneToMany)集合,我正尝试将我的CorrigeFile集合发送给JS,以便随后可以循环所有它们以下载它们(我不想压缩它们)。这是我到目前为止尝试过的。
{% for exo in exos %}
{# display the exercise name, description and link to open it #}
<p class="download-btn" data-files='{{ exo.corrigeFiles }}' onclick="downloadCorr(this.dataset.files)">
<i class="fas fa-download"></i>
Download all files
</p>
{% endfor %}
还有JS:
function downloadCorr(files) {
for (let i = 0 ; i < files.length ; i++) {
//download it
}
}
但是它显然不起作用,因为我认为Twig无法处理像我的{{ exo.corrigeFiles }}
这样的原始集合,而且我也无法在JS中遍历它们。也许我可以从控制器中提供其他数据?关于如何执行此操作的任何想法?