Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Hubert Thalmann 1 post 71 karma points
    Jun 26, 2018 @ 16:43
    Hubert Thalmann
    0

    Loop trough picked Media Folder

    Hello our.Umbraco Community

    I have a Media Picker where i Pick an Folder in my Media Section.

    How can i loop trough all images inside this media Folder?

    what i have is:

    var myFolder = Model.Content.GetPropertyValue("images")
    

    whats the next step?

    I want something like this (pseudocode)

    @foreach(var image in myFolder){<img src="image.Url"/>}
    

    please help

    Kind Regards Hubert

  • Frans de Jong 522 posts 1762 karma points c-trib
    Jun 26, 2018 @ 19:54
    Frans de Jong
    0

    Hi Hubert,

    This is a partial view I use for a doctype grid editor I use in one of the older projects.

    There is some stuff you don't need for instance a title and all the markup but it should at least get you started. If you have any questions please do ask.

    @if (Model != null && Model.MediaFolder != null)
    {
        if (Model.Title != null)
        {
            <h2>@Model.Title</h2>
        }
        if (Model.MediaFolder.DocumentTypeAlias != "Folder")
        {
            <a href="@Model.MediaFolder.Url">@Model.MediaFolder.Name</a>
        }
        else
        {
            <ul class="DownloadTree tree">
                @foreach (IPublishedContent node in Model.MediaFolder.Children)
                {
                    if (node.DocumentTypeAlias == "Folder")
                    {
                        @RenderFolder(node, false)
                    }
                    else
                    {
                        @RenderFile(node, false)
                    }
                }
            </ul>
        }
    }
    
    
    @helper RenderChildren(IEnumerable<IPublishedContent> nodes)
        {
            <ul>
                @foreach (var node in nodes)
                {
                    if (node.DocumentTypeAlias == "Folder")
                    {
                        @RenderFolder(node, true)
                    }
                    else
                    {
                        @RenderFile(node, true)
                    }
                }
            </ul>
    }
    
    @helper RenderFolder(IPublishedContent node, bool hide)
        {
            int childrenCount = node.Children.Count();
            <li class="treeFolder @(childrenCount != 0 ? "branch":"")" style="@(hide ? "display: none;": "display: list-item;")">
                <i class="indicator fa fa-folder"></i>
                <a href="#" class="@(childrenCount == 0 ? "empty":"")">@node.Name (@childrenCount)</a>
                @if (childrenCount > 0)
                {
                    @RenderChildren(node.Children)
                }
            </li>
    }
    
    @helper RenderFile(IPublishedContent node, bool hide)
        {
            <li class="treeDownload" style="@(hide ? "display: none;": "display: list-item;")">
                @{
                    <a href="@node.Url" target="_blank" download>@node.Name</a>
                }
            </li>
    }
    
  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies