2010-07-21 5 views
0

Je dois dire; Je suis assez vert dans xslt donc, très probablement, c'est le problème principal; néanmoins été sur elle pendant des heures et ne peut pas l'obtenir. Je veux remplir une colonne sur mon gabarit principal avec les 5 derniers articles. Ces newsitems devraient être montrés indépendamment de la page actuelle. J'ai essayé ceci:Umbraco XSLT sélectionnez les sous-nœuds de newsitem quelle que soit la page en cours

<xsl:template match="/"> 
    <xsl:for-each select="umbraco.library:GetXmlNodeById(1075)/child::node"> 
     <p> 
      <strong> 
      <xsl:value-of select="header"/> 
      </strong> 
     </p> 
    </xsl:for-each> 
    </xsl:template> 

Où, en ce moment, 1075 est mon modèle de Nouvelles. J'ai essayé avec juste: GetXmlNodeById(1076)/node (où 1076) est mon modèle de NewsItem. Je l'ai essayé avec le nœud-Id de l'arbre de contenu, mais pas de chance ..

Quelqu'un peut-il m'aider ici? Je suis coincé et j'ai cherché haut et bas sur Google, les forums et la documentation, mais il me manque probablement quelque chose de vital ici. TIA!

P.S. Utilisation d'Umbraco 4.5 BTW

+0

Je ne suis pas familier avec Umbraco, mais si vous utilisez simplement 'GetXmlNodeById (1076)' _without_ le '/ node', cela vous donne-t-il ce que vous voulez? –

+0

Si j'utilise simplement GetXmlNodeById (1076), j'obtiens une erreur d'analyseur. – riffnl

+0

Quelle est l'erreur de l'analyseur et la ligne que vous avez entrée? Ajoutez-le à votre question afin que nous puissions essayer de résoudre le problème. –

Répondre

2

Ceci devrait générer des nœuds courants et fils.

<xsl:copy-of select="umbraco.library:GetXmlNodeById(1075)"/> 

Dans Umbraco 4.5 le schéma a changé, depuis/nœud [@ nodeTypeAlias ​​= 'Nouvelles'] à/Nouvelles [@isDoc]

http://blog.leekelleher.com/2010/04/02/working-with-xslt-using-new-xml-schema-in-umbraco-4-1/

Ainsi, votre xslt devrait ressembler

<xsl:template match="/"> 
    <ul> 
     <xsl:for-each select="umbraco.library:GetXmlNodeById(1075)/News [@isDoc]"> 
      <li><a href="{umbraco.library:NiceUrl(@id)}"><xsl:value-of select="@nodeName"/></a></li> 
     </xsl:for-each> 
    </ul> 
</xsl:template> 
+0

Merci! C'est bien cela. A été confus par tous les échantillons des schémas plus anciens, je suppose, mais ça marche! – riffnl

+0

Aucun problème, n'importe quand –