我已设法从特定的ContentType中循环出所有内容,但一切运作良好,但条目后面没有其特定资产。
在这种特定情况下,它呈现为: 第1条 第2条 第3条 资产1 资产2 资产3
我希望它呈现为:条目1资产1,条目2资产2等......
将资产数组循环放在字段循环中没有帮助:)
的Javascript
client.getEntries({
include: 1,
'content_type': 'posts'
})
.then((response) => {
var template = $('#myEntries').html();
var html = Mustache.to_html(template, response.toPlainObject());
$('.result').html(html);
})
.catch((error) => {
console.log('Error occured')
console.log(error)
})
HTML
<script id="myEntries" type="text/template">
{{#items}}
<h1>{{fields.header}}</h1>
<p>{{fields.description}}</p>
{{/items}}
{{#includes.Asset}}
<p>File: <img src="https:{{fields.file.url}}?fit=thumb&f=top_left&h=200&w=200" width="100"/></p>
{{/includes.Asset}}
</script>
<div class="result"></div>
JSON https://jsfiddle.net/pcgn73zf/
非常乐意帮助你!
答案 0 :(得分:0)
您正在使用response.toPlainObject()
奉承JSON。尝试按所需顺序阅读所需的属性。
示例:
var input = {
entries: [
{
text: "Entry 1"
},
{
text: "Entry 2"
}
],
assets: [
{
text: "Asset 1"
},
{
text: "Asset 2"
}
]
};
var i = 0;
while (i < Math.max(input.entries.length, input.assets.length)) {
if (i < input.entries.length) {
document.write(input.entries[i].text + ", ");
}
if (i < input.assets.length) {
document.write(input.assets[i].text + ", ");
}
i++;
}
答案 1 :(得分:0)
嗨,也许你在文档中错过了它,但内容丰富的js SDK已经做了链接解析,例如,如果你有一个带有图像字段的contentType帖子,当你得到一个条目时你可以直接访问资产的字段。所以要从您刚刚请求url
的链接资产中获取myEntry.fields.image.fields.file.url
。无需申请表格包含。
代码中的资产部分应该是(假设资产字段称为图像)
<p>File: <img src="https:{{fields.image.fields.file.url}}?fit=thumb&f=top_left&h=200&w=200" width="100"/></p>
请注意,链接解析仅在请求收集端点client.getEntries()
时有效
有关更多信息,请查看此自述文件section