首页 文章

用css类包装自定义webpart

提问于
浏览
2

我正在尝试在SharePoint中标记自定义Web部件 . 我正在尝试向类ms-WPHeader添加一些按钮,为此我想用div包装整个自定义Web部件或者为它添加一个css类 . 我不能在我的自定义Web部件xsl中执行此操作,因为我正在尝试更改sharepoint中的某些标准行为 .

我尝试了很多东西,但现在我用jQuery添加了按钮和高度 .

如何添加类或包装我的自定义Web部件?

3 回答

  • 0

    你没有提到你是如何编写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文件并创建一个新 Headers (并在工具部分中设置):

    <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可以添加到混合中并通过 Headers 找到WP:

    $("h3.ms-WPTitle span:contains('Web Part Title')").closest("td[id*=_WebPartWP]").addClass("myCustomWP")
    

    现在你的WP将有一个.myCustomWP完全包装它

    这些是我能从头脑中记住的 .

  • 5

    通过JavaScript添加所需的类(您可以通过webpart添加) .

  • 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

相关问题