Jump to:

17488 Posts in 4473 Topics by 1978 members

Archive

SilverStripe Forums » Archive » How do I get the Page Type of the Parent.

Our old forums are still available as a read-only archive.

Moderators: martimiz, Howard, Sean, Ryan M., biapar, Willr, Ingo

Page: 1
Go to End
Author Topic: 2440 Views
  • micahsheets
    Avatar
    Community Member
    158 Posts

    How do I get the Page Type of the Parent. Link to this post

    I would like to know how to get the Page Type of the Parent of the current page. All my level(2) pages are of the same page type, however the parent pages are of various types. I need to make changes in the child pages based on what the parent page's page type is.

    I want to do this in the Class php file not in the template so <% control Parent %> won't work for me.

  • Sam
    Avatar
    Administrator
    660 Posts

    Re: How do I get the Page Type of the Parent. Link to this post

    <% control Parent %> just calls $this->Parent() if that method exists, or $this->Parent if the method doesn't.

    So, to do what you want, use:

    $this->Parent()->ClassName

  • micahsheets
    Avatar
    Community Member
    158 Posts

    Re: How do I get the Page Type of the Parent. Link to this post

    Thank you for your answer. I am still trying to get a handle on PHP classes and how inheritance works. I assume that $this is a reference to the current page being displayed. However it seems that if I get the value of $this in the page, it is different than if I get the value in the page_controller. In the case of

    $this->Parent()->ClassName

    ,

    do I call it in the page or controller and why?

    2440 Views
Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.