Umbraco, XSLT, ¿Cómo se renderiza el contenido secundario en una página principal?

StackOverflow https://stackoverflow.com/questions/3416889

  •  26-09-2019
  •  | 
  •  

Pregunta

Tengo contenido que he estructurado de la siguiente en la sección de contenido en umbraco:

Los productos bajo el nodo de contenido que tienen un icono de la carpeta son páginas de contenido. Una página de contenido puede tener otra página de contenido como un niño o una sección de contenido que son los elementos con doc con el icono de la imagen.

texto alternativo ??
(fuente: flickr.com )

Tengo una sección de configuración que ha estructurado de la siguiente manera:

Cada SectionDocumentType tiene un número limitado de plantillas disponibles el usuario puede seleccionar

texto alternativo ??
(fuente: flickr.com )

Lo que me gustaría hacer es hacer que las secciones como filas de datos en una página de contenido sin tener en cuenta las páginas de contenido infantil.

Me gustaría que cada sección "fila" a la plantilla de visualización y todo.

Soy nuevo en XSLT por lo que me pregunto cómo podría hacer esto?

Gracias por su ayuda!

¿Fue útil?

Solución

Me cuenta de esto.

Aquí está el XSLT:

<?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#x00A0;"> ]>
       <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>

También he tenido que añadir esta línea a mi sección de contenido <umbraco:DisableRequestValidation runat="server"/> en mis plantillas sección de contenido.

Aquí es cómo lo usa en su plantilla de página.

<asp:Content ContentPlaceHolderID="ContentPlaceHolderDefault" runat="server">
**<umbraco:DisableRequestValidation runat="server"/>** 
**YOUR HTML GOES HERE**
</asp:Content>​
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top