From a052bfd5909a70825dbc654dfd16204ea661cb1c Mon Sep 17 00:00:00 2001 From: Michal Kleiner Date: Thu, 22 Jun 2023 01:13:08 +1000 Subject: [PATCH] Add extension to correctly support element preview --- _config/extensions.yml | 9 +++++++ src/Extensions/BaseElementSubsites.php | 33 ++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 src/Extensions/BaseElementSubsites.php diff --git a/_config/extensions.yml b/_config/extensions.yml index 32731f5..976385f 100644 --- a/_config/extensions.yml +++ b/_config/extensions.yml @@ -64,3 +64,12 @@ SilverStripe\Subsites\Admin\SubsiteAdmin: SilverStripe\SiteConfig\SiteConfigLeftAndMain: extensions: - SilverStripe\Subsites\Extensions\SubsiteMenuExtension + +--- +Name: subsite-preview-elemental +Only: + classexists: DNADesign\Elemental\Models\BaseElement +--- +DNADesign\Elemental\Models\BaseElement: + extensions: + - SilverStripe\Subsites\Extensions\BaseElementSubsites diff --git a/src/Extensions/BaseElementSubsites.php b/src/Extensions/BaseElementSubsites.php new file mode 100644 index 0000000..02235b6 --- /dev/null +++ b/src/Extensions/BaseElementSubsites.php @@ -0,0 +1,33 @@ +owner->SubsiteID; + if (is_null($subsiteID)) { + $page = $this->owner->getPage(); + if ($page) { + $subsiteID = $page->SubsiteID; + } + } + + $link = HTTP::setGetVar('SubsiteID', intval($subsiteID), $link); + } +}