50 lines
1.6 KiB
Plaintext
50 lines
1.6 KiB
Plaintext
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
|
@*
|
|
Macro to display a gallery of images from media the media section.
|
|
Works with either a 'Single Media Picker' or a 'Multiple Media Picker' macro parameter (see below).
|
|
|
|
How it works:
|
|
- Confirm the macro parameter has been passed in with a value
|
|
- Loop through all the media Id's passed in (might be a single item, might be many)
|
|
- Display any individual images, as well as any folders of images
|
|
|
|
Macro Parameters To Create, for this macro to work:
|
|
Alias:mediaIds Name:Select folders and/or images Type: Multiple Media Picker
|
|
Type: (note: you can use a Single Media Picker if that's more appropriate to your needs)
|
|
*@
|
|
|
|
@{ var mediaIds = Model.MacroParameters["mediaIds"]; }
|
|
@if (mediaIds != null)
|
|
{
|
|
<ul class="thumbnails">
|
|
@foreach (var mediaId in mediaIds.ToString().Split(','))
|
|
{
|
|
var media = Umbraco.Media(mediaId);
|
|
|
|
@* a single image *@
|
|
if (media.DocumentTypeAlias == "Image")
|
|
{
|
|
@Render(media);
|
|
}
|
|
|
|
@* a folder with images under it *@
|
|
if (media.Children("Image").Any())
|
|
{
|
|
foreach (var image in media.Children("Image"))
|
|
{
|
|
@Render(image);
|
|
}
|
|
}
|
|
|
|
}
|
|
</ul>
|
|
}
|
|
|
|
@helper Render(dynamic item)
|
|
{
|
|
<li class="span2">
|
|
<a href="@item.umbracoFile.src" class="thumbnail">
|
|
<img src="@item.umbracoFile.src" alt="@item.Name" />
|
|
</a>
|
|
</li>
|
|
} |