Оберните пользовательскую веб-часть классом CSS - PullRequest
2 голосов
/ 29 февраля 2012

Я пытаюсь создать собственную веб-часть в SharePoint.Я пытаюсь добавить несколько кнопок в класс ms-WPHeader, и для этого я бы хотел обернуть всю пользовательскую веб-часть в div или добавить в нее класс css.Я не могу сделать это в своей пользовательской веб-части xsl, потому что я пытаюсь изменить стандартное поведение в sharepoint.

Я перепробовал много вещей, но теперь я добавляю кнопки и высоту с помощью jQuery.

Как добавить класс или обернуть свою пользовательскую веб-часть?

Ответы [ 3 ]

5 голосов
/ 01 марта 2012

Вы не упомянули, как вы создаете веб-часть, я постараюсь охватить несколько возможностей:

С помощью SharePoint Designer (похоже на то, что вы упомянули XSL, если только это не поисковая веб-часть, которую можно редактировать в браузере)

  1. Вы можете просто обернуть свою веб-часть с помощью DIV или чего-то подобного (или обернуть всю зону WP) <div id="customWP"><WebPartPages:WebPartZone .../></div>

  2. Если у вас есть доступ к XSL (думая о DataFormWebPart или подобном), вы можете внутренне обернуть <xsl:template name="dvt_1"> своим DIV, он будет виден во всех ситуациях для WP, даже в пустых результатах.

  3. Если это 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>
    

  4. В Visual Studio вы, вероятно, будете использовать визуальную веб-часть, и пользовательский элемент управления можно легко обернуть с помощью DIV

  5. jQuery можно добавить в микс и найти WP по названию:

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

    Теперь ваш WP будет иметь .myCustomWP, полностью обертывающий его

Это те, которые я помню по макушке головы.

0 голосов
/ 26 июня 2012

Я делал это несколько раз, и у меня никогда не было проблем.Сначала вам нужно отобразить папку Layouts в вашем проекте Visual Studio, затем вставить туда 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

0 голосов
/ 01 марта 2012

Добавление необходимых классов с помощью JavaScript (которые вы можете добавить с помощью своей веб-части.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...