Skip to content

[Profiler] Custom DataCollector: Variable "name" does not exist. #57222

@cavias

Description

@cavias

Symfony version(s) affected

7.0.6

Description

I am trying to implement a custom DataCollector for the Profiler following the docs at https://symfony.com/doc/current/profiler.html#creating-a-data-collector

But I get many issues, including this Exception: Variable "name" does not exist. Also, I have to clear the cache a lot for things to happen. And when there's a fault in the template which it disagrees with, there's rarely a workable exception which says what's wrong - the new toolbar item is simply gone.

I am literally copy-pasting the code defined in the documentation.

How to reproduce

Get the following project running locally via symfony serve: profilerissue.zip

Open the app in the browser, see the new Request tab in the Profiler toolbar, and click it. Should show the error.

This is made by following instructions here: https://symfony.com/doc/current/profiler.html#creating-a-data-collector

Possible Solution

No response

Additional Context

Exception details
Twig\Error\RuntimeError {#753 ▼
  -lineno: 1
  -name: "@WebProfiler/Profiler/toolbar_item.html.twig"
  -rawMessage: "Variable "name" does not exist."
  -sourcePath: "/var/www/html/vendor/symfony/web-profiler-bundle/Resources/views/Profiler/toolbar_item.html.twig"
  -sourceCode: """
    <div class="sf-toolbar-block sf-toolbar-block-{{ name }} sf-toolbar-status-{{ status|default('normal') }} {{ additional_classes|default('') }}" {{ block_attrs|d
 ▶

        {% if link is not defined or link %}<a href="{{ url('_profiler', { token: token, panel: name }) }}">{% endif %}


            <div class="sf-toolbar-icon">{{ icon|default('') }}</div>


        {% if link|default(false) %}</a>{% endif %}


            <div class="sf-toolbar-info">{{ text|default('') }}</div>


    </div>


    """
}
Exception stacktrace
Twig\Error\RuntimeError:
Variable "name" does not exist.

  at /var/www/html/vendor/symfony/web-profiler-bundle/Resources/views/Profiler/toolbar_item.html.twig:1
  at __TwigTemplate_c24b049d3f499d025a9a98b2c230c037->{closure}()
     (/var/www/html/var/cache/dev/twig/91/91c1ccba92d213534772016368d36b61.php:44)
  at __TwigTemplate_c24b049d3f499d025a9a98b2c230c037->doDisplay()
     (/var/www/html/vendor/twig/twig/src/Template.php:394)
  at Twig\Template->displayWithErrorHandling()
     (/var/www/html/vendor/twig/twig/src/Template.php:367)
  at Twig\Template->display()
     (/var/www/html/vendor/twig/twig/src/Template.php:379)
  at Twig\Template->render()
     (/var/www/html/vendor/twig/twig/src/TemplateWrapper.php:38)
  at Twig\TemplateWrapper->render()
     (/var/www/html/vendor/twig/twig/src/Extension/CoreExtension.php:1347)
  at twig_include()
     (/var/www/html/var/cache/dev/twig/94/9447d6614deac369baf0f540433d26d9.php:117)
  at __TwigTemplate_121ae65cc4b883001fc4bcf9db8351a8->block_toolbar()
     (/var/www/html/vendor/twig/twig/src/Template.php:171)
  at Twig\Template->displayBlock()
     (/var/www/html/var/cache/dev/twig/94/9447d6614deac369baf0f540433d26d9.php:46)
  at __TwigTemplate_121ae65cc4b883001fc4bcf9db8351a8->doDisplay()
     (/var/www/html/vendor/twig/twig/src/Template.php:394)
  at Twig\Template->displayWithErrorHandling()
     (/var/www/html/vendor/twig/twig/src/Template.php:367)
  at Twig\Template->display()
     (/var/www/html/vendor/twig/twig/src/Template.php:379)
  at Twig\Template->render()
     (/var/www/html/vendor/twig/twig/src/TemplateWrapper.php:38)
  at Twig\TemplateWrapper->render()
     (/var/www/html/vendor/twig/twig/src/Environment.php:280)
  at Twig\Environment->render()
     (/var/www/html/vendor/symfony/web-profiler-bundle/Controller/ProfilerController.php:411)
  at Symfony\Bundle\WebProfilerBundle\Controller\ProfilerController->renderWithCspNonces()
     (/var/www/html/vendor/symfony/web-profiler-bundle/Controller/ProfilerController.php:111)
  at Symfony\Bundle\WebProfilerBundle\Controller\ProfilerController->panelAction()
     (/var/www/html/vendor/symfony/http-kernel/HttpKernel.php:178)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (/var/www/html/vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (/var/www/html/vendor/symfony/http-kernel/Kernel.php:185)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (/var/www/html/public/index.php:47)                

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions