Skip to main content

Umbraco Razor A to Z Loop iterate Through Media Folders:

Umbraco Razor A to Z Loop iterate Through Media Folders:


 @using Examine  
 @using Examine.SearchCriteria  
 @using UmbracoExamine  
 @using System.Xml.XPath  
      @helper DisplayDocImage(string thisExtension)  
      {  
           switch (thisExtension)  
           {  
             case "docx":  
                case "doc":  
                case "rtf":  
                {  
                     @Html.Raw("Word Document");  
                     break;  
                }  
                case "xls":  
                case "xlsx":  
                {  
                  @Html.Raw("Excel Spreadsheet Document");  
                     break;  
                }  
                case "ppt":  
                case "pps":  
                case "pptx":  
                case "ppsx":  
                {  
                  @Html.Raw("Powerpoint Document");  
                     break;  
                }  
                case "pdf":  
                {  
                  @Html.Raw("PDF Document");  
                     break;  
                }  
                default:  
                {  
                  break;  
                }  
           }  
      }  
 @{         
           dynamic imageFolder = Library.NodeById(9193);   
           string thisAlpha = "*";                      
           foreach (var folder in imageFolder.Descendants().OrderBy("Name").Where("Visible"))    
           {  
                                      string docLetter = @folder.Name.Trim().Substring(0,1);  
                                      <!- ->  
                                    if (docLetter != thisAlpha && @folder.umbracoExtension != "")  
                                    {  
                                         <a name="docLetter"/>  
                                         <h2>@docLetter</h2>  
                                    }  
                                    <!- -> @* if not a folder write it out*@  
                                      if(@folder.umbracoExtension != "")  
                                    {                                            
                                           <p><a href="@folder.Url">@folder.Name</a> <span style="color:#536d7f"><br />@DisplayDocImage(@folder.umbracoExtension)</span></p>  
                                    }  
                                    <!- ->  
                                    if (docLetter != thisAlpha && @folder.umbracoExtension != "")  
                                    {  
                                         thisAlpha = docLetter;  
                                    }                  
           }  
 }  

Comments

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 
}
}