Overview

The site has Drupal 11.3.3, Canvas 1.2.0, and content types use layout builder enabled to manage display. The error occurs when selecting the manage layout button.

The website encountered an unexpected error. Try again later.

DBlog reports:
location: /admin/structure/types/manage/page/display/default/layout
referrer: /admin/structure/types/manage/page/display

TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in count() (line 19 of /code/web/modules/contrib/canvas/src/Plugin/Field/FieldTypeOverride/CoreBugFixTextItemBaseGenerateSampleValueTrait.php).

Proposed resolution

User interface changes

Issue fork canvas-3576410

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

bsnodgrass created an issue. See original summary.

bsnodgrass’s picture

FWIW This is an old site originally built in Drupal 8 and maintained on a regular basis. We are currently in the process of updating to use Drupal Canvas and a new theme.

#0 /code/web/modules/contrib/canvas/src/Plugin/Field/FieldTypeOverride/CoreBugFixTextItemBaseGenerateSampleValueTrait.php(19): count()
#1 /code/web/core/lib/Drupal/Core/Field/FieldItemList.php(257): Drupal\canvas\Plugin\Field\FieldTypeOverride\TextWithSummaryItemOverride::generateSampleValue()
#2 /code/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(252): Drupal\Core\Field\FieldItemList->generateSampleItems()
#3 /code/web/core/modules/layout_builder/src/Entity/LayoutBuilderSampleEntityGenerator.php(55): Drupal\Core\Entity\ContentEntityStorageBase->createWithSampleValues()
#4 /code/web/core/modules/layout_builder/src/Plugin/SectionStorage/DefaultsSectionStorage.php(236): Drupal\layout_builder\Entity\LayoutBuilderSampleEntityGenerator->get()
#5 /code/web/core/modules/layout_builder/src/Context/LayoutBuilderContextTrait.php(51): Drupal\layout_builder\Plugin\SectionStorage\DefaultsSectionStorage->getContextsDuringPreview()
#6 /code/web/core/modules/layout_builder/src/Element/LayoutBuilder.php(310): Drupal\layout_builder\Element\LayoutBuilder->getPopulatedContexts()
#7 /code/web/core/modules/layout_builder/src/Element/LayoutBuilder.php(197): Drupal\layout_builder\Element\LayoutBuilder->buildAdministrativeSection()
#8 /code/web/core/modules/layout_builder/src/Element/LayoutBuilder.php(171): Drupal\layout_builder\Element\LayoutBuilder->layout()
#9 [internal function]: Drupal\layout_builder\Element\LayoutBuilder->preRender()
#10 /code/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(107): call_user_func_array()
#11 /code/web/core/lib/Drupal/Core/Render/Renderer.php(910): Drupal\Core\Render\Renderer->doTrustedCallback()
#12 /code/web/core/lib/Drupal/Core/Render/Renderer.php(441): Drupal\Core\Render\Renderer->doCallback()
#13 /code/web/core/lib/Drupal/Core/Render/Renderer.php(230): Drupal\Core\Render\Renderer->doRender()
#14 /code/web/core/modules/layout_builder/src/Element/LayoutBuilder.php(139): Drupal\Core\Render\Renderer->render()
#15 [internal function]: Drupal\layout_builder\Element\LayoutBuilder::renderLayoutBuilderAfterForm()
#16 /code/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(107): call_user_func_array()
#17 /code/web/core/lib/Drupal/Core/Render/Renderer.php(910): Drupal\Core\Render\Renderer->doTrustedCallback()
#18 /code/web/core/lib/Drupal/Core/Render/Renderer.php(441): Drupal\Core\Render\Renderer->doCallback()
#19 /code/web/core/lib/Drupal/Core/Render/Renderer.php(230): Drupal\Core\Render\Renderer->doRender()
#20 /code/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(242): Drupal\Core\Render\Renderer->render()
#21 /code/web/core/lib/Drupal/Core/Render/Renderer.php(634): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
#22 [internal function]: Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
#23 /code/web/core/lib/Drupal/Core/Render/Renderer.php(649): Fiber->resume()
#24 /code/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(235): Drupal\Core\Render\Renderer->executeInRenderContext()
#25 /code/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(131): Drupal\Core\Render\MainContent\HtmlRenderer->prepare()
#26 /code/web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse()
#27 /code/vendor/symfony/event-dispatcher/EventDispatcher.php(246): Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
#28 /code/vendor/symfony/event-dispatcher/EventDispatcher.php(206): Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}()
#29 /code/vendor/symfony/event-dispatcher/EventDispatcher.php(56): Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
#30 /code/vendor/symfony/http-kernel/HttpKernel.php(188): Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
#31 /code/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
#32 /code/web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle()
#33 /code/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
#34 /code/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
#35 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(118): Drupal\Core\StackMiddleware\ContentLength->handle()
#36 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(92): Drupal\page_cache\StackMiddleware\PageCache->pass()
#37 /code/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle()
#38 /code/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
#39 /code/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(53): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
#40 /code/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(54): Drupal\Core\StackMiddleware\AjaxPageState->handle()
#41 /code/web/core/lib/Drupal/Core/DrupalKernel.php(745): Drupal\Core\StackMiddleware\StackedHttpKernel->handle()
#42 /code/web/index.php(19): Drupal\Core\DrupalKernel->handle()
#43 {main}

nickolaj made their first commit to this issue’s fork.

nickolaj’s picture

Status: Active » Needs review

Replace `count($settings['allowed_formats'])` with `!empty($settings['allowed_formats'])` in `CoreBugFixTextItemBaseGenerateSampleValueTrait.php` to handle null `allowed_formats` setting, which causes a TypeError on the Manage Display page for non-Canvas view modes.