gpt4 book ai didi

javascript - 如何获取 Umbraco 7 后台项目的文档字段值

转载 作者:行者123 更新时间:2023-11-28 03:22:10 25 4
gpt4 key购买 nike

我创建了一个自定义 Umbraco 7 仪表板。在其中,我想从 Umbraco CMS 中已知类型文档类型的实例中获取特定字段详细信息。

我已使用 entityResource.getChildren(1386, "Document") 成功获取了特定类型的所有文档的列表,并随后调用 entityResource.getById(item.id,每个此类文档上的“文档”)。我可以看到每个文档实例的许多详细信息,但看不到编辑器在创建它时输入的数据。如何使用 Umbraco 的 Angular 服务/API 获取此信息?

仪表板代码示例:

// get community alerts
entityResource.getChildren(1386, "Document")
.then(function (ent)
{
angular.forEach(ent, function (item)
{
let communityalert = {
umbracoItem: item,
title: '', // I want data from each document to put here
topic: ''
};
entityResource
.getById(item.id, "Document")
.then(function (entity)
{
console.log('entity', entity);
communityalert.title = entity.name;
communityalert.umbracoItem = entity;

entityResource
.getUrl(item.id, "Document")
.then(function (url)
{
communityalert.url = url;

// finally push collected data to VM.
vm.CommunityAlerts.push(communityalert);
});
});
});
});

最佳答案

好吧,经过一番摸索,我找到了答案; 使用可注入(inject) contentResource 的 getById() 方法。这会获取内容项的所有详细信息,相比之下,entityResource 的 getById() 只获取内容树的常见详细信息,后一个资源方法会获取所有内容项的详细信息;包括输入的字段数据。

contentResource.getById(item.id)
.then((data) =>
{
//console.log('contentResource.getById data', data);
angular.forEach(data.properties, (property) =>
{
//do something with the document's content...
});
});

因此,总结一下,使用可注入(inject)资源 entityResource 中的方法来获取详细信息的子集,但要获取文档的所有详细信息,请使用可注入(inject) contentResource 资源。

当您阅读足够多的文档时就很简单!

关于javascript - 如何获取 Umbraco 7 后台项目的文档字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59041117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com