Hello,
I'm encountering a strange behavior whenever I enable a context rule in D8 and am wondering if anyone else has encountered anything similar or would have an insight on where to begin troubleshooting.
I created a context with condition=node type and reaction=block. When that rule is enabled, the block is placed correctly but:
-- all other blocks that have been placed (via the block system) disappear, and in effect the entire site wrapper (header and footer vanish. Please see attached screenshots before and after context rule is enabled.
This occurs no matter what theme is enabled, or what block is chosen or where it is placed in the reaction. The error log displays a series of errors along the following lines when this occurs. but I am having a hard time figuring out what may be happening, see below.
Notice: Undefined index: type in Drupal\Core\Entity\Sql\SqlContentEntityStorage->mapFromStorageRecords() (line 528 of /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php) #0 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/includes/bootstrap.inc(587): _drupal_error_handler_real(8, 'Undefined index...', '/Users/tomc/Sit...', 528, Array) #1 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(528): _drupal_error_handler(8, 'Undefined index...', '/Users/tomc/Sit...', 528, Array) #2 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(449): Drupal\Core\Entity\Sql\SqlContentEntityStorage->mapFromStorageRecords(Array) #3 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(415): Drupal\Core\Entity\Sql\SqlContentEntityStorage->getFromStorage(Array) #4 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Entity/EntityStorageBase.php(292): Drupal\Core\Entity\Sql\SqlContentEntityStorage->doLoadMultiple(Array) #5 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Entity/EntityStorageBase.php(250): Drupal\Core\Entity\EntityStorageBase->loadMultiple(Array) #6 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReference.php(72): Drupal\Core\Entity\EntityStorageBase->load('39161') #7 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/TypedData/DataReferenceBase.php(37): Drupal\Core\Entity\Plugin\DataType\EntityReference->getTarget() #8 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Field/FieldItemBase.php(140): Drupal\Core\TypedData\DataReferenceBase->getValue() #9 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/modules/contrib/file_entity/file_entity.module(414): Drupal\Core\Field\FieldItemBase->__get('entity') #10 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(805): file_entity_entity_storage_load(Array, 'node') #11 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(416): Drupal\Core\Entity\ContentEntityStorageBase->invokeStorageLoadHook(Array) #12 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Entity/EntityStorageBase.php(292): Drupal\Core\Entity\Sql\SqlContentEntityStorage->doLoadMultiple(Array) #13 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/modules/views/src/Plugin/views/query/Sql.php(1610): Drupal\Core\Entity\EntityStorageBase->loadMultiple(Array) #14 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/modules/views/src/Plugin/views/query/Sql.php(1535): Drupal\views\Plugin\views\query\Sql->loadEntities(Array) #15 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/modules/views/src/ViewExecutable.php(1426): Drupal\views\Plugin\views\query\Sql->execute(Object(Drupal\views\ViewExecutable)) #16 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/modules/views/src/ViewExecutable.php(1454): Drupal\views\ViewExecutable->execute(NULL) #17 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/modules/views/src/Plugin/views/display/Block.php(131): Drupal\views\ViewExecutable->render() #18 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/modules/views/src/ViewExecutable.php(1630): Drupal\views\Plugin\views\display\Block->execute() #19 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/modules/views/src/Element/View.php(77): Drupal\views\ViewExecutable->executeDisplay('block_1', Array) #20 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/modules/views/src/Plugin/Block/ViewsBlock.php(59): Drupal\views\Element\View::preRenderViewElement(Array) #21 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/modules/block/src/BlockViewBuilder.php(163): Drupal\views\Plugin\Block\ViewsBlock->build() #22 [internal function]: Drupal\block\BlockViewBuilder::preRender(Array) #23 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Render/Renderer.php(378): call_user_func('Drupal\\block\\Bl...', Array) #24 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Render/Renderer.php(450): Drupal\Core\Render\Renderer->doRender(Array) #25 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #26 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Template/TwigExtension.php(501): Drupal\Core\Render\Renderer->render(Array) #27 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/sites/default/files/php/twig/5d499413e0c14_page.html.twig_wB9x3zG7SmugOPGxANZcd3k7F/Qlr59Sfxq5-I945OElrbti99ypZXc5XU2wwSp8sReOY.php(318): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true) #28 /Users/tomc/Sites/devdesktop/d8migration-ode5/vendor/twig/twig/src/Template.php(216): __TwigTemplate_fc3981ae3f5331102b48309109d412c7d7e47a967a43646792c68ebd4d3c9b2e->block_sidebar_second(Array, Array) #29 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/sites/default/files/php/twig/5d499413e0c14_page.html.twig_wB9x3zG7SmugOPGxANZcd3k7F/Qlr59Sfxq5-I945OElrbti99ypZXc5XU2wwSp8sReOY.php(243): Twig\Template->displayBlock('sidebar_second', Array, Array) #30 /Users/tomc/Sites/devdesktop/d8migration-ode5/vendor/twig/twig/src/Template.php(216): __TwigTemplate_fc3981ae3f5331102b48309109d412c7d7e47a967a43646792c68ebd4d3c9b2e->block_main(Array, Array) #31 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/sites/default/files/php/twig/5d499413e0c14_page.html.twig_wB9x3zG7SmugOPGxANZcd3k7F/Qlr59Sfxq5-I945OElrbti99ypZXc5XU2wwSp8sReOY.php(75): Twig\Template->displayBlock('main', Array, Array) #32 /Users/tomc/Sites/devdesktop/d8migration-ode5/vendor/twig/twig/src/Template.php(455): __TwigTemplate_fc3981ae3f5331102b48309109d412c7d7e47a967a43646792c68ebd4d3c9b2e->doDisplay(Array, Array) #33 /Users/tomc/Sites/devdesktop/d8migration-ode5/vendor/twig/twig/src/Template.php(422): Twig\Template->displayWithErrorHandling(Array, Array) #34 /Users/tomc/Sites/devdesktop/d8migration-ode5/vendor/twig/twig/src/Template.php(434): Twig\Template->display(Array) #35 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/themes/engines/twig/twig.engine(64): Twig\Template->render(Array) #36 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('themes/contrib/...', Array) #37 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Render/Renderer.php(437): Drupal\Core\Theme\ThemeManager->render('page', Array) #38 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #39 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Template/TwigExtension.php(501): Drupal\Core\Render\Renderer->render(Array) #40 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/sites/default/files/php/twig/5d499413e0c14_html.html.twig_DiR2vUes9dYzoF81dsXjGeK3N/MwIduiIAwuIH6CcKoR4WvW1356D7ga2V0o50H3Sw9x0.php(102): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true) #41 /Users/tomc/Sites/devdesktop/d8migration-ode5/vendor/twig/twig/src/Template.php(455): __TwigTemplate_ae10630bbc720516848e27bb5dd4e2c1aebe0220299df30b0ddd5475e6aa0d63->doDisplay(Array, Array) #42 /Users/tomc/Sites/devdesktop/d8migration-ode5/vendor/twig/twig/src/Template.php(422): Twig\Template->displayWithErrorHandling(Array, Array) #43 /Users/tomc/Sites/devdesktop/d8migration-ode5/vendor/twig/twig/src/Template.php(434): Twig\Template->display(Array) #44 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/themes/engines/twig/twig.engine(64): Twig\Template->render(Array) #45 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('themes/contrib/...', Array) #46 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Render/Renderer.php(437): Drupal\Core\Theme\ThemeManager->render('html', Array) #47 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #48 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(147): Drupal\Core\Render\Renderer->render(Array) #49 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Render/Renderer.php(582): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() #50 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(148): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure)) #51 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch)) #52 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #53 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #54 /Users/tomc/Sites/devdesktop/d8migration-ode5/vendor/symfony/http-kernel/HttpKernel.php(156): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent)) #55 /Users/tomc/Sites/devdesktop/d8migration-ode5/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #56 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #57 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #58 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #59 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true) #60 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #61 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #62 /Users/tomc/Sites/devdesktop/d8migration-ode5/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #63 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/core/lib/Drupal/Core/DrupalKernel.php(693): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #64 /Users/tomc/Sites/devdesktop/d8migration-ode5/docroot/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #65 {main}.
| Comment | File | Size | Author |
|---|---|---|---|
| after-context.png | 967.74 KB | tconnell | |
| before-context.png | 1.09 MB | tconnell |
Comments
Comment #2
drupal_josh commentedI just ran into a similar issue and found the problem! Check any remaining active contexts and see if the "Include blocks from Block layout" setting is checked in the "Reactions" part of the context form.
In my situation, I had multiple contexts on most pages so everything was working fine since most of my contexts had that "Include blocks from Block layout" setting checked off. But for one page in particular the client wanted to disable something and it made all the blocks placed from the "block layout" disappear, just how your pic showed. Turns out, that for that page I only had two contexts left (header and footer) and both of those didn't have the "Include blocks from Block layout" checked off.
So from what I can deduce, at least one context needs to have "Include blocks from Block layout" checked off, otherwise all your blocks from the main block layout page will disappear.
Comment #3
tconnell commenteddrupal_josh: This worked perfectly and I completely overlooked it. Thanks very much!
Tom
Comment #4
arnaldopSeems like everyone is happy.