我正在尝试在SharePoint中标记自定义Web部件。我正在尝试向类ms-WPHeader添加一些按钮,为此我想用div包装整个自定义Web部件或者为它添加一个css类。我不能在我的自定义Web部件xsl中执行此操作,因为我正在尝试更改sharepoint中的某些标准行为。
我尝试了很多东西,但现在我用jQuery添加了按钮和高度。
如何添加课程或自定义Web部件?
答案 0 :(得分:5)
你没有提到你是如何编写webpart的,我将尝试介绍几种可能性:
通过SharePoint Designer(听起来就像你提到XSL一样,除非它是一个可以在浏览器中编辑的搜索webpart)
你可以简单地用一个DIV或类似东西包装你的WebPart(或包装整个WP区域)
<div id="customWP"><WebPartPages:WebPartZone .../></div>
如果您有权访问XSL(考虑使用DataFormWebPart或类似内容),您可以使用DIV内部包裹<xsl:template name="dvt_1">
,它将在WP的所有情况下都可见,即使在空结果中也是如此。
如果这是ContentQueryWP,您需要编辑样式库中的Header.xsl文件并创建一个新标题(并在工具部分中设置):
<xsl:template name="CustomBranded" match="*[@GroupStyle='CustomBranded']" mode="header">
<div class="groupheader item MYCUSTOMWP">
<xsl:call-template name="OuterTemplate.GetGroupName">
<xsl:with-param name="GroupName" select="@*[name()=$Group]"/>
<xsl:with-param name="GroupType" select="$GroupType"/>
</xsl:call-template>
</div>
在Visual Studio中,您可能正在使用Visual Web部件,并且可以使用DIV轻松包装用户控件
可以在混合中添加jQuery并通过Title找到WP:
$("h3.ms-WPTitle span:contains('Web Part Title')").closest("td[id*=_WebPartWP]").addClass("myCustomWP")
现在你的WP将完全包装它.myCustomWP
这些是我能从头脑中记住的。
答案 1 :(得分:0)
通过JavaScript添加所需的类(您可以通过webpart添加)。
答案 2 :(得分:0)
我多次这样做,从来没有遇到过问题。 首先,您必须在Visual Studio项目中映射Layouts文件夹,然后在那里插入CSS(但我猜您已经这样做了)
然后你必须在你的代码中执行此操作:
CssLink cssLink = new CssLink();
cssLink.DefaultUrl="/_layouts/PROJECTNAME/styles/FILE.css";
if (!this.Page.Header.Controls.Contains(cssLink)) {
this.Page.Header.Controls.Add(cssLink);
}
此致
佩德罗
Mixit.nl