如何通过机车CMS RESTful API访问content_type条目我只能找到有限的文档。
我已经设法使用以下内容获得了我的身份验证令牌:
curl -v -H 'Content-Type: Application/json' -d '{"email":"your@email.abc", "password":"foo"}' 'https://your.locomotive.instance.tld/locomotive/api/v3/tokens.json'
但现在我想访问我的content_entries并在页面上显示它们的数据。
背景
我正在机车CMS中构建一个自定义导航片段,我希望content_type条目与页面一起列在导航中。
特别地(显然(,我只希望在content_type设置了content_type_template的情况下列出条目。
我最初认为,我可以简单地循环浏览我的页面,找到任何带有slugcontent_type_template
的页面,抓住该页面的句柄并将其设置为变量,然后使用该变量来获得如下条目:
{% for loopPage in page.children %}
{% assign myContentType = '' %}
{% if page.slug == 'content_type_template' %}
{% assign myContentType = loopPage.handle %}
{% for item in contents.myContentType %}
<li>a href="{{ item._slug }}">{{ item.name }}</a></li>
{% endfor %}
{% else %}
<li><a href="{% path_to loopPage %}">{{ loopPage.title }}</a></li>
{% endif %}
{% endfor %}
但这行不通。根据我的StackOverflow问答;A在这里,似乎不可能以这种方式使用液体变体。
因此,需要通过某些其他方法访问content_type条目,例如机车CMS REST API。
通过机车CMS RESTful API访问content_type条目,如下所示:
{% action "get content_type entries" %}
var contentData = false;
contentData = callAPI('GET', 'https://station.locomotive.works/locomotive/api/v3/content_types/[content_type slug]/entries.json', {
data: {
},
headers: {
'X-Locomotive-Account-Email': '[my-account-email-adddress]',
'X-Locomotive-Site-Handle': '[my-site-handle]',
'X-Locomotive-Account-Token': '[my-account-token]'
}
});
setProp('contentData', contentData);
{% endaction %}
[content_type slug]
可以被替换为液体变量而没有任何问题。