将WebPart添加到发布页面布局

时间:2015-07-17 04:18:05

标签: sharepoint sharepoint-2013 sharepoint-designer sharepoint-online

我一直试图找到一种方法来将网页部件添加到网页布局中。每当我尝试通过SharePoint Designer中的菜单添加Web部件区域或Web部件时,都不会发生任何事情。我选择的网页部分以蓝色突出显示,但没有任何反应。

我一直试图在.aspx页面布局上添加.webpart代码而运气不佳。

<WebPartPages:WebPartZone>
    <ZoneTemplate>
        .webpart code in here! 
    </ZoneTemplate>
</WebPartPages:WebPartZone>

上面只显示了Web部件区域,以及添加Web部件的功能,但是没有显示我的Web部件。

我尝试将代码放在区域模板和WebPartZone之外,但我通常只是将属性标记之间的所有内容显示为文本。

3 个答案:

答案 0 :(得分:0)

您无法添加代码以使您的webpart嵌入页面,您必须在设计器中打开页面布局并将webpart放在该特定区域 - 可能没有任何其他解决方法

此致 阿琼

答案 1 :(得分:0)

SharePoint未更新为支持创建代码片段以将WebPart添加到页面布局,就像使用旧式WebPart一样。

即使在页面布局.html文件中插入,也会在生成相应的.aspx文件时将其删除。

我们找到了一种远非理想但可行的解决方法:

  • 像在HTML中一样编辑页面布局
  • 在您要查看WebPart
  • 的位置添加WebPart区域
  • 保存HTML并让SharePoint生成aspx文件
  • 手动编辑aspx文件 - 不要使用SharePoint Designer,因为它会删除您添加的内容 - 使用纯文本编辑器并插入webpart定义中的代码(XML文件)
  • 保存aspx,当您使用页面布局创建页面时,您的SPFx webpart应该在那里

请注意,对于WebParts参数,它存储为以HTML编码的JSON结构。要弄清楚如何在插入的WebPart中设置默认参数,请手动将其插入常规页面并查看aspx文件中生成的内容。然后找到具有编码JSON结构的长行并将其复制回编辑后的aspx文件。

最后,永远不要编辑/保存您的页面布局HTML文件,因为它只会覆盖您的更改。为了以防万一,我会保留您编辑的aspx文件的副本!

答案 2 :(得分:-1)

听起来您正在尝试使用SharePoint Online的Visual Web部件,但您无法做到这一点。需要将SharePoint Online的Web部件打包为解决方案的一部分。

要将解决方案部署到SharePoint Online,您需要:

  1. 导航至解决方案库:https://<yourfarmsite>/catalogs/solutions/forms/allitems.aspx
  2. 如果您使用正确的帐户登录并拥有权限,则会转到解决方案库,您可以在其中上传和激活网站的自定义Web部件。
  3. 点击Solutions菜单
  4. 点击Upload Solution
  5. 浏览到您的自定义.wsp文件,然后点击OK
  6. 上传网页部件后,您可以将其激活;选择Web部件,然后单击Activate
  7. 现在,在解决方案库中上传并激活了自定义Web部件,您可以编辑要将其添加到的网站页面,然后按照普通的Web部件添加它。