FIX allowed pagetypes displaying incorrectly when switching subsite

This patch depends on an update to the CMS module that provides this
extension point. The code is inert when matched with existing CMS
versions.
This commit is contained in:
Garion Herman 2019-05-31 10:40:22 +12:00
parent d1fc84d15c
commit 4d7641e16a
2 changed files with 23 additions and 0 deletions

View File

@ -50,6 +50,7 @@ SilverStripe\Admin\SecurityAdmin:
SilverStripe\CMS\Controllers\CMSMain:
extensions:
- SilverStripe\Subsites\Extensions\HintsCacheKeyExtension
- SilverStripe\Subsites\Extensions\SubsiteMenuExtension
SilverStripe\CMS\Controllers\CMSPagesController:

View File

@ -0,0 +1,22 @@
<?php
namespace SilverStripe\Subsites\Extensions;
use SilverStripe\CMS\Controllers\CMSMain;
use SilverStripe\Core\Extension;
use SilverStripe\Subsites\State\SubsiteState;
/**
* This extension adds the current Subsite ID as an additional factor to the Hints Cßache Key, which is used to cache
* the Site Tree Hints (which include allowed pagetypes).
*
* @package SilverStripe\Subsites\Extensions
* @see CMSMain::generateHintsCacheKey()
*/
class HintsCacheKeyExtension extends Extension
{
public function updateHintsCacheKey(&$baseKey)
{
$baseKey .= '_Subsite:' . SubsiteState::singleton()->getSubsiteId();
}
}