Skip to main content

Umbraco 7 Get Media images by ID when using the Multi Media Picker to display a Gallery

Umbraco 7 Get Media images by ID when using the Multi Media Picker

This is usefull when creating a gallery of images.

1) In your Doctype add the Multiple Media Picker

2) Umbraco 7 Razor code snippet partial:


@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@helper RemoveExtensions(string stringIn)
{
 var thisTitle = stringIn;
                                        thisTitle = thisTitle.Replace(".jpg", "");
                                        thisTitle = thisTitle.Replace(".png", "");
                                        thisTitle = thisTitle.Replace(".jpeg", "");
                                        thisTitle = thisTitle.Replace(".gif", "");
                                        thisTitle = thisTitle.Replace(".bmp", "");
                                        thisTitle = thisTitle.Replace("-", " ");
                                        thisTitle = thisTitle.Replace("_", " ");
                                        thisTitle = thisTitle.Replace("  ", " ");
@Html.Raw(thisTitle)
}

@if(CurrentPage.HasValue("chooseImagesForGallery"))
                    {
                        <div class="row">
                        @{
                       
                            var typedMultiMediaPicker = Model.Content.GetPropertyValue<IEnumerable<IPublishedContent>>("chooseImagesForGallery");
                            foreach (var item in typedMultiMediaPicker)
                            {
                               <div class="col-md-4">
                                <a href="@item.Url" data-fancybox="group" data-caption="@item.Name">
                                    <img src="@item.Url" alt="" class="img-responsive"/>
                                </a>
                                      
                                <p>@RemoveExtensions(@item.Name)</p>
                               
                            </div>
                            }
                        }
                       
                        </div>
                    }
                   


Comments

  1. Thanks for such a nice post. Its works perfectly when I loaded multiple images for my product.

    ReplyDelete

Post a Comment

Popular posts from this blog

Umbraco 7 - C# Razor - Passing a parameter variable from a Template to a Partial View.

Passing a parameter variable from a Template to a Partial View Example - Passing a Page Id to a Partial View.
In the example below we are passing 3 page Ids (1090. 1091, 1092) to a partial view.  The Partial View will display the details for each of these nodes on a home page.  See final output below.


1) In your Template:
@Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1090}}) @Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1091}}) @Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1092}})

2) The Partial View:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage @{ var thisPageId = 1090; var stringPage = @ViewData["pageId"]; thisPageId = Convert.ToInt32(stringPage); } <div class="col-md-4"> <article class="common-blog-pos…

Umbraco 7 Hide a page from Navigation or Sub Navigation with umbracoNaviHide using Razor in a template or partial view

How to Allow the user to Hide a Page from Navigation in Umbraco 7. By using a tick box:
This example shows hide the Search Results page from the main navigation in umbraco 7.


1)  In your Document Type add a property called "umbracoNaviHide", it must be called "umbracoNaviHide"

The property should be a tick box, so it should be a "True/False "



2) In your Navigation, add the highlighted code to your for each loop that writes out the navigation:

  @foreach(var p in homePage.Children().Where("visible"))
                        {
                            write out navigation

3) Now when the user ticks Hide from Nav in the backend, the page will not show in the navigation:


Umbraco Razor Sort Nodes Ascending or Descending

Descending:
@inherits umbraco.MacroEngines.DynamicNodeContext  
@using umbraco.cms.businesslogic.template;

@foreach(var item in Model.Children.OrderBy("Name descending"))
{
if(item.HasAccess())
{
@item.Name 
}
}


Ascending:
@inherits umbraco.MacroEngines.DynamicNodeContext  
@using umbraco.cms.businesslogic.template;

@foreach(var item in Model.Children.OrderBy("Name"))
{
if(item.HasAccess())
{
@item.Name 
}
}