我对Sitecore Item Web API有疑问。 当我调用Sitecore Web API时,我有这个JSON提取结果:
{"statusCode":200,
[...]
"Version":1,
"Fields":{
"{0DE95AE4-41AB-4D01-9EB0-67441B7C2450}":{
"Name":"Phone number",
"Type":"Single-Line Text",
"Value":"XXXX"},
"{FA170F50-43FA-49B7-9AB1-9B4047DDBC2C}":{
"Name":"Fax",
"Type":"Number",
"Value":"YYYYYY"}
我想要做的是直接获取电话号码值字段或传真值字段,而无需循环遍历每个GUID测试,如果名称=="电话号码"然后获得价值等...
我已经拥有了这个JavaScript代码,但它是使用这个foreach循环,它并不是很快。
function extractPhoneNumber(siteCoreFieldsList) {
var phoneNumberFieldValue;
$jq.each(siteCoreFieldsList, function (index, value) {
if (value.Name == "Phone number") {
phoneNumberFieldValue = value.Value;
}
});
return phoneNumberFieldValue;
}
任何人都有工作或更干净的东西吗? 非常感谢你的帮助。问候。
答案 0 :(得分:0)
就"最佳实践"而言,您应该使用它们存储字段ID以获取值。
但是,鉴于您已经创建了具有获取值的特定目的的功能,您可以将ID放在那里。
function extractFax(sitecoreFieldList){
return sitecoreFieldList['{FA170F50-43FA-49B7-9AB1-9B4047DDBC2C}'] || '';
}
function extractPhoneNumber(sitecoreFieldList){
return sitecoreFieldList['{0DE95AE4-41AB-4D01-9EB0-67441B7C2450}'] || '';
}