Sharepoint 2013-我需要一个;阅读更多“;自定义列表中的链接使用了多行列

Sharepoint 2013-我需要一个;阅读更多“;自定义列表中的链接使用了多行列,sharepoint,sharepoint-2013,Sharepoint,Sharepoint 2013,该列表在一列中包含大量文本,最好先显示前5行文本,然后显示一个“阅读更多”链接。我在Sharepoint 2010中看到过这样的例子,但在2013年没有看到。有什么想法吗? /Andreas由于客户端渲染(CSR)是SharePoint 2013中的默认渲染模式,下面演示如何自定义主体字段 如何使用客户端呈现(CSR)自定义SharePoint列表视图 假设一个公告列表包含正文列。下面的示例演示如何截断Body字段的内容并显示readmore链接 解决方案 A.创建一个渲染模板,将其命名为An

该列表在一列中包含大量文本,最好先显示前5行文本,然后显示一个“阅读更多”链接。我在Sharepoint 2010中看到过这样的例子,但在2013年没有看到。有什么想法吗?
/Andreas

由于客户端渲染(CSR)是SharePoint 2013中的默认渲染模式,下面演示如何自定义主体字段

如何使用客户端呈现(CSR)自定义SharePoint列表视图 假设一个
公告
列表包含
正文
列。下面的示例演示如何截断
Body
字段的内容并显示
readmore
链接

解决方案

A.创建一个渲染模板,将其命名为
Announcemets.js

  SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() {

  function bodyFieldRenderer(ctx) {
    var item = ctx.CurrentItem;
    var headline = $(ctx.CurrentItem.Body).text().substring(0,200);
    return String.format('{0}<br/><a href="{1}&ID={2}" class="ms-accentText">Read more...</a>',headline, ctx.displayFormUrl,ctx.CurrentItem.ID);  
  }

  function init() {

    SPClientTemplates.TemplateManager.RegisterTemplateOverrides({

      Templates: {

           Fields: {
               "Body": {
                   View:bodyFieldRenderer,
               }
           }
      }
    });
  }



RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~siteCollection/Style Library/announcements.js"), init);
  init();

});

谢谢您的帮助-在SharePoint Online中为我工作过-但是公告上方需要有一个“脚本编辑器”网页部件,其中包含jquery脚本引用(以及下载并保存在该位置的jquery):



要在何处显示文本?在web部件中?是的,它在web部件中。哇。人们还在使用sharepoint吗?
~sitecollection/SiteAssets/announcements.js
<script language="javascript" src="~siteCollection/SiteAssets/scripts/jquery.min.js" type="text/javascript"></script>
<script language="javascript" src="~siteCollection/SiteAssets/scripts/jquery.SPServices.min.js" type="text/javascript"></script>