diff --git a/code/model/SiteTree.php b/code/model/SiteTree.php index c632a677..2d5308ca 100755 --- a/code/model/SiteTree.php +++ b/code/model/SiteTree.php @@ -7,7 +7,7 @@ * In addition, it contains a number of static methods for querying the site tree. * @package cms */ -class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvider { +class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvider,CMSPreviewable { /** * Indicates what kind of children this page type can have. @@ -453,6 +453,13 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid } } + /** + * @return String + */ + function CMSEditLink() { + return Controller::join_links(singleton('CMSPageEditController')->Link('show'), $this->ID); + } + /** * Return a CSS identifier generated from this page's link. @@ -1270,7 +1277,10 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid $tags .= $this->ExtraMeta . "\n"; } - if(Permission::check('CMS_ACCESS_CMSMain')) $tags .= "\n"; + if(Permission::check('CMS_ACCESS_CMSMain') && in_array('CMSPreviewable', class_implements($this))) { + $tags .= "ID}\" />\n"; + $tags .= "CMSEditLink() . "\" />\n"; + } $this->extend('MetaTags', $tags);