2010-08-05 12 views
1

J'ai contenu que j'ai structuré comme suit dans la section de contenu dans umbraco:Umbraco, XSLT, Comment rendre le contenu enfant dans une page parente?

Les éléments sous le nœud de contenu qui ont une icône de dossier sont des pages de contenu. Une page de contenu peut avoir une autre page de contenu en tant qu'enfant ou une section de contenu qui sont les éléments avec doc avec l'icône d'image.

alt text

J'ai une section de paramètres que j'ai structuré comme suit:

Chaque SectionDocumentType a un nombre limité de modèles disponibles, l'utilisateur peut sélectionner

alt text

Ce que je J'aimerais faire des sections en tant que lignes de données dans une page de contenu tout en ignorant les pages de contenu enfant.

Je voudrais que chaque section "ligne" affiche le modèle et tout. Je ne connais pas XSLT et je me demande comment je pourrais le faire?

Merci pour votre aide!

+0

Utilisez-vous umbraco 4.0 ou 4.5? –

+0

Salut Elijah, J'utilise Umbraco 4.5. –

Répondre

4

J'ai compris cela.

Voici le 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> 

Aussi je dû ajouter cette ligne à ma section de contenu <umbraco:DisableRequestValidation runat="server"/> dans mes modèles de section de contenu.

Voici comment vous l'utilisez dans votre modèle de page.

<asp:Content ContentPlaceHolderID="ContentPlaceHolderDefault" runat="server"> 
**<umbraco:DisableRequestValidation runat="server"/>** 
**YOUR HTML GOES HERE** 
</asp:Content>​