Как отформатировать столбец даты в itemstyle.xsl
-
16-10-2019 - |
Вопрос
Я редактирую Itemstyle.xsl для создания собственного стиля для веб -части (CQWP) (CQWP): (NB - 2 Получающие линии кода показаны как (a) и (b)
<xsl:template name="MyNewStyle" match="Row[@Style='MyNewStyle']" mode="itemstyle">
<div class="SipAddress">
<xsl:value-of select="@SipAddress" />
</div>
<div class="LinkToolTip">
<xsl:value-of select="@LinkToolTip" />
</div>
<div class="OpenInNewWindow">
<xsl:value-of select="@OpenInNewWindow" />
</div>
<div class="OnClickForWebRendering">
<xsl:value-of select="@OnClickForWebRendering" />
</div>
<div>
<table width="100%" >
<tr>
<td width="45%" ><xsl:value-of select="@Title" /></td>
<td width="33%"><xsl:value-of select="@Location" /></td>
(A) <td width="32%"><xsl:value-of select="@EventDate"/></td>
(B) <td width="32%"><xsl:value-of select="msxsl:format-date(@EventDate, 'dd/mm/yyyy h:mm')"/></td>
</tr>
</table>
</div>
Использование строки (а) работает в том смысле, что все данные протянуты (я также отредактировал Commonviewfield в веб -части)
Однако дата появляется в этом формате: 2011-04-21 10:00:00
Итак, после небольшого гуглирования я наткнулся на это: и заменил (а) на (b)
Поле даты исчезло ... (вздох)
Что мне нужно сделать, чтобы дата появилась в правильном формате?
Решение
После того, как я искал века для ответа на это, я наткнулся на это через несколько минут после разместимости этого вопроса ...
В любом случае, ответ здесь: http://blogs.msdn.com/b/joshuag/archive/2009/03/25/custom-date-formats-in-sharepoint-xsl.aspx
Резюме:
Ссылка на пространство имен DDWRT в верхней части Itemstyle.xls
xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
Теперь вы можете использовать
FormatDate
функционируйте везде, где вам нравится:<xsl:template name="Default" match="*" mode="itemstyle">
<xsl:value-of select="ddwrt:FormatDate(@ArticleStartDate, 2057, 3)"/>
</xsl:template>
Другие советы
Я нашел это как самый простой способ ограничить поле даты.
< xsl:variable name="cDate" select="@cDate"></xsl:variable>
< xsl:value-of disable-output-escaping="yes" select="substring-before($cDate,' ')"></xsl:value-of>