Version: current

# Class SiteTreeDecorator

Plug-ins for additional functionality in your SiteTree classes.

  Extension
  DataObjectDecorator
  SiteTreeDecorator

### Direct known subclasses

`AssociatedFolderDecorator`, `GoogleSitemapDecorator`, `SiteTreeSubsites`

Abstract
Package: sapphire\model
Located at sapphire/core/model/SiteTreeDecorator.php

## Methods summary

`public` | # `onBeforePublish( mixed & $original )` #### Used by ``SiteTree::doPublish()``
`public` | # `onAfterPublish( mixed & $original )` #### Used by ``SiteTree::doPublish()``
`public` | # `onBeforeUnpublish( )` #### Used by ``SiteTree::doUnpublish()``
`public` | # `onAfterUnpublish( )` #### Used by ``SiteTree::doUnpublish()``
`public` | # `canAddChildren( mixed $member )` #### Used by ``Page::canAddChildren()`` ``SiteTree::canAddChildren()``
`public` | # `canPublish( mixed $member )` #### Used by ``SiteTree::canPublish()``

### Methods inherited from DataObjectDecorator

`augmentDatabase()`, `augmentSQL()`, `augmentWrite()`, `can()`, `canCreate()`, `canDelete()`, `canEdit()`, `extraStatics()`, `flushCache()`, `load_extra_statics()`, `onAfterDelete()`, `onAfterWrite()`, `onBeforeDelete()`, `onBeforeWrite()`, `populateDefaults()`, `requireDefaultRecords()`, `updateCMSActions()`, `updateCMSFields()`, `updateFieldLabels()`, `updateFrontEndFields()`, `updateSummaryFields()`

### Methods inherited from Extension

`__construct()`, `clearOwner()`, `getOwner()`, `get_classname_without_arguments()`, `setOwner()`

### Magic methods summary

## Properties summary

### Properties inherited from DataObjectDecorator

`$decoratable_statics`

### Properties inherited from Extension

`$allowed_actions`, `$class`, `$owner`, `$ownerBaseClass`

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -