Можно получить данные отдельных данных из foreachLoop Umbraco c # - PullRequest
0 голосов
/ 28 мая 2019

Мой код работает нормально, но когда я пытаюсь получить данные о каждом фонде = подстраница. Имя, я получаю все данные о средствах не как отдельные. что мне здесь не хватает ?? Может кто-нибудь мне помочь? извините, я новичок в umbraco и c #, как лучше всего справиться с этим

теперь вот так

(16) [{…}, {…},]...
0: {Fundo: "CURTO PRAZO", data: Array(21)}
1: {Fundo: "CA MONETARIO", data: Array(21)}
...

In reality it should be

(16) [{…}, {…},]...
0: {Fundo: "CURTO PRAZO", data: Array(4)}
1: {Fundo: "CA MONETARIO", data: Array(3)}
for example
...

это мой код

    var currentPage = Model.Content;

    var selection = Umbraco.Content(1448);

    @foreach (var page in selection.Children){

    if(page.Children.Count() > 0){ 

    foreach(var subpage in page.Children){

    var listaPdf = subpage.GetPropertyValue<IEnumerable<IPublishedContent>>("listaPdfsFundos");

         if(listaPdf == null) {

         listaPdf = new List<IPublishedContent>();}

        if(listaPdf != null){

        foreach(var row in listaPdf) {

        name = Umbraco.Field(row, "categoriaDoFundo").ToString();

        var id = Umbraco.Field(row, "documentos").ToString();

        var mediaItem = Umbraco.TypedMedia(id);

        url = mediaItem.Url;

        <script type="text/javascript">

       data.push({"Nome":"@name", "Url":"@url"}); 

        </script> 
         }

         <script type="text/javascript">

        list.push({"Fundo":"@subpage.Name", data }); 
        </script> 

              }

            }

        }

     }

1 Ответ

1 голос
/ 28 мая 2019

Вы должны использовать UmbracoHelper для получения IPublishedContent, а затем вы можете получить дочерние элементы вашей страницы контента и перейти к отдельным свойствам.

Пожалуйста, смотрите детали ниже; в моем примере мой идентификатор содержимого теста - это идентификатор узла моей домашней страницы, и я вижу, как я получаю дочерние элементы своей домашней страницы и свойства первого дочернего элемента - поэтому, пожалуйста, обновите свой код в соответствии с этим, для получения дополнительной информации посмотрите на это ;

            var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
            var testContentId = 1353; // This is your umbraco node id of your content page
            var publishedContent = umbracoHelper.TypedContent(testContentId);

            if (publishedContent != null)
            {
                foreach (var child in publishedContent.Children)
                {
                    // This is where you can reach the Children of this child as well as individual properties of this child
                    if (child.HasProperty("emailAddress_Contact_Information"))
                    {
                        var emailAddressContactInformation = child.GetProperty("emailAddress_Contact_Information");
                    }
                }
            }

enter image description here

...