2017-08-21 4 views
0

Je sais que cela a déjà été demandé, mais aucune solution que j'ai essayée n'a fonctionné pour moi. J'ai besoin d'insérer X nombre d'images d'un sélecteur de médias multiples dans un élément de carrousel.Affichage des images d'un sélecteur de média multiple dans un élément de carrousel (Umbraco 7)

Actuellement, je ne fais qu'extraire chaque image en utilisant un index codé en dur. Mais cela ne fonctionne pas lorsque le client devrait être en mesure d'insérer n'importe quel nombre d'images.

J'ai besoin de parcourir chaque image avec ce balisage, tout en changeant le numéro de diapositive à chaque fois, de sorte qu'il corresponde aux vignettes que je lui ai associées.

Comment puis-je parcourir plus de X images et extraire leurs URL à utiliser dans mon carrousel?

Répondre

1

Si je fais cela, j'utiliser cette approche,

En haut de la vue, déclarer les images comme une variable;

@{ 
    var images = Model.Content.GetPropertyValue<IEnumerable<IPublishedContent>>("sommerhusBilleder").ToList(); 
} 

Ensuite, utilisez cette boucle pour lister les éléments;

@for (var i = 0; i < images.Count; i++) 
{ 
    <div class="@(i < 1 ? "active":"") item" data-slide-number="@i"> 
     <img src='@images[i].Url'> 
    </div> 
} 

Si cela s'avère utile, la variable i peut être utilisée pour suivre le numéro de la diapositive et vous pouvez l'utiliser si nécessaire.

Modifier; assurez-vous également de ne faire que la première diapositive active lors du rendu - vous pouvez le faire en testant ce que 'i' est au début de la boucle.

+1

Merci, ça a marché pour moi! J'ai répété le code pour mes vignettes et ils fonctionnent aussi bien. – Leth