Stiamo creando la nuova UX.... abbiate pazienza :)

 

Un bug nella funzione getMedia() ?

lunedì 13 dicembre 2010 di Eric Lefèbvre

Ho segnalato su codeplex, un funzionamento anomalo, secondo me, di una della funzioni più utilizzate quando si scrive macro xslt in Umbraco: getMedia(int Id, bool depth).

Se l'id indicato appartiene a un nodo media con figli, potrebbe essere interessante ricuperare tutto il nodo per ciclare con un bel <xsl:for-each select=" ">. Penso particolarmente ad un album foto che potrebbe contenere varie foto con anteprime ricavate con il Media Cropper.

Dato che lo script non funzionava a dovere, l'ho combinato con xsl:copy-of e il risultato mi lascia senza voce.

Togliendo di mezzo i vari attributi, questo è quello che si ottiene:

getMedia produce un risultato sorprendente

Il problema appare subito chiaro: tutti gli elementi sono imbricati gli uni negli altri e non sono sullo stesso livello. Se condividete la mia opinione al riguardo, vi invito a collegarvi alla pagina del progetto Umbraco di Codeplex e di votare questa segnalazione.

Non esiste che il secondo elemento sia figlio del primo, il terzo figlio del secondo e così via.

In questo caso tutti gli elementi <fotodialbum> dovrebbero essere figli di <albumfoto>. Nel caso contrario, non ha nessun senso e sarà sempre impossibile sfruttare le potenzialità di <xsl:for-each> risparmiando parecchio codice.

1 comment for “Un bug nella funzione getMedia() ?”

  1. Posted sabato 15 gennaio 2011 at 13:35:09

    Che versione stai usando? Io personalmente ho utilizzato con successo il ciclo delle gallery con la 4.5.2 con un apply template ad hoc: se $media/@nodeTypeAlias='Image' (cioè l'utente seleziona l'immagine), faccio l'apply template su media, altrimenti gli passo $media/child::Image. Funziona senza problemi!

Inserisci un commento

Ricerca nel sito
Il consiglio direttivo:
Esplora Umbraco 4 dal sito ufficiale!