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);