2

在这里看了很多,但这是我第一次提出问题,所以请多多包涵。

在我的 SharePoint 网站集中,我有一个指向企业内其他系统的链接列表 - 此列表对除管理员之外的所有用户隐藏。有一个部门栏,表示每个链接所属的部门。此列表中有两个过滤器列 - 一个是“活动”,另一个是“显示在系统链接中”。

在每个部门页面上,有一个按查询 Web 部件 (CQWP) 显示列表的内容,过滤以显示: - 特定部门链接 - 仅在活动时

除此之外,网站集主页上还有另一个 CQWP,显示了所有那些已勾选“显示在系统链接中”的链接。

这允许我做的是,如果由于某种原因系统脱机进行维护,我可以更改列表中的“活动”值,所有链接都将消失(阻止用户访问外部系统)。它还允许我在主页上添加突出显示的链接,如果它在那天/每周/每月特别关注(即链接到人力资源系统以预订休假,如果有休假截止日期即将到来)。

我想要做的是将主页系统链接 CQWP 移动到左侧的快速链接下方,以便它们出现在每个页面上。我在 2010 年通过在母版页的可视视图中拖放而没有任何问题,但在 2013 年似乎很挣扎。

我试过按照这里的建议:

http://ramisharepointblog.blogspot.co.uk/2013/01/how-to-add-custom-webpart-within.html

当我将这些添加到 .html 主文件时,我收到一条错误消息,提示我需要将 HTML 文件的文件扩展名更改为其他内容。

无论是复制和粘贴代码,还是使用“插入 Web 部件”按钮,我都会收到此消息。(显然在 SPD 2013 中这样做)

当我这样做时,它似乎失去了对 .master 文件的引用(或爆炸!)作为替代方案,我尝试将代码添加到 .master 文件中,但我当然不能这样做,因为它不会不要让我移动/编辑/复制 .master 文件。

对此的任何帮助将不胜感激,因为我似乎在这里用头撞墙。

4

2 回答 2

1

SharePoint 2013上,您不能以与 2010 相同的方式将 Web 部件添加到母版页。
请使用Design Manager -> Snippet Gallery

简而言之:
您必须使用以下方式包装Register标签:<!--SPM: 注册标签-->
像这样:

<!--SPM:<%@Register Tagprefix="Publishing" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>-->

您应该使用:标签包装您的 Web 部件的开始标签,并用:<!--MS:标签 包装-->
结束标签<!--ME:Web -->
部件看起来像这样:

<!--MS:<asp:SiteMapDataSource ShowStartingNode="True" SiteMapProvider="SPNavigationProvider" ID="topSiteMap" runat="server" StartingNodeUrl="sid:1002">-->
…
<!--ME:</asp:SiteMapDataSource>-->

(片段库将自动以正确的方式创建标签,您可以将其复制到母版页。)

于 2013-10-17T07:27:44.667 回答
0

可能与我的问题有关,请查看此处给出的详细答案:How to embed SharePoint 2013 webparts directly in aspx layout page as default webparts for that layout

我知道这是一个老问题,但鼓励用户搜索,这就是出现的问题,所以我想我会帮助其他用户找到答案:P

于 2015-07-06T18:54:46.850 回答