调整开箱即用的SharePoint 2013表单

时间:2015-08-11 17:13:07

标签: html forms sharepoint

我有以下情况。我们正在为我们公司建立一个新的内部网,作为一个慈善机构,完成AA可访问性是必须的。我是SharePoint开发人员,我们从第三方公司获得设计。也就是说,设计师以一种几乎不会回想起SharePoint的方式进行定制设计,就像一种完全不同的设计之间的混合,就像它是一个出版网站一样,同时,这个想法也是如此。尽可能多的开箱即用功能。

这意味着如果我创建一个列表,所有外观都将是自定义的,同时必须保留功能。所以我会得到一个列表的设置页面,其功能应保持不变,但设计应该是新的设计。自定义列表(自定义但在SharePoint中创建)将具有新的,编辑和显示形式,应该是开箱即用的......但是使用新设计。

问题来自于开箱即用的表格。该设计使用div来显示链接到自定义列表的每个列的所有HTML控件。遗憾的是,SharePoint 2013开箱即用列表表单使用HTML表格对字段进行制表。

显然这篇文章中有30000个字符的限制,所以我不能从开箱即用的表单中粘贴代码来显示表格,但我所做的是创建一个表格,其中包含每个表格的示例。 SharePoint中可能的字段,然后查看我在那里有多少个表。我无法添加屏幕截图,因为我需要10个声誉......

我在以前的项目中使用控件适配器删除了SharePoint webparts中的表,顺便说一下,我也在这个网站中使用它。但我正在努力如何在表单中更改此HTML表格。我尝试使用与webpart区域相同的方式呈现表单,但它的工作方式不同。

这里有webpart区域控制适配器的代码:

name3

这就是我在此基础上尝试的,它基本上完全摧毁了我的页面:

name4

所以我的问题是,如果有人有解决方案或方法来实现这一点。

感谢您提供任何可能的帮助。

P.D。:在您提出之前,更改来自SharePoint的OOTB的.aspx文件不是一种选择,因为我们在同一个服务器场中保存其他Web应用程序并进行更改会引起所有其他网站的更改。

1 个答案:

答案 0 :(得分:0)

我不确定你想要什么。 如果要创建完全自定义列表并希望新建,显示和编辑表单完全不同,则可以定义要在contentType中使用的表单: https://msdn.microsoft.com/en-us/library/office/aa543825.aspx

示例:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <!-- Parent ContentType: Workflow Task (0x010801) -->
  <ContentType ID="0x010100AF4E4BE6CF8048959C4172F4298CE42A"
               Name="MyName"
               Group="MyGroup"
               Description="MyDescription"
               Version="0">
    <FieldRefs>
    </FieldRefs>
    <XmlDocuments>
      <XmlDocument NamespaceURI ="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
        <FormUrls xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
          <New>_layouts/MyFolder/New.aspx</New>
          <Display>_layouts/MyFolder/New.aspx</Display>
          <Edit>_layouts/MyFolder/Edit.aspx</Edit>
        </FormUrls>
      </XmlDocument>
    </XmlDocuments>
  </ContentType>
</Elements>

在后面的代码中,您获得当前项目:

SPListItem item = SPContext.Current.ListItem;

其他可能性是在NewFrom,DisplayForm和EditForm上添加脚本编辑器webpart。在脚本中使用jquery来改变字段的外观。 要自动填充scriptEditorWebparts,您可以在ListAdded事件

上触发事件处理程序