Sharepoint 2013-我需要在自定义列表中使用“阅读更多”链接,使用多行列

时间:2013-05-15 13:06:36

标签: sharepoint sharepoint-2013

列表中包含大量文本,显示前5行文本后跟Read more链接会很不错。我已经看到了Sharepoint 2010的这个例子,但2013年没有。有什么想法吗? /安德烈亚斯

2 个答案:

答案 0 :(得分:0)

由于客户端呈现(CSR)是SharePoint 2013中的默认呈现模式,因此下面将演示如何自定义“正文”字段。

如何使用客户端呈现(CSR)自定义SharePoint列表视图

假设Announcements列表包含Body列。以下示例演示如何截断 Body字段的内容并显示Read more链接

enter image description here

<强>解决方案

一个。创建一个渲染模板,让它命名为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();

});

B中。将JavaScript文件上传到Site Assets

℃。在编辑模式下打开页面并指定Web部件JS Link属性:

~sitecollection/SiteAssets/announcements.js

enter image description here

答案 1 :(得分:0)

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

<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>