вторник, 4 января 2011 г.

Отображение ленты твиттера на странице SharePoint через RSS-канал

Например, для отражения микроблога компании или команды на странице портала, может потребоваться отображение ленты твиттера на странице SharePoint.

Для этого сначала узнайте rss-адрес твиттер-ленты: Перейдите на старый профиль:

image

image

Для моего микроблога это адрес: http://twitter.com/statuses/user_timeline/97246548.rss

Теперь добавьте не страницу SharePoint веб часть “Средство просмотра XML”.

В параметрах веб-части в поле XML-ссылка введите адрес rss-ленты и нажмите “Редактор XSL”:

image

В открывшееся окно введите XSL код

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="xsl">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<div>
<xsl:apply-templates select="rss/channel"/>
</div>
</xsl:template>
<xsl:template match="rss/channel">
<xsl:variable name="link" select="link"/>
<xsl:variable name="description" select="description"/>
<xsl:apply-templates select="item"/>
</xsl:template>
<xsl:template match="item">
<xsl:variable name="owner">
<xsl:value-of select="substring(/rss/channel/title,11)" />
</xsl:variable>
<xsl:variable name="item_link" select="link"/>
<xsl:variable name="item_title" select="substring(description,string-length($owner)+3)"/> 
<xsl:call-template name="getDate">
<xsl:with-param name="dateTime" select="pubDate" />
</xsl:call-template> |
<a href="{$item_link}" title="{$item_title}">
<xsl:value-of select="$item_title"/>
</a>
<br/>
</xsl:template>
<xsl:template name="getDate">
<xsl:param name="dateTime" />
<xsl:variable name="monthName">
<xsl:value-of select="substring($dateTime,9,3)" />
</xsl:variable>
<xsl:variable name="day">
<xsl:value-of select="substring($dateTime,6,2)" />
</xsl:variable>
<xsl:variable name="month">
<xsl:choose>
<xsl:when test="$monthName = 'Jan'">01</xsl:when>
<xsl:when test="$monthName = 'Feb'">02</xsl:when>
<xsl:when test="$monthName = 'Mar'">03</xsl:when>
<xsl:when test="$monthName = 'Apr'">04</xsl:when>
<xsl:when test="$monthName = 'May'">05</xsl:when>
<xsl:when test="$monthName = 'Jun'">06</xsl:when>
<xsl:when test="$monthName = 'Jul'">07</xsl:when>
<xsl:when test="$monthName = 'Aug'">08</xsl:when>
<xsl:when test="$monthName = 'Sep'">09</xsl:when>
<xsl:when test="$monthName = 'Oct'">10</xsl:when>
<xsl:when test="$monthName = 'Nov'">11</xsl:when>
<xsl:when test="$monthName = 'Dec'">12</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="year">
<xsl:value-of select="substring($dateTime,13,4)" />
</xsl:variable>
<xsl:variable name="time">
<xsl:value-of select="substring($dateTime,18,8)" />
</xsl:variable>
<xsl:value-of select="concat($day,'.',$month,'.',$year,' ',$time)" />
</xsl:template>
</xsl:stylesheet>

image

После применения параметров увидите следующего вида веб-часть:

image

Комментариев нет:

Отправить комментарий