This package is abandoned and no longer maintained. The author suggests using the package instead.

Allows you to inheritage information from the parent pages

0.2.5 2018-04-20 10:18 UTC

This package is auto-updated.

Last update: 2023-04-05 05:22:37 UTC


Allows you to inherit any property from parent pages (any level). Check out the usage example to see how it works.


  • Loading information from direct or indirect parent page.

  • This is only tested for db-fields. Has_one or has_many hasn't be confirmed.*


The following example shows a possible use case of two page types which have a fixed position in the information architecture and using inheritage to get the "color" field to the sublanding page.

 * In the SiteTree this page will be directly under the homepage.
 * URL structure /landing
class LandingPage extends Page
     * @var array
    $db = [
        'Color' => 'Varchar',
class LandingPage_Controller extends Page_Controller
    /* ... */
 * In the SiteTree this page will be directly under the landing page.
 * URL structure /landing/sublanding
class SubLandingPage extends Page
    /* ... */
class SubLandingPage_Controller extends Page_Controller
    /* ... */

in you can do this now:

<% cached 'color', $Top.ID, $Top.LastEdited %>
<% end_cached %>

to retrieve the Color value set on the parent. Please ensure you apply suitable caching to any calls.

Requirements and installation


  • SilverStripe Framework and CMS ^3.0


  1. Run the following command to install the package:

    # install the package
    composer require bringyourownideas/inheritage-by-sitetree;
    git add composer.json composer.lock;
    git commit -m 'MINOR: adding inheritage-by-sitetree';
  2. Set up your Extension

    This can be done either via a yml configuration file (e.g. mysite/_config/config.yml):


    or by checking the InheritageBySiteTreeExtension.php and adding the "non-extension" version of the module to your Page.php-file. The second option is more performant.

  3. Run dev/build to load extension

    # run dev/build to load extension
    php ./framework/cli-script.php dev/build

misc: future ideas/development, issues, contrib, license

This project is supported by bring your own ideas Ltd.. Bring Your Own Ideas Ltd. helps you to make your project ideas to reality.

bring your own ideas