SharePoint:使用JSLink自定义呈现列表。引发“未定义”

时间:2013-04-23 07:08:48

标签: sharepoint undefined

我遇到了问题,我的输出会为除Title之外的所有字段抛出“未定义”。

这是我的代码:

(function () {

    if (typeof SPClientTemplates === 'undefined')
    return;

 var overrideContext = {};

 //overrideContext.BaseViewID = 1;

 //overrideContext.ListTemplateType = 101;

 overrideContext.Templates = {};

 overrideContext.Templates.Header = "My Custom Rendering News View";

 overrideContext.Templates.Item = customItem;

 SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideContext);

 })();

function customItem(ctx) {

 var htmlTest = "Test: " + ctx.CurrentItem.Title + " " + ctx.CurrentItem.Byline + " " +       ctx.CurrentItem.Modified + " " + ctx.CurrentItem.RollupImage;

 return htmlTest;

}

输出是: “测试:新闻档案undefined undefined undefined”

你们知道问题是什么吗?我知道视图中存在Title,Byline,Modified和RollupImage字段。

提前致谢。

2 个答案:

答案 0 :(得分:1)

这些字段在SharePoint中不称为Byline和RollupImage。

它们被称为:ArticleByLine和PublishingRollupImage。

此外,实际字段(Byline和Rollup图像)需要包含在视图中。

答案 1 :(得分:-2)

尝试替换此代码

overrideContext.Templates.Item = customItem;

这一个

overrideContext.Templates["Item"] = customItem;