机车CMS:通过API访问content_type条目



如何通过机车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]可以被替换为液体变量而没有任何问题。

相关内容

  • 没有找到相关文章

最新更新