+ // Set block access dependency even if we are not checking access on
+ // this level. The block itself may render another
+ // RefinableDependentAccessInterface object and need to pass on this value.
+ if ($block instanceof RefinableDependentAccessInterface) {
+ $contexts = $event->getContexts();
+ if (isset($contexts['layout_builder.entity'])) {
+ if ($entity = $contexts['layout_builder.entity']->getContextValue()) {
+ if ($event->inPreview()) {
+ // If previewing in Layout Builder allow access.
+ $block->setAccessDependency(new LayoutPreviewAccessAllowed());
+ }
+ else {
+ $block->setAccessDependency($entity);
+ }
+ }
+ }
+ }
+