Pregunta

Estoy editando el itemStyle.xsl para producir mi propio estilo para una parte web de consulta de contenido (CQWP) de la siguiente manera: (NB - 2 líneas de código laterales se muestran como (a) y (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>

El uso de la línea (a) funciona en que todos los datos se extraen (también he editado el CommonViewfield en WebPart)

Sin embargo, la fecha aparece en este formato: 2011-04-21 10:00:00

Entonces, después de un poco de Google, me encontré con esto: y reemplazé (a) con (b)

El campo de la fecha desapareció ... (suspiro)

¿Qué debo hacer para que la fecha aparezca en el formato correcto?

¿Fue útil?

Solución

Después de buscar años para la respuesta a esto, me topé con minutos después de publicar esta pregunta ...

De todos modos, la respuesta está aquí: http://blogs.msdn.com/b/joshuag/archive/2009/03/25/custom-date-formats-in-sharepoint-xsl.aspx

Resumen:

  1. Referencia al espacio de nombres DDWRT en la parte superior del itemStyle.xls xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"

  2. Ahora puedes usar el FormatDate Funciona en cualquier lugar que quieras:

    <xsl:template name="Default" match="*" mode="itemstyle">
    <xsl:value-of select="ddwrt:FormatDate(@ArticleStartDate, 2057, 3)"/>
    </xsl:template>

Otros consejos

Encontré esto como la forma más fácil de limitar el campo de fecha.

 < xsl:variable name="cDate" select="@cDate"></xsl:variable>

 < xsl:value-of disable-output-escaping="yes" select="substring-before($cDate,' ')"></xsl:value-of>
Licenciado bajo: CC-BY-SA con atribución
scroll top