SharePoint 2010 WebPart 个性化布局

Posted

技术标签:

【中文标题】SharePoint 2010 WebPart 个性化布局【英文标题】:SharePoint 2010 WebPart Personalize Layout 【发布时间】:2011-10-30 23:31:33 【问题描述】:

我在 Intranet 上有一个主页。它有超过 15 个 web 部件(新闻、天气等)。我希望允许用户通过移动 web 部件或删除它们来自定义页面。目前我不让他们看到顶部的功能区,因此他们无权访问“编辑页面”按钮。我已经把它从功能区拉出来了

<a unselectable="on" href="javascript:;" onclick="return false;" class="ms-cui-ctl-large" aria-describedby="Ribbon.WebPartPage.Edit.Edit.Menu.Actions.Edit_ToolTip" mscui:controltype="Button" role="button" style="height: auto;" id="Ribbon.WebPartPage.Edit.Edit-SelectedItem">
<span unselectable="on" class="ms-cui-ctl-largeIconContainer">
    <span unselectable="on" class=" ms-cui-img-32by32 ms-cui-img-cont-float">
      <img unselectable="on"  src="/_layouts/1033/images/formatmap32x32.png" style="top: -160px; left: -96px;">
    </span>
</span>
<span unselectable="on" class="ms-cui-ctl-largelabel" style="height: auto;">Edit<span unselectable="on"> 
</span>Page</span>
</a>

不幸的是,它不起作用。有什么想法吗?

我也会对“停止编辑”按钮做同样的事情。

【问题讨论】:

【参考方案1】:

根据这个帖子:http://artykul8.com/2011/03/useful-sharepoint-shortcuts/ 诀窍是使用MSOLayout_ToggleLayoutMode(); javascript 函数。

根据同一页面中的评论,在 SP2010 中,该 javascript 功能仅在页面中已有 Web 部件时可用。 我观察到的行为与这个不同,因为对我而言,此功能仅在页面已处于编辑模式时才有效(即使页面没有添加 Web 部件也有效)。

我能够找到定义该函数的 javascript 文件,即 ie55up.js。您可以通过以下方式将其加载到您的母版页中:

<SharePoint:ScriptLink language="javascript" name="ie55up.js" OnDemand="false" runat="server" />

有关如何构建使用该 javascript 函数的 Web 控件的信息,请参阅此处:http://www.codeproject.com/KB/sharepoint/SwitchWPMode.aspx

希望对你有帮助

【讨论】:

感谢您的回复。我找到了相同的 javascript,但这是对整个页面的编辑,而不是个性化页面。【参考方案2】:

我终于找到了这个问题的答案。 JS调用确定后就很简单了。我相信这应该只适用于 webpart 页面。

通过 Javascript 调用将页面置于个性化编辑模式:

ChangeLayoutMode(true); // how simple is that??

通过 Javascript 调用停止页面编辑:

MSOLayout_ToggleLayoutMode(); // same as given in the other post

我认为“停止”编辑模式对于所有页面都是相同的,无论是个性化页面、所有 webpart 页面等。

【讨论】:

以上是关于SharePoint 2010 WebPart 个性化布局的主要内容,如果未能解决你的问题,请参考以下文章

从一个 webpart 访问信息并在 sharepoint 2010 中的另一个 webpart 中使用它

将 Webpart 上传到 Sharepoint 2010

在 C# 中创建 Sharepoint 2010 Webpart 页面

Visual Studio 2010 未生成 SharePoint 2010 WebPart .g.cs 文件

如何限制 Sharepoint 2010 WebPart 中 HtmlTable 中单元格的宽度?

Sharepoint 2007 数据视图 Webpart 自定义参数