public function PageManagerLayoutBuilderStorage::save in Page Manager 8.4
File
- src/
Plugin/ LayoutBuilderStorage/ PageManagerLayoutBuilderStorage.php, line 72
Class
- PageManagerLayoutBuilderStorage
- A Page Manager storage service that stores Layout Builder displays.
Namespace
Drupal\page_manager\Plugin\LayoutBuilderStorageCode
public function save(LayoutBuilderDisplayVariant $lb_display) {
$id = $lb_display
->getStorageId();
if ($id && ($page_variant = $this
->loadPageVariant($id))) {
$variant_plugin = $page_variant
->getVariantPlugin();
if (!$variant_plugin instanceof LayoutBuilderDisplayVariant) {
throw new \Exception("Page variant doesn't use a Layout Builder display variant");
}
$variant_plugin
->setConfiguration($lb_display
->getConfiguration());
$page_variant
->save();
}
else {
throw new \Exception("Couldn't find page variant to store Layout Builder display");
}
}