TypeError: Drupal\twig_tweak\TwigTweakExtension::drupalField(): Argument #3 ($id) must be of type string, null given.

Created on 23 August 2023, over 1 year ago

Problem/Motivation

TypeError: Drupal\twig_tweak\TwigTweakExtension::drupalField(): Argument #3 ($id) must be of type string, null given, called in /tmp/rolling/eff4609/twig/64dd67671ca9d_image-portrait-banner.twi_R4yX48U97XO5z8NssUk48BPvB/qFpSWzmJDEjqks8cUNdke8hWSdx6siNCebeysnm-A0Y.php on line 53 in Drupal\twig_tweak\TwigTweakExtension::drupalField() (line 198 of modules/contrib/twig_tweak/src/TwigTweakExtension.php).

Steps to reproduce

  1. Upgrade to D10
  2. Create content that has layout builder enabled.
  3. Add block in layout builder and save.
  4. Click layout tab.

Proposed resolution

Apply patch

πŸ› Bug report
Status

Active

Version

3.2

Component

Code

Created by

πŸ‡΅πŸ‡­Philippines _renify_ cebu

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @_renify_
  • πŸ‡΅πŸ‡­Philippines _renify_ cebu
  • πŸ‡΅πŸ‡­Philippines _renify_ cebu
  • Open in Jenkins β†’ Open on Drupal.org β†’
    Core: 10.1.x + Environment: PHP 8.1 & MariaDB 10.3.22
    last update over 1 year ago
    11 pass
  • πŸ‡·πŸ‡ΊRussia Chi

    There is no point to use this function when entity ID is not available.

  • Status changed to Closed: works as designed over 1 year ago
  • πŸ‡΅πŸ‡ͺPeru alyaj2a

    I applied patch #3 πŸ› TypeError: Drupal\twig_tweak\TwigTweakExtension::drupalField(): Argument #3 ($id) must be of type string, null given. Active in version 3.4.0 of this module, and it works fine for me. Thanks.

  • πŸ‡ΊπŸ‡ΈUnited States sidgrafix

    Discovered this issue caused a WSOD when using the label for a term reference field on a node content type when the display "teaser or Search result highlighting input" was returned by search_api_autocomplete. The fields "label" to be specific on a term field is what caused it. If the label is set to "hidden" there is no error but for my case the label is needed. The patch in 3 solved the issue. I would definitely call it a bug. Unfortunately I didn't check with other field type labels before adding the patch.

    Not sure if this would be related to: https://www.drupal.org/project/twig_tweak/issues/3416022 πŸ› TypeError: Drupal\twig_tweak\TwigTweakExtension::drupalEntity(): Argument #2 ($selector) must be of type string, null given Active in anyway?

    Here is the complete stacktrace:

    TypeError: Drupal\twig_tweak\TwigTweakExtension::drupalField(): Argument #3 ($id) must be of type string, null given, called in /var/www/html/web/sites/default/files/php/twig/68093005672bd_field--node--field-post-c_1dxwGW0rq6QHp22I2zcubv73d/9I1kIeqYP5zUj6GyCuJnTt8mmPQy-CxnEPr-ATX430A.php on line 150 in Drupal\twig_tweak\TwigTweakExtension::drupalField() (line 201 of /var/www/html/web/modules/contrib/twig_tweak/src/TwigTweakExtension.php).
    
    #0 /var/www/html/web/sites/default/files/php/twig/68093005672bd_field--node--field-post-c_1dxwGW0rq6QHp22I2zcubv73d/9I1kIeqYP5zUj6GyCuJnTt8mmPQy-CxnEPr-ATX430A.php(150): Drupal\twig_tweak\TwigTweakExtension::drupalField('name', 'taxonomy_term', NULL)
    #1 /var/www/html/vendor/twig/twig/src/Template.php(388): __TwigTemplate_1060d0dbb8b51ba29ae43dfe519ba4f7->doDisplay(Array, Array)
    #2 /var/www/html/vendor/twig/twig/src/Template.php(344): Twig\Template->yield(Array, Array)
    #3 /var/www/html/vendor/twig/twig/src/Template.php(359): Twig\Template->display(Array)
    #4 /var/www/html/vendor/twig/twig/src/TemplateWrapper.php(51): Twig\Template->render(Array)
    #5 /var/www/html/web/core/themes/engines/twig/twig.engine(33): Twig\TemplateWrapper->render(Array)
    #6 /var/www/html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(348): twig_render_template('themes/custom/s...', Array)
    #7 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(491): Drupal\Core\Theme\ThemeManager->render('field', Array)
    #8 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(504): Drupal\Core\Render\Renderer->doRender(Array)
    #9 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender(Array, false)
    #10 /var/www/html/web/core/lib/Drupal/Core/Template/TwigExtension.php(484): Drupal\Core\Render\Renderer->render(Array)
    #11 /var/www/html/web/sites/default/files/php/twig/68093005672bd_node--service-post--tease_qipRIAUDJJeWKekqc33HXELrX/OUB_buNXA_PMkYbnW74A0tLmsWLkzi5B5V5l7sIeM0E.php(86): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
    #12 /var/www/html/vendor/twig/twig/src/Template.php(388): __TwigTemplate_8d10e545594ce3504a0d9ba0400a00f9->doDisplay(Array, Array)
    #13 /var/www/html/vendor/twig/twig/src/Template.php(344): Twig\Template->yield(Array, Array)
    #14 /var/www/html/vendor/twig/twig/src/Template.php(359): Twig\Template->display(Array)
    #15 /var/www/html/vendor/twig/twig/src/TemplateWrapper.php(51): Twig\Template->render(Array)
    #16 /var/www/html/web/core/themes/engines/twig/twig.engine(33): Twig\TemplateWrapper->render(Array)
    #17 /var/www/html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(348): twig_render_template('themes/custom/s...', Array)
    #18 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(491): Drupal\Core\Theme\ThemeManager->render('node', Array)
    #19 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender(Array, true)
    #20 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(165): Drupal\Core\Render\Renderer->render(Array, true)
    #21 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(638): Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}()
    #22 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(164): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
    #23 /var/www/html/web/modules/contrib/search_api_autocomplete/src/Controller/AutocompleteController.php(163): Drupal\Core\Render\Renderer->renderInIsolation(Array)
    #24 /var/www/html/web/core/lib/Drupal/Component/Utility/DeprecationHelper.php(40): Drupal\search_api_autocomplete\Controller\AutocompleteController->Drupal\search_api_autocomplete\Controller\{closure}()
    #25 /var/www/html/web/modules/contrib/search_api_autocomplete/src/Controller/AutocompleteController.php(160): Drupal\Component\Utility\DeprecationHelper::backwardsCompatibleCall('10.4.6', '10.3.0', Object(Closure), Object(Closure))
    #26 [internal function]: Drupal\search_api_autocomplete\Controller\AutocompleteController->autocomplete(Object(Drupal\search_api_autocomplete\Entity\Search), Object(Symfony\Component\HttpFoundation\Request))
    #27 /var/www/html/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
    #28 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(638): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
    #29 /var/www/html/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(121): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
    #30 /var/www/html/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
    #31 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(181): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
    #32 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
    #33 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #34 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #35 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #36 /var/www/html/web/core/modules/big_pipe/src/StackMiddleware/ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #37 /var/www/html/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(116): Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #38 /var/www/html/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(90): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #39 /var/www/html/web/modules/contrib/advban/src/AdvbanMiddleware.php(57): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #40 /var/www/html/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\advban\AdvbanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #41 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #42 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #43 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #44 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #45 /var/www/html/web/core/lib/Drupal/Core/DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #46 /var/www/html/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
    #47 {main}
    

    Drupal 10.4.6
    PHP 8.3.15
    twig_tweak version 3.4.0

Production build 0.71.5 2024