WorkspacesLayoutTempstoreRepository.php
Namespace
Drupal\workspacesFile
-
core/
modules/ workspaces/ src/ WorkspacesLayoutTempstoreRepository.php
View source
<?php
declare (strict_types=1);
namespace Drupal\workspaces;
use Drupal\layout_builder\LayoutTempstoreRepository;
use Drupal\layout_builder\SectionStorageInterface;
/**
* Provides a mechanism for loading workspace-specific layout changes.
*/
class WorkspacesLayoutTempstoreRepository extends LayoutTempstoreRepository {
/**
* The workspace manager.
*/
protected WorkspaceManagerInterface $workspaceManager;
/**
* Sets the workspace manager.
*
* @param \Drupal\workspaces\WorkspaceManagerInterface $workspace_manager
* The workspace manager service.
*/
public function setWorkspacesManager(WorkspaceManagerInterface $workspace_manager) : static {
$this->workspaceManager = $workspace_manager;
return $this;
}
/**
* {@inheritdoc}
*/
protected function getKey(SectionStorageInterface $section_storage) : string {
$key = parent::getKey($section_storage);
// Suffix the layout tempstore key with a workspace ID when one is active.
if ($this->workspaceManager
->hasActiveWorkspace()) {
$key .= '.workspace:' . $this->workspaceManager
->getActiveWorkspace()
->id();
}
return $key;
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
WorkspacesLayoutTempstoreRepository | Provides a mechanism for loading workspace-specific layout changes. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.