London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

Get Block's Page

Vote:
0

Hey all,

is there a quick and nice or at least any way to get Block's Parent Page?

Let's say I have some Page which has some Block in some of it's ContentArea. How could I get that Page from outside Block's Model/Controller?

Ideally I would like to have a Property - ParentPage - on some Blocks, so I could the access some properties of that ParentPage when used in Block's view... does it makes sense?

CMS version is 11 something...

Thank you!

#220549
Apr 02, 2020 11:09
Vote:
0

Not tested but something like this 

            Injected<IPageRouteHelper>  pageRouteHelper;


	    if (pageRouteHelper.Page is BasePageData currentPage)
            {
               var property = currentPage.Property
            }
#220551
Apr 02, 2020 12:09
Vote:
0

So do you want to use the properties of the current page(not sure about parent page) on the block?

#220552
Apr 02, 2020 12:09
Vote:
0

Hi Ričardas,

You can try this extension method to retrieve the Ancestor and Self-content.

public static IEnumerable<IContent> GetAncestorsAndSelf(this IContentLoader contentLoader, IContent content, bool includeEntries = false)
{
            if (contentLoader == null || content == null)
                return Enumerable.Empty<IContent>();

            var ancestorsAndSelf = contentLoader.GetAncestors(content.ContentLink)?.Reverse().ToList() ?? new List<IContent>();

            if (includeEntries && content is IContent entry)
            {
                var ancestorEntriesAndSelf = contentLoader.GetAncestorEntriesAndSelf(entry);
                ancestorsAndSelf.AddRange(ancestorEntriesAndSelf);
            }
            else
            {
                ancestorsAndSelf.Add(content);
            }

            return ancestorsAndSelf;
}
#220562
Edited, Apr 02, 2020 19:20
- Oct 25, 2021 15:00
I cant find this GetAncestorEntriesAndSelf
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.