Umbraco, XSLT, Como faço para compor filho de conteúdo em uma página principal?
Pergunta
Eu tenho conteúdo que eu já estruturado da seguinte forma na seção de conteúdo no umbraco:
Itens sob o nó de conteúdo que tem o ícone de uma pasta são Páginas de Conteúdo.Uma página de conteúdo pode ter outro conteúdo da página como um filho ou uma seção de conteúdo que os itens estão com o documento com a imagem do ícone.
(fonte: flickr.com)
Eu tenho uma seção de configurações que eu já estruturado da seguinte forma:
Cada SectionDocumentType tem um número limitado de modelos disponíveis, o usuário pode selecionar
(fonte: flickr.com)
O que eu gostaria de fazer é a prestação de Seções, conforme as linhas de dados em uma página de conteúdo, ignorando criança páginas de conteúdo.
Eu gostaria que cada seção de "linha" para o modelo de exibição e de todos.
Eu sou novo para XSLT então, eu estou querendo saber como eu poderia fazer isso?
Obrigado por sua ajuda!
Solução
Achei isso.
Aqui é o xslt:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxml="urn:schemas-microsoft-com:xslt"
xmlns:umbraco.library="urn:umbraco.library"
xmlns:Exslt.ExsltCommon="urn:Exslt.ExsltCommon"
xmlns:Exslt.ExsltDatesAndTimes="urn:Exslt.ExsltDatesAndTimes"
xmlns:Exslt.ExsltMath="urn:Exslt.ExsltMath"
xmlns:Exslt.ExsltRegularExpressions="urn:Exslt.ExsltRegularExpressions"
xmlns:Exslt.ExsltStrings="urn:Exslt.ExsltStrings"
xmlns:Exslt.ExsltSets="urn:Exslt.ExsltSets">
<xsl:output method="html" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<xsl:template match="/">
<xsl:for-each select="$currentPage/child::*[@isDoc][@nodeType != 1230]">
<xsl:value-of select="umbraco.library:RenderTemplate(@id,@template)" disable-output-escaping="yes"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Também eu tinha para adicionar esta linha ao meu seção de conteúdo <umbraco:DisableRequestValidation runat="server"/>
na minha seção de conteúdo modelos.
Aqui está como você usá-lo em seu modelo de página.
<asp:Content ContentPlaceHolderID="ContentPlaceHolderDefault" runat="server">
**<umbraco:DisableRequestValidation runat="server"/>**
**YOUR HTML GOES HERE**
</asp:Content>