Error 500 Internal Server Error

GET https://client.ticket-cms.ru/kontakty

Exceptions

Unknown "get_key_page" function in pages/contacts.html.twig at line 3.

Exception

Twig\Error\ SyntaxError

Show exception properties
Twig\Error\SyntaxError {#1291
  -lineno: 3
  -rawMessage: "Unknown "get_key_page" function."
  -source: Twig\Source {#865
    -code: """
      {% extends 'base.html.twig' %}\n
      \n
      {% set page = get_key_page('contacts') %}\n
      \n
      {% set head_title = page and page['seo_title'] ? page['seo_title'] : 'Контакты' %}\n
      \n
      {% set head_description = page and page['seo_description'] ? page['seo_description'] : '' %}\n
      \n
      {% block content %}\n
      \n
      <div class="contacts ticket-item_style">\n
          <div class="container">\n
              {% include 'includes/breadcrumbs.html.twig' with {\n
                  'breadcrumbs': [\n
                      {\n
                          name: 'Контакты',\n
                      }\n
                  ]\n
              } %}\n
          </div>\n
      \n
          <div class="container">\n
      \n
              <div class="subtitle-wrap">\n
                  <h1 class="subtitle">Контакты</h1>\n
              </div>\n
      \n
              <div class="contacts__content">\n
      \n
                  <div class="contacts__info">\n
      \n
                      <div class="contacts__item">\n
                          <div class="contacts__title">Телефон:</div>\n
      \n
                          <a href="tel:{{ domain.phone|replace('/[^0-9]/', '')|replace('/^8|^7/', '+7') }}" class="contacts__link">\n
                              {{ domain.phone }}\n
                          </a>\n
                      </div>\n
      \n
                      <div class="contacts__item">\n
                          <div class="contacts__title">Почта:</div>\n
      \n
                          <a href="mailto:info@{{ domain.name }}" class="contacts__link">\n
                              info@{{ domain.name }}\n
                          </a>\n
                      </div>\n
      \n
                  </div>\n
              </div>\n
      \n
          </div>\n
      </div>\n
      \n
      {% endblock %}
      """
    -name: "pages/contacts.html.twig"
    -path: "/var/www/scms-client/templates/pages/contacts.html.twig"
  }
  -phpFile: "/var/www/scms-client/vendor/twig/twig/src/Parser.php"
  -phpLine: 446
}
  1. {% extends 'base.html.twig' %}
  2. {% set page = get_key_page('contacts') %}
  3. {% set head_title = page and page['seo_title'] ? page['seo_title'] : 'Контакты' %}
  4. {% set head_description = page and page['seo_description'] ? page['seo_description'] : '' %}
  1.             return new MacroReferenceExpression($alias['node']->getNode('var'), $alias['name'], $this->parseCallableArguments($parser$linefalse), $line);
  2.         }
  3.         $args $this->parseNamedArguments($parserfalse);
  4.         $function $parser->getFunction($name$line);
  5.         if ($function->getParserCallable()) {
  6.             $fakeNode = new EmptyNode($line);
  7.             $fakeNode->setSourceContext($parser->getStream()->getSourceContext());
in vendor/twig/twig/src/Parser.php -> parse (line 384)
  1.         }
  2.         $token $this->getCurrentToken();
  3.         while ($token->test(Token::OPERATOR_TYPE) && ($ep $this->parsers->getByName(InfixExpressionParserInterface::class, $token->getValue())) && $ep->getPrecedence() >= $precedence) {
  4.             $this->getStream()->next();
  5.             $expr $ep->parse($this$expr$token);
  6.             $this->checkPrecedenceDeprecations($ep$expr);
  7.             $token $this->getCurrentToken();
  8.         }
  9.         return $expr;
  1.     private function parseMultitargetExpression(): Nodes
  2.     {
  3.         $targets = [];
  4.         while (true) {
  5.             $targets[] = $this->parser->parseExpression();
  6.             if (!$this->parser->getStream()->nextIf(Token::PUNCTUATION_TYPE',')) {
  7.                 break;
  8.             }
  9.         }
in vendor/twig/twig/src/TokenParser/SetTokenParser.php -> parseMultitargetExpression (line 42)
  1.         $stream $this->parser->getStream();
  2.         $names $this->parseAssignmentExpression();
  3.         $capture false;
  4.         if ($stream->nextIf(Token::OPERATOR_TYPE'=')) {
  5.             $values $this->parseMultitargetExpression();
  6.             $stream->expect(Token::BLOCK_END_TYPE);
  7.             if (\count($names) !== \count($values)) {
  8.                 throw new SyntaxError('When using set, you must have the same number of variables and assignments.'$stream->getCurrent()->getLine(), $stream->getSourceContext());
in vendor/twig/twig/src/Parser.php -> parse (line 218)
  1.                     }
  2.                     $this->stream->next();
  3.                     $subparser->setParser($this);
  4.                     $node $subparser->parse($token);
  5.                     if (!$node) {
  6.                         trigger_deprecation('twig/twig''3.12''Returning "null" from "%s" is deprecated and forbidden by "TokenParserInterface".'$subparser::class);
  7.                     } else {
  8.                         $node->setNodeTag($subparser->getTag());
  9.                         $rv[] = $node;
in vendor/twig/twig/src/Parser.php -> subparse (line 101)
  1.         $this->importedSymbols = [[]];
  2.         $this->embeddedTemplates = [];
  3.         $this->expressionRefs = new \WeakMap();
  4.         try {
  5.             $body $this->subparse($test$dropNeedle);
  6.             if (null !== $this->parent && null === $body $this->filterBodyNodes($body)) {
  7.                 $body = new EmptyNode();
  8.             }
  9.         } catch (SyntaxError $e) {
  1.     {
  2.         if (null === $this->parser) {
  3.             $this->parser = new Parser($this);
  4.         }
  5.         return $this->parser->parse($stream);
  6.     }
  7.     /**
  8.      * @return void
  9.      */
  1.      * @throws SyntaxError When there was an error during tokenizing, parsing or compiling
  2.      */
  3.     public function compileSource(Source $source): string
  4.     {
  5.         try {
  6.             return $this->compile($this->parse($this->tokenize($source)));
  7.         } catch (Error $e) {
  8.             $e->setSourceContext($source);
  9.             throw $e;
  10.         } catch (\Exception $e) {
  11.             throw new SyntaxError(\sprintf('An exception has been thrown during the compilation of a template ("%s").'$e->getMessage()), -1$source$e);
in vendor/twig/twig/src/Environment.php -> compileSource (line 408)
  1.                 $this->cache->load($key);
  2.             }
  3.             if (!class_exists($clsfalse)) {
  4.                 $source $this->getLoader()->getSourceContext($name);
  5.                 $content $this->compileSource($source);
  6.                 if (!isset($this->hotCache[$name])) {
  7.                     $this->cache->write($key$content);
  8.                     $this->cache->load($key);
  9.                 }
in vendor/twig/twig/src/Environment.php -> loadTemplate (line 370)
  1.             trigger_deprecation('twig/twig''3.9''Passing a "%s" instance to "%s" is deprecated.'self::class, __METHOD__);
  2.             return $name;
  3.         }
  4.         return new TemplateWrapper($this$this->loadTemplate($this->getTemplateClass($name), $name));
  5.     }
  6.     /**
  7.      * Loads a template internal representation.
  8.      *
  1.      * @throws SyntaxError  When an error occurred during compilation
  2.      * @throws RuntimeError When an error occurred during rendering
  3.      */
  4.     public function render($name, array $context = []): string
  5.     {
  6.         return $this->load($name)->render($context);
  7.     }
  8.     /**
  9.      * Displays a template.
  10.      *
  1.         if (null !== $block) {
  2.             return $this->container->get('twig')->load($view)->renderBlock($block$parameters);
  3.         }
  4.         return $this->container->get('twig')->render($view$parameters);
  5.     }
  6.     private function doRender(string $view, ?string $block, array $parameters, ?Response $responsestring $method): Response
  7.     {
  8.         $content $this->doRenderView($view$block$parameters$method);
  1.         return $this->container->get('twig')->render($view$parameters);
  2.     }
  3.     private function doRender(string $view, ?string $block, array $parameters, ?Response $responsestring $method): Response
  4.     {
  5.         $content $this->doRenderView($view$block$parameters$method);
  6.         $response ??= new Response();
  7.         if (200 === $response->getStatusCode()) {
  8.             foreach ($parameters as $v) {
  9.                 if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
  1.      * If an invalid form is found in the list of parameters, a 422 status code is returned.
  2.      * Forms found in parameters are auto-cast to form views.
  3.      */
  4.     protected function render(string $view, array $parameters = [], ?Response $response null): Response
  5.     {
  6.         return $this->doRender($viewnull$parameters$response__FUNCTION__);
  7.     }
  8.     /**
  9.      * Renders a block in a view.
  10.      *
AbstractController->render() in src/Controller/Web/PageController.php (line 63)
  1.     }
  2.     #[Route(path"/kontakty"name"contacts")]
  3.     public function contacts(): Response
  4.     {
  5.         return $this->render('pages/contacts.html.twig');
  6.     }
  7.     #[Route(path"/loyalty-program"name"loyalty-program")]
  8.     public function loyaltyProgram(): Response
  9.     {
  1.         $this->dispatcher->dispatch($eventKernelEvents::CONTROLLER_ARGUMENTS);
  2.         $controller $event->getController();
  3.         $arguments $event->getArguments();
  4.         // call controller
  5.         $response $controller(...$arguments);
  6.         // view
  7.         if (!$response instanceof Response) {
  8.             $event = new ViewEvent($this$request$type$response$event);
  9.             $this->dispatcher->dispatch($eventKernelEvents::VIEW);
  1.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2.         $this->requestStack->push($request);
  3.         $response null;
  4.         try {
  5.             return $response $this->handleRaw($request$type);
  6.         } catch (\Throwable $e) {
  7.             if ($e instanceof \Error && !$this->handleAllThrowables) {
  8.                 throw $e;
  9.             }
  1.         $this->boot();
  2.         ++$this->requestStackSize;
  3.         $this->resetServices true;
  4.         try {
  5.             return $this->getHttpKernel()->handle($request$type$catch);
  6.         } finally {
  7.             --$this->requestStackSize;
  8.         }
  9.     }
  1.     ) {
  2.     }
  3.     public function run(): int
  4.     {
  5.         $response $this->kernel->handle($this->request);
  6.         if (Kernel::VERSION_ID >= 60400) {
  7.             $response->send(false);
  8.             if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 29)
  1. $app $app(...$args);
  2. exit(
  3.     $runtime
  4.         ->getRunner($app)
  5.         ->run()
  6. );
require_once('/var/www/scms-client/vendor/autoload_runtime.php') in public/index.php (line 5)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return function (array $context) {
  5.     return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Logs

Level Channel Message
INFO 09:27:38 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "4d6ffc"
    },
    "request_uri": "https://client.ticket-cms.ru/_profiler/4d6ffc",
    "method": "GET"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke".
{
    "event": "kernel.request",
    "listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
DEBUG 09:27:38 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
DEBUG 09:27:38 event Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
DEBUG 09:27:38 event Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
DEBUG 09:27:38 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
}
DEBUG 09:27:38 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
DEBUG 09:27:38 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
DEBUG 09:27:38 event Notified event "kernel.controller_arguments" to listener "ContainerW7JX4pZ\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "ContainerW7JX4pZ\\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
}
DEBUG 09:27:38 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}

Stack Trace

SyntaxError
Twig\Error\SyntaxError:
Unknown "get_key_page" function in "pages/contacts.html.twig" at line 3.

  at templates/pages/contacts.html.twig:3
  at Twig\Parser->getFunction()
     (vendor/twig/twig/src/ExpressionParser/Infix/FunctionExpressionParser.php:51)
  at Twig\ExpressionParser\Infix\FunctionExpressionParser->parse()
     (vendor/twig/twig/src/Parser.php:384)
  at Twig\Parser->parseExpression()
     (vendor/twig/twig/src/TokenParser/SetTokenParser.php:79)
  at Twig\TokenParser\SetTokenParser->parseMultitargetExpression()
     (vendor/twig/twig/src/TokenParser/SetTokenParser.php:42)
  at Twig\TokenParser\SetTokenParser->parse()
     (vendor/twig/twig/src/Parser.php:218)
  at Twig\Parser->subparse()
     (vendor/twig/twig/src/Parser.php:101)
  at Twig\Parser->parse()
     (vendor/twig/twig/src/Environment.php:558)
  at Twig\Environment->parse()
     (vendor/twig/twig/src/Environment.php:589)
  at Twig\Environment->compileSource()
     (vendor/twig/twig/src/Environment.php:408)
  at Twig\Environment->loadTemplate()
     (vendor/twig/twig/src/Environment.php:370)
  at Twig\Environment->load()
     (vendor/twig/twig/src/Environment.php:333)
  at Twig\Environment->render()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:459)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:464)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:278)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render()
     (src/Controller/Web/PageController.php:63)
  at App\Controller\Web\PageController->contacts()
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (vendor/symfony/http-kernel/Kernel.php:182)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:29)
  at require_once('/var/www/scms-client/vendor/autoload_runtime.php')
     (public/index.php:5)