Создать собственный шаблон ItemStyle для SharePoint - PullRequest
0 голосов
/ 08 августа 2011

Я создал пользовательский ItemStyle_ContactDetails.xsl для веб-части запроса контента SharePoint 2010, который указывает на этот пользовательский файл через свойство ItemXslLink.Веб-часть будет отфильтрована для отображения только одной записи контактной информации этого отдела.Список, который он читает, имеет следующие столбцы:

  • @ Title - встроенный столбец SharePoint
  • / dsQueryResponse / Rows / Row / @ WorkAddress - встроенный столбец SharePoint
  • / dsQueryResponse / Rows / Row / @ PrimaryNumber - встроенный столбец SharePoint
  • @ EMail - встроенный столбец SharePoint
  • @ Opening_x0020_Hours - настраиваемое многострочное форматированиетекстовый столбец

Приведенные выше имена называются в веб-части просмотра данных с другого сайта.У меня было следующее в этом DVWP, который работал для локального сайта:

<td colspan="2" class="ms-vb" style="text-align:center">
  <b><xsl:value-of select="@Title"/></b><br></br>
  <div style="margin-top:10px;"><xsl:value-of 
       select="/dsQueryResponse/Rows/Row/@WorkAddress"/> 
      (<a href="{@Map}">MAP</a>) 
  </div>
  Tel: <xsl:value-of select="/dsQueryResponse/Rows/Row/@PrimaryNumber"/><br></br>
  <a href="mailto:{@EMail}"><xsl:value-of select="@EMail"/></a>
  <p><b>Opening Hours:</b></p>
  <div style="position:relative; top:0; margin:0">
       <xsl:value-of select="@Opening_x0020_Hours" 
       disable-output-escaping="yes"/>
  </div>
</td>

Как мне перевести это в пользовательский шаблон ItemStyle_ContactDetails.xsl?Пользователь должен видеть информацию, не нажимая на ссылку, чтобы получить к ней - это всегда будет только одна запись для этого отдела.Спасибо.

1 Ответ

1 голос
/ 09 августа 2011

Несколько серьезных проб и ошибок дали результат, наряду с этой замечательной статьей: http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx

Может быть, другие, пробующие то же самое, могут найти это полезным: Вы можете отредактировать пользовательский файл XSL на сервере.через SPDesigner, но вы не можете сделать то же самое с веб-частью и надеетесь, что изменения будут немедленно отражены.Вы должны экспортировать веб-часть запроса контента, затем отредактировать файл в Блокноте и т. Д., Чтобы внести изменения в следующие 3 элемента:

  • Измените ItemXslLink, чтобы указать на вашпользовательский XSL-файл:

    <property name="ItemXslLink" type="string">/Style Library/XSL Style Sheets/ItemStyle_ContactDetails.xsl</property>

  • Измените элемент ItemStyle в веб-части для ссылки на имя вашего шаблона;имя шаблона в XSL-файле: ContactDetails:

    <xsl:template name="ContactDetails" match="Row[@Style='ContactDetails']" mode="itemstyle">

    Итак, в вашей веб-части вы получите следующее:

    <property name="ItemStyle" type="string">ContactDetails</property>

  • Обновите CommonViewFields, чтобы получить список пользовательских столбцов и их типов:

    <property name="CommonViewFields" type="string">WorkAddress, Text; EMail,Text; Contact_x0020_Department,Choice; Map,URL; Opening_x0020_Hours,Text; PrimaryNumber, Text</property>

Сохранить файл веб-частии импортировать (загрузить) его через браузер в галерею веб-частейКаждый раз, когда вы вносите изменения в веб-часть, вы захотите сделать это;XSL-файл можно редактировать и сохранять в SPDesigner, и изменения немедленно отражаются в браузере.

Надеюсь, это поможет кому-то, кто застрял, как я был:)

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