Visualização Xsl, link relativo da web?
-
09-12-2019 - |
Pergunta
Eu tenho uma definição de lista personalizada que define alguma visualização.Essas visualizações estão vinculadas a um arquivo xsl personalizado devido a algumas regras de formatação (linha vermelha quando o campo X é igual a Y).
Neste xsl, gostaria de adicionar um link para uma página personalizada com o ID do item.O resultado deve ser: weburl/pages/mypage.aspx?id=123
.
Agora tenho algo assim, no final do meu arquivo xsl:
<td>
<a href="../Pages/mypage.aspx?MyID={@ID}">
Show
</a>
</td>
Isso está funcionando na página inicial do meu site (que é /pages/home.aspx), mas não funcionará na própria lista por causa do URL relativo.
- a abordagem xsl é a maneira correta de definir esse link?
- se sim, existe algum token ou maneira semelhante de criar o URL relativo do SPWeb?
obrigado
Solução
Se você estiver incluindo corretamente principal.xsl no seu modelo, use $ServerRelativeUrl parâmetro global.
Exemplo:
<td>
<a href="{$ServerRelativeUrl}/Pages/mypage.aspx?MyID={@ID}">
Show
</a>
</td>
Referência MSDN para parâmetros globais XSLT disponíveis aqui:
Todos esses parâmetros globais são definidos no principal.xsl arquivo:
C: Arquivos de programas Arquivos Comuns Microsoft Shared Web Server Extensions 14 modelo layouts xsl main.xsl