Pergunta

Consegui criar um modelo ItemStyle para meu CQWP.Ele extrai vários anúncios.Defini o limite de caracteres para 400 e coloquei um link no final onde o usuário pode clicar para ver o anúncio completo.No entanto, isso é exibido em todos os anúncios, independentemente da duração.

Como posso configurá-lo para onde o link apenas mostra quando o anúncio está cortado/mais de 400 caracteres?

Aqui está meu XSL:

                    <table> 
                    <tr><td>
                        <xsl:variable name="SafeLinkUrl">
                            <xsl:call-template name="OuterTemplate.GetSafeLink">
                                <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
                            </xsl:call-template>
                        </xsl:variable>
                        <h3><a href="{$SafeLinkUrl}"><xsl:value-of select="@MyTitle"/></a></h3>         
                    </td></tr>
                    <tr><td>
                        <xsl:variable name="SafeLinkUrl">
                            <xsl:call-template name="OuterTemplate.GetSafeLink">
                                <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
                            </xsl:call-template>
                        </xsl:variable>
            <xsl:value-of disable-output-escaping="yes" select="substring(@MyDesc,1,400)" /> - <a href="{$SafeLinkUrl}">[Full Announcement]</a><br /></td></tr>
                    <tr>
                        <td> 

                        </td>
                    </tr>
                </table>
Foi útil?

Solução

Você gostaria de envolver isso em um if, algo como isto:

<xsl:if test="string-length(@MyDesc) &gt; 400">
<xsl:value-of disable-output-escaping="yes" select="substring(@MyDesc,1,400)" /> - <a href="{$SafeLinkUrl}">[Full Announcement]</a><br />
</xsl:if>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top