2009-07-01 6 views

Répondre

5

Lire le rendu des balises documents que je crois qu'il peut être possible de le faire dans une plus belle façon

donc obtenir la liste des éléments à l'aide de cette

Contexte: CurrentPage.Elements.GetElement (lst_myPages) .Value

La propriété Value devrait retourner une collection de pages pour les éléments de la liste afin que vous devriez être en mesure de le faire

Contexte: CurrentPage.Elements.GetElement (lst_myPages) .Value.Count

+0

Excellent - semble fonctionner parfaitement. Avoir un peu de générosité :) –

+1

Un ancien thread ... mais la façon moderne et plus efficace de le faire est 'Context: Pages.GetPage (Guid: <%inf_GUID%>) .GetElementByName (lst_myPages) .Value.Count' (où inf_GUID est la page GUID) – neil

0

Apparemment, la seule façon de faire ceci est de faire une boucle dans la liste, en comptant chaque élément, par ex.

<reddot:cms> 
<foreach itemname="testList" 
     object="Context:CurrentPage.Elements.GetElement(lst_myPages).Value" 
     countername="listCounter"> 
</foreach> 
</reddot:cms> 

La longueur est alors disponible:

<%!! Store:listCounter !!%> 
+0

Serait génial si quelqu'un pouvait confirmer cela (ou, mieux encore, arriver à un bon moyen de trouver la longueur!) –

1
<!IoRangePreExecute> 
    <% lst_myPagesSize = 0 %> 

    <!IoRangeList> 
    <% lst_myPagesSize = lst_myPagesSize + 1%> 
    <!IoRangeRedDotMode><!--[if !IE]><%lst_myPages%><![endif]--><!/IoRangeRedDotMode> 
    <!/IoRangeList> 

<!/IoRangePreExecute> 

Je pense que c'est le moyen le plus rapide. Premier compteur = 0. Ensuite, dans la plage de liste, incrémentez le compteur (n'oubliez pas d'inclure également le porte-noms de la liste dans ce bloc). Après cela, vous avez la valeur dans le compteur.

Questions connexes