Как добавить ссылку на остальную часть абзаца в объявлениях SharePoint? - PullRequest
2 голосов
/ 31 января 2009

Как создать ссылку на остальную часть абзаца в объявлении в SharePoint, в котором отображается слово: читать дальше

Приветствия

Ответы [ 2 ]

1 голос
/ 20 февраля 2009

Я обнаружил, что самый простой и простой способ сделать это - создать шаблон в ItemStyle.xsl, который выбирает подстроку содержимого тела объявления и отображает ссылку ниже на саму статью.

После добавления следующего кода в файл ItemStyle.xsl (в SharePoint Designer перейдите в папку «Библиотека стилей / Таблицы стилей XSL»), вы можете изменить веб-часть через браузер и изменить стиль элемента (Presentation / Стили) в «ReadMoreAnnouncements». Этот код сохраняет количество отображаемых символов до 190 символов (см. Подстроку ($ bodyContent, вызов функции 1190).

<xsl:template name="removeMarkup">
       <xsl:param name="string" />
       <xsl:choose>
       <xsl:when test="contains($string, '&lt;')">
              <xsl:variable name="nextString">
                     <xsl:call-template name="removeMarkup">
                     <xsl:with-param name="string" select="substring-after($string, '&gt;')" />
                     </xsl:call-template>
              </xsl:variable>
              <xsl:value-of select="concat(substring-before($string, '&lt;'), $nextString)" />
       </xsl:when>
       <xsl:otherwise>
              <xsl:value-of select="$string" />
       </xsl:otherwise>
       </xsl:choose>
</xsl:template> 
<xsl:template name="ReadMoreAnnouncements" match="Row[@Style='ReadMoreAnnouncements']" mode="itemstyle">
    <br />
    <div class="RMAnnouncementsTitle">
        <xsl:value-of select="@Title" />
    </div>
    <div class="RMAnnouncementsBody">
        <xsl:variable name="bodyContent">
            <xsl:call-template name="removeMarkup">
                <xsl:with-param name="string" select="@Body"/>
            </xsl:call-template>
        </xsl:variable>
        <xsl:value-of select="substring($bodyContent,1,190)" />
        ...
        <br />
        <a>
            <xsl:attribute name="href">
                /Lists/Announcements/DispForm.aspx?ID=
                <xsl:value-of select="@ID">
                </xsl:value-of>
            </xsl:attribute>
            <xsl:attribute name="class">
                RMAnnouncementsMoreLink
            </xsl:attribute>
            read more
        </a>
    </div>
</xsl:template> 

Это определенно должно сработать, и это очень легко реализовать.

0 голосов
/ 14 февраля 2009

Если у вас есть страница, которую вы можете редактировать в SharePoint Designer, попробуйте this . Если вы хотите иметь веб-часть, которая показывает объявление так, как вы хотите, попробуйте this .

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