Использование папки в мультимедийном средстве выбора - PullRequest
0 голосов
/ 06 июня 2019

Я хочу иметь возможность выбрать папку в de media picker и отображать изображения внутри папки на моей странице.

Я могу получить папку, но не получить изображения из папки. Как вы можете видеть в коде ниже.

@foreach (var item in Model.MediaGallary)
        {
            if (item.DocumentTypeAlias != "Folder")
            {
                <div class="col-lg-3 col-md-4 col-6">
                    <a style="overflow-x:hidden; height:100%" href="@item.Url" data-lightbox="example-set" class="d-block mb-4 h-100">
                        <img class="img-fluid img-thumbnail" src="@item.GetCropUrl("gallaryThumbnail")+@count" />
                        <p>@item.Name</p>
                    </a>
                </div>
                { count++; }
            } else
            {

            }
        }

Я ищу объяснение того, как я могу извлечь изображение из папки внутри функции else.

РЕШЕНИЕ

Чтобы решить мою проблему, все, что мне нужно было сделать, это добавить цикл foreach для получения дочерних элементов.

 @foreach (var item in Model.MediaGallary)
        {
            if (item.DocumentTypeAlias != "Folder")
            {
                <div class="col-lg-3 col-md-4 col-6">
                    <a style="overflow-x:hidden; height:100%" href="@item.Url" data-lightbox="example-set" class="d-block mb-4 h-100">
                        <img class="img-fluid img-thumbnail" src="@item.GetCropUrl("gallaryThumbnail")+@count" />
                        <p>@item.Name</p>
                    </a>
                </div>
                { count++; }
            }
            else
            {
                foreach (var mediaItem in item.Children)
                {
                    <div class="col-lg-3 col-md-4 col-6">
                        <a style="overflow-x:hidden; height:100%" href="@mediaItem.Url" data-lightbox="example-set" class="d-block mb-4 h-100">
                            <img class="img-fluid img-thumbnail" src="@mediaItem.GetCropUrl("gallaryThumbnail")+@count" />
                            <p>@mediaItem.Name</p>
                        </a>
                    </div>
                    { count++; }
                }
            }
        }

1 Ответ

0 голосов
/ 07 июня 2019

Прежде всего, предполагая, что элемент является IPublishedContent, вы можете сделать следующее:

var media = item.Children;

Вы можете пойти дальше и попробовать это (предполагая, что вы используете Модели, созданные с помощью ModelsBuilder в Umbraco 7):

var images = item.Children<Image>();
...