Sharepoint托管的App 2013如何在自定义列表上启用评级

时间:2015-12-21 16:08:34

标签: xml sharepoint sharepoint-2013 hosted-app

在我发布这个问题之前,我已经做了一些研究以找到解决方案......没有运气

以下是我找到的项目的链接

document rating in SharePoint 2013 hosted app

http://www.wictorwilen.se/Post/How-to-provision-SharePoint-2010-Rating-columns-in-Content-Types.aspx

我在这里的问题是我有一个自定义列表,它是sharepoint应用程序的一部分,需要添加sharepoint评级系统

当我按照wictorwilen的建议将列添加到列表schema.xml时,我只能在列表中获得几个数字字段。

如何启用应用网站集和/或列表实例中的“评分”功能?

这是listInstance架构xml

<ContentTypes>
  <ContentType ID="0x0100BE18ADD378B44660BBA9D7BDA8D445DC" Name="StoryBoard" Group="Custom Content Types" Description="StoryBoard Content Type" Inherits="False" Version="0">
    <FieldRefs>
      <FieldRef ID="{10aee775-aefb-4cf6-9bbc-5012504b929e}" DisplayName="Story Title" Required="TRUE" Name="StoryTitle" />
      <FieldRef ID="{7DF0EBE6-D778-42C1-9687-C5058E5F09AA}" DisplayName="Story Image" Required="FALSE" Name="StoryImage" />
      <FieldRef ID="{FCA44B87-91A7-4B19-B920-A28B2190DCDA}" DisplayName="Publish Date" Required="TRUE" Name="PublishDate" />
      <FieldRef ID="{D36C06FE-0242-48EC-AE60-0910D759EAA0}" DisplayName="On Behalf Of" Required="TRUE" Name="OnBehalfOf" />
      <FieldRef ID="{C56AABCD-03A9-4572-A716-125414AEEB6D}" DisplayName="Story" Required="TRUE" Name="Story" />
      <FieldRef ID="{5a14d1ab-1513-48c7-97b3-657a5ba6c742}" Name="AverageRating" />
      <FieldRef ID="{b1996002-9167-45e5-a4df-b2c41c6723c7}" Name="RatingCount" />
    </FieldRefs>
  </ContentType>
</ContentTypes>
<Fields>
  <Field ID="{10aee775-aefb-4cf6-9bbc-5012504b929e}" Name="StoryTitle" DisplayName="Story Title" Type="Text" Required="TRUE" Group="Custom Site Columns"></Field>
  <Field ID="{7DF0EBE6-D778-42C1-9687-C5058E5F09AA}" Name="StoryImage" DisplayName="Story Image" Type="URL" Required="FALSE" Group="Custom Site Columns"></Field>
  <Field ID="{FCA44B87-91A7-4B19-B920-A28B2190DCDA}" Name="PublishDate" DisplayName="Publish Date" Type="DateTime" Required="TRUE" Group="Custom Site Columns"></Field>
  <Field ID="{D36C06FE-0242-48EC-AE60-0910D759EAA0}" Name="OnBehalfOf" DisplayName="On Behalf Of" Type="User" Required="FALSE" Group="Custom Site Columns"></Field>
  <Field ID="{C56AABCD-03A9-4572-A716-125414AEEB6D}" Name="Story" DisplayName="Story" Type="Note" Required="FALSE" RichText="TRUE" RichTextMode="FullHtml" Group="Custom Site Columns"></Field>
  <Field ID="{5a14d1ab-1513-48c7-97b3-657a5ba6c742}" Name="AverageRating" Type="Number"></Field>
  <Field ID="{b1996002-9167-45e5-a4df-b2c41c6723c7}" Name="RatingCount" Type="Number"></Field>
</Fields>

1 个答案:

答案 0 :(得分:0)

在字段中,列表根文件夹需要具有属性,“Ratings_VotingExperience”设置为“Ratings”或“Likes”。 这是使用C#CSOM的代码。

list.RootFolder.Properties["Ratings_VotingExperience"] = "Ratings";

另一种选择是完全使用CSOM,而不使用自定义Schema.xml。 Here是一种在列表中启用评级的经过测试的方法。你必须将代码从C#转换为Javascript,但这很简单。

基本步骤是:

  1. 添加评分字段
  2. 在根文件夹上设置属性(评级/喜欢)
  3. 为评分或喜欢添加视图字段。