Error 500 Internal Server Error

GET https://siga.go4d.ch/de/shop/Produkte/Audi-R8130283~p103687

Exceptions

An exception has been thrown during the rendering of a template ("Parameter "productname" for route "shop-detail.de" must match "[\w-]+" ("" given) to generate a corresponding URL.") in product/detail.html.twig at line 77.

Exceptions 2

Twig\Error\ RuntimeError

Show exception properties
Twig\Error\RuntimeError {#2273
  -lineno: 77
  -rawMessage: "An exception has been thrown during the rendering of a template ("Parameter "productname" for route "shop-detail.de" must match "[\w-]+" ("" given) to generate a corresponding URL.")."
  -source: Twig\Source {#15338
    -code: """
      {# @var product \App\Model\Product\Car #}\n
      \n
      {% import 'product/macros.html.twig' as macros %}\n
      \n
      {% extends 'layouts/layout.html.twig' %}\n
      \n
      {% block content %}\n
      \n
          <div id="main-content" class="main-content">\n
      \n
              <div class="d-md-none mt-3">\n
                  {% if(product.manufacturer and product.manufacturer.logo)  %}\n
                      {{ product.manufacturer.logo.thumbnail('product_detail_manufacturer').getHTML({imgAttributes: {class: 'img-fluid float-right'}})|raw }}\n
                  {%  endif  %}\n
                  <div class="page-header">\n
                      <h1>{{ product.oSName }}</h1>\n
                  </div>\n
              </div>\n
      \n
              <div class="bg-white my-3">\n
                  <div class="row">\n
      \n
                      <div class="col-md-6 mb-4">\n
                          {% if(product.mainImage) %}\n
      \n
                              <div class="p-3">\n
                                  <a href="{{ product.mainImage.getThumbnail('galleryLightbox')|raw }}" class="thumbnail">\n
                                      {{ product.mainImage.thumbnail('product_detail').getHTML({imgAttributes: {class: 'img-thumbnail1 img-fluid'}})|raw }}\n
                                  </a>\n
      \n
                                  {% block additionalimages %}\n
                                      {% set additionalImages = product.additionalImages %}\n
                                      {%  if(additionalImages) %}\n
      \n
                                          <div class="row">\n
      \n
                                              {% for image in additionalImages %}\n
      \n
                                                  <div class="col-4 mt-3">\n
      \n
                                                      <a href="{{ image.getThumbnail('galleryLightbox')|raw }}" class="thumbnail">\n
                                                          {{ image.thumbnail('product_detail_small').getHTML({imgAttributes: {class: 'img-thumbnail1 img-fluid'}})|raw }}\n
                                                      </a>\n
      \n
                                                  </div>\n
      \n
                                              {% endfor %}\n
      \n
                                          </div>\n
      \n
                                      {%  endif %}\n
                                  {% endblock %}\n
                              </div>\n
                          {% endif %}\n
                      </div>\n
      \n
                      <div class="col-md-6 mb-4">\n
      \n
                          <div class="p-3 pt-4">\n
      \n
                              <div class="row d-none d-md-block mb-3">\n
                                  <div class="col-12">\n
                                      {% if(product.manufacturer and product.manufacturer.logo)  %}\n
                                          {{ product.manufacturer.logo.thumbnail('product_detail_manufacturer').getHTML({imgAttributes: {class: 'img-fluid float-right'}})|raw }}\n
                                      {%  endif  %}\n
      \n
                                      <h2 class="">{{ product.oSName }}</h2>\n
                                  </div>\n
                              </div>\n
                              <div class="row">\n
      \n
                                  {% block colorvariants %}\n
                                      <dl class="item-property col-12">\n
                                          <dt>{{ 'general.color' | trans }}</dt>\n
                                          <dd>\n
                                              {% for colorVariant in product.colorVariants %}\n
                                                  <a href="{{ app_product_detaillink(colorVariant) }}"\n
                                                     class="btn {{ product.id == colorVariant.id ? 'btn-primary' : 'btn-outline-primary' }}">\n
                                                      {{ colorVariant.color | colorname }}\n
                                                  </a>\n
                                              {% endfor %}\n
                                          </dd>\n
      \n
                                      </dl>\n
                                  {% endblock %}\n
      \n
                                  {% block detailinfos %}\n
                                      {% if(product.bodyStyle) %}\n
                                          <dl class="item-property col-6">\n
                                              <dt>{{ 'general.body-style' | trans }}</dt>\n
                                              <dd>{{ product.bodyStyle.name }}</dd>\n
                                          </dl>\n
                                      {% endif %}\n
      \n
                                      <dl class="item-property col-6">\n
                                          <dt>{{ 'general.car-class' | trans }}</dt>\n
                                          <dd>{{ ('attribute.' ~ product.carClass) | lower | trans }}</dd>\n
                                      </dl>\n
                                  {% endblock %}\n
      \n
                                  {% block salesinfos %}\n
      \n
                                      {% if product.saleInformation.saleInformation %}\n
      \n
                                          <dl class="item-property col-6 mb-0">\n
                                              <dt>{{ 'general.condition' | trans }}</dt>\n
                                              <dd>{{ ('attribute.' ~ product.saleInformation.saleInformation.condition) | lower | trans}}</dd>\n
                                          </dl>\n
      \n
                                          <dl class="item-property col-6 mb-0">\n
                                              <dt>{{ 'general.milage' | trans }}</dt>\n
                                              <dd>{{ product.saleInformation.saleInformation.milage}}</dd>\n
                                          </dl>\n
      \n
                                      {% endif %}\n
                                  {% endblock %}\n
      \n
                              </div>\n
      \n
                              <hr/>\n
                              <div class="mt-4 text-center">\n
                                  {% set priceInfo = product.oSPriceInfo %}\n
                                  {% set price = product.oSPrice %}\n
      \n
                                  {% if(priceInfo.rules) %}\n
      \n
                                      <div class="alert alert-success mb-4" role="alert">\n
      \n
                                          <p class="small mb-2"><strong>{{ 'general.your-benefits' | trans }}</strong></p>\n
      \n
                                          <ul class="list-unstyled mb-0 small">\n
                                              {% for rule in priceInfo.rules %}\n
                                                  <li>{{ rule.label }}</li>\n
                                              {% endfor %}\n
                                          </ul>\n
      \n
                                      </div>\n
      \n
                                  {% endif %}\n
      \n
                                  {% if(priceInfo.hasDiscount) %}\n
                                      <p class="detail-price original mb-3">{{ priceInfo.originalPrice }}</p>\n
                                  {% endif %}\n
      \n
                                  <p class="detail-price mb-2">{{ price }}</p>\n
      \n
                                  <div class="detail-tax text-muted">\n
                                      <ul class="list-unstyled">\n
                                          {% for taxEntry in price.taxEntries %}\n
                                              <li>{{ taxEntry.entry.name }}: {{ taxEntry.percent }}% ({{ taxEntry.amount.asNumeric | currency(price.currency.shortName) }})</li>\n
                                          {% endfor %}\n
                                      </ul>\n
                                  </div>\n
      \n
                                  {% if product.saleInformation.saleInformation %}\n
                                      <p class="small text-muted mt-1">{{ 'general.available-in' | trans }} {{ ('attribute.' ~ product.saleInformation.saleInformation.availabilityType) | lower | trans }}</p>\n
                                  {% endif %}\n
                              </div>\n
                              <form id="shop_add_to_cart_form_{{ product.id }}" method="post" action="{{ path('shop-add-to-cart', { id: product.id }) }}">\n
                                  <input type="hidden" name="_csrf_token" value="{{ csrf_token('addToCart') }}">\n
                                  <a href="#"\n
                                     onclick="document.getElementById('shop_add_to_cart_form_{{ product.id }}').submit();"\n
                                     class="btn btn-success btn-block">{{ 'general.add-to-cart' | trans }}</a>\n
                              </form>\n
      \n
                          </div>\n
      \n
                      </div>\n
      \n
                  </div>\n
      \n
                  <hr>\n
      \n
                  {% block description %}\n
                      <div class="mt-5 col-12 text-center">\n
                          <h4 class="text-center">{{ 'general.additional-information' | trans }}</h4>\n
      \n
                          {% if(product.description) %}\n
                              <p>{{ product.description | raw }}</p>\n
                          {% endif %}\n
      \n
                      </div>\n
                  {% endblock %}\n
      \n
                  {% block attributes %}\n
                      <div class="col-12">\n
      \n
                      <ul class="nav nav-tabs" id="attributes" role="tablist">\n
                          <li class="nav-item">\n
                              <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">{{ 'general.general' | trans }}</a>\n
                          </li>\n
                          {% if(product.attributes.dimensions or product.attributes.bodywork) %}\n
                              <li class="nav-item">\n
                                  <a class="nav-link" id="dimensions-tab" data-toggle="tab" href="#dimensions" role="tab" aria-controls="dimensions" aria-selected="false">{{ 'general.dimensions' | trans }}</a>\n
                              </li>\n
                          {% endif %}\n
                          {% if(product.attributes.engine or product.attributes.transmission) %}\n
                              <li class="nav-item">\n
                                  <a class="nav-link" id="engine-tab" data-toggle="tab" href="#engine" role="tab" aria-controls="engine" aria-selected="false">{{ 'general.engine' | trans }}</a>\n
                              </li>\n
                          {%  endif %}\n
                      </ul>\n
                      <div class="tab-content" id="myTabContent">\n
                          <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">\n
      \n
                              <div class="m-3">\n
      \n
                                  <div class="row">\n
      \n
                                      {% if(product.manufacturer) %}\n
                                          <dl class="item-property col-6 col-md-3">\n
                                              <dt>{{ 'general.manufacturer' | trans }}</dt>\n
                                              <dd>{{ product.manufacturer.name }}</dd>\n
                                          </dl>\n
                                      {% endif %}\n
      \n
                                      {{ macros.attribute(product.productionYear, 'general.productionYear') }}\n
      \n
                                      {% if(product.country) %}\n
                                          <dl class="item-property col-6 col-md-3">\n
                                              <dt>{{ 'general.country' | trans }}</dt>\n
                                              <dd>{{ product.country | country }}</dd>\n
                                          </dl>\n
                                      {% endif %}\n
      \n
                                  </div>\n
      \n
                              </div>\n
      \n
                          </div>\n
                          {% if(product.attributes.dimensions or product.attributes.bodywork) %}\n
                              <div class="tab-pane fade" id="dimensions" role="tabpanel" aria-labelledby="dimensions-tab">\n
      \n
                                  <div class="m-3">\n
      \n
                                      <div class="row">\n
      \n
                                          {% if(product.attributes.dimensions) %}\n
                                              {{ macros.attribute(product.attributes.dimensions.length, 'general.length') }}\n
                                              {{ macros.attribute(product.attributes.dimensions.width, 'general.width') }}\n
                                              {{ macros.attribute(product.attributes.dimensions.wheelbase, 'general.wheelbase') }}\n
                                              {{ macros.attribute(product.attributes.dimensions.weight, 'general.weight') }}\n
                                          {%  endif %}\n
      \n
                                          {% if(product.attributes.bodywork) %}\n
                                              {{ macros.attribute(product.attributes.bodywork.numberOfDoors, 'general.numberOfDoors') }}\n
                                              {{ macros.attribute(product.attributes.bodywork.numberOfSeats, 'general.numberOfSeats') }}\n
                                          {%  endif %}\n
      \n
                                      </div>\n
      \n
                                  </div>\n
      \n
                              </div>\n
                          {%  endif %}\n
                          {% if(product.attributes.engine or product.attributes.transmission) %}\n
                              <div class="tab-pane fade" id="engine" role="tabpanel" aria-labelledby="engine-tab">\n
      \n
                                  <div class="m-3">\n
      \n
                                      <div class="row">\n
      \n
                                          {% if(product.attributes.engine) %}\n
                                              {{ macros.attribute(product.attributes.engine.cylinders, 'general.cylinders') }}\n
                                              {{ macros.attribute(product.attributes.engine.capacity, 'general.capacity') }}\n
                                              {{ macros.attribute(product.attributes.engine.power, 'general.power') }}\n
                                              {{ macros.attribute(product.attributes.engine.engineLocation, 'general.engineLocation') }}\n
                                          {%  endif %}\n
      \n
                                          {% if(product.attributes.transmission) %}\n
                                              {{ macros.attribute(product.attributes.transmission.wheelDrive, 'general.wheelDrive', true, 'attribute.') }}\n
                                          {%  endif %}\n
      \n
                                      </div>\n
      \n
                                  </div>\n
      \n
                              </div>\n
                          {%  endif %}\n
                      </div>\n
      \n
                  </div>\n
                  {% endblock %}\n
      \n
                  {% block productrelations %}\n
                      {% set accessories = product.accessories %}\n
      \n
                      {%  if(accessories.count) %}\n
      \n
                          <hr>\n
      \n
                          <div class="mt-5 col-12">\n
                              <h4 class="text-center">{{ 'general.accessories' | trans }}</h4>\n
      \n
                              <div class="row">\n
                                  {% for item in accessories %}\n
      \n
                                      <div class="col-md-3 d-flex align-items-stretch">\n
                                          {% include 'product/product_teaser.html.twig' with {'product': item} %}\n
                                      </div>\n
      \n
                                  {% endfor %}\n
                              </div>\n
      \n
                          </div>\n
      \n
                      {% endif %}\n
                  {% endblock %}\n
      \n
      \n
              </div>\n
          </div>\n
      {% endblock %}
      """
    -name: "product/detail.html.twig"
    -path: "/var/www/vhosts/go4d.ch/utilis.go4d.ch/releases/72/templates/product/detail.html.twig"
  }
  -phpFile: "/var/www/vhosts/go4d.ch/utilis.go4d.ch/releases/72/vendor/twig/twig/src/Template.php"
  -phpLine: 460
}
  1. {% block colorvariants %}
  2. <dl class="item-property col-12">
  3. <dt>{{ 'general.color' | trans }}</dt>
  4. <dd>
  5. {% for colorVariant in product.colorVariants %}
  6. <a href="{{ app_product_detaillink(colorVariant) }}"
  7. class="btn {{ product.id == colorVariant.id ? 'btn-primary' : 'btn-outline-primary' }}">
  8. {{ colorVariant.color | colorname }}
  9. </a>
  10. {% endfor %}
  11. </dd>
  1. </div>
  2. <div class=\"row\">
  3. ";
  4. // line 72
  5. yield from $this->unwrap()->yieldBlock('colorvariants', $context, $blocks);
  6. // line 86
  7. yield "
  8. ";
  9. // line 87
  10. yield from $this->unwrap()->yieldBlock('detailinfos', $context, $blocks);
in vendor/twig/twig/src/Template.php -> block_content (line 446)
  1. throw new \LogicException('A block must be a method on a \Twig\Template instance.');
  2. }
  3. if (null !== $template) {
  4. try {
  5. yield from $template->$block($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($template->getSourceContext());
  9. }
  1. </div>
  2. ";
  3. }
  4. // line 177
  5. yield " ";
  6. yield from $this->unwrap()->yieldBlock("content", $context, $blocks);
  7. yield "
  8. </div>
  9. ";
  10. // line 180
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1. {
  2. $context += $this->env->getGlobals();
  3. $blocks = array_merge($this->blocks, $blocks);
  4. try {
  5. yield from $this->doDisplay($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($this->getSourceContext());
  9. }
  1. // line 3
  2. $macros["Íœmacros"] = $this->macros["Íœmacros"] = $this->load("product/macros.html.twig", 3)->unwrap();
  3. // line 5
  4. $this->parent = $this->load("layouts/layout.html.twig", 5);
  5. yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  6. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  7. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1. {
  2. $context += $this->env->getGlobals();
  3. $blocks = array_merge($this->blocks, $blocks);
  4. try {
  5. yield from $this->doDisplay($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($this->getSourceContext());
  9. }
  1. return $this->blocks;
  2. }
  3. public function display(array $context, array $blocks = []): void
  4. {
  5. foreach ($this->yield($context, $blocks) as $data) {
  6. echo $data;
  7. }
  8. }
  9. public function render(array $context): string
in vendor/twig/twig/src/Template.php -> display (line 373)
  1. ob_start();
  2. } else {
  3. ob_start(function () { return ''; });
  4. }
  5. try {
  6. $this->display($context);
  7. } catch (\Throwable $e) {
  8. while (ob_get_level() > $level) {
  9. ob_end_clean();
  10. }
  1. yield from $this->template->yieldBlock($name, $context);
  2. }
  3. public function render(array $context = []): string
  4. {
  5. return $this->template->render($context);
  6. }
  7. /**
  8. * @return void
  9. */
  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 $response, string $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 $response, string $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($view, null, $parameters, $response, __FUNCTION__);
  7. }
  8. /**
  9. * Renders a block in a view.
  10. *
  1. $response->setContent($content);
  2. return $response;
  3. }
  4. return parent::render($view, $parameters, $response);
  5. }
  6. protected function stream(string $view, array $parameters = [], ?StreamedResponse $response = null): StreamedResponse
  7. {
  8. $templatingEngine = $this->container->get('pimcore.templating');
Controller->render() in src/Controller/ProductController.php (line 95)
  1. if ($product instanceof Car) {
  2. // foreach ($product->getAccessories() as $accessory) {
  3. // $trackingManager->trackProductImpression($accessory, 'crosssells');
  4. // }
  5. return $this->render('product/detail.html.twig', $paramBag);
  6. } elseif ($product instanceof AccessoryPart) {
  7. // get all compatible products
  8. $productList = $ecommerceFactory->getIndexService()->getProductListForCurrentTenant();
  9. $productList->setVariantMode(ProductListInterface::VARIANT_MODE_VARIANTS_ONLY);
in vendor/symfony/http-kernel/HttpKernel.php -> detailAction (line 183)
  1. $this->dispatcher->dispatch($event, KernelEvents::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($event, KernelEvents::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. if (!$this->handlingHttpCache) {
  2. $this->resetServices = true;
  3. }
  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 32)
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('/var/www/vhosts/go4d.ch/utilis.go4d.ch/releases/72/vendor/autoload_runtime.php') in public/index.php (line 20)
  1. use Pimcore\Bootstrap;
  2. use Pimcore\Tool;
  3. use Symfony\Component\Debug\Debug;
  4. use Symfony\Component\HttpFoundation\Request;
  5. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  6. Bootstrap::setProjectRoot();
  7. return function (Request $request, array $context) {

Symfony\Component\Routing\Exception\ InvalidParameterException

Parameter "productname" for route "shop-detail.de" must match "[\w-]+" ("" given) to generate a corresponding URL.

  1. if (!$optional || $important || !\array_key_exists($varName, $defaults) || (null !== $mergedParams[$varName] && (string) $mergedParams[$varName] !== (string) $defaults[$varName])) {
  2. // check requirement (while ignoring look-around patterns)
  3. if (null !== $this->strictRequirements && !preg_match('#^'.preg_replace('/\(\?(?:=|<=|!|<!)((?:[^()\\\\]+|\\\\.|\((?1)\))*)\)/', '', $token[2]).'$#i'.(empty($token[4]) ? '' : 'u'), $mergedParams[$token[3]] ?? '')) {
  4. if ($this->strictRequirements) {
  5. throw new InvalidParameterException(strtr($message, ['{parameter}' => $varName, '{route}' => $name, '{expected}' => $token[2], '{given}' => $mergedParams[$varName]]));
  6. }
  7. $this->logger?->error($message, ['parameter' => $varName, 'route' => $name, 'expected' => $token[2], 'given' => $mergedParams[$varName]]);
  8. return '';
  1. } elseif (!isset($parameters['_locale'])) {
  2. $parameters['_locale'] = $defaults['_locale'];
  3. }
  4. }
  5. return $this->doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, $requiredSchemes);
  6. }
  7. }
in vendor/symfony/routing/Router.php -> generate (line 172)
  1. $this->configCacheFactory = $configCacheFactory;
  2. }
  3. public function generate(string $name, array $parameters = [], int $referenceType = self::ABSOLUTE_PATH): string
  4. {
  5. return $this->getGenerator()->generate($name, $parameters, $referenceType);
  6. }
  7. public function match(string $pathinfo): array
  8. {
  9. return $this->getMatcher()->match($pathinfo);
  1. if ($name && !is_string($name) && !$router instanceof VersatileGeneratorInterface) {
  2. continue;
  3. }
  4. try {
  5. return $router->generate($name, $parameters, $referenceType);
  6. } catch (RouteNotFoundException $e) {
  7. $hint = $this->getErrorMessage($name, $router, $parameters);
  8. $debug[] = $hint;
  9. $this->logger->debug('Router '.get_class($router)." was unable to generate route. Reason: '$hint': ".$e->getMessage());
  10. }
  1. return $path;
  2. }
  3. if ($name !== null) {
  4. return $this->generator->generate($name, $parameters, $referenceType);
  5. }
  6. return '';
  7. }
  1. // merge all parameters from request to parameters
  2. if (!$reset && $this->requestHelper->hasMainRequest()) {
  3. $urlOptions = array_replace($this->requestHelper->getMainRequest()->query->all(), $urlOptions);
  4. }
  5. return $this->generateUrl($name, $urlOptions, $relative ? UrlGeneratorInterface::RELATIVE_PATH : UrlGeneratorInterface::ABSOLUTE_PATH, $encode);
  6. }
  7. /**
  8. * Generate URL with support to only pass parameters ZF1 style (defaults to current route).
  9. *
PimcoreUrl->__invoke() in src/Website/Tool/PimcoreUrl.php (line 27)
  1. // merge all parameters from request to parameters
  2. if (!$reset && $this->requestHelper->hasMainRequest()) {
  3. $urlOptions = array_replace($this->requestHelper->getMainRequest()->attributes->get('_route_params', []), $urlOptions);
  4. }
  5. return parent::__invoke($urlOptions, $name, $reset, $encode, $relative);
  6. }
  7. }
PimcoreUrl->__invoke() in src/Website/LinkGenerator/ProductLinkGenerator.php (line 54)
  1. return current($object->getUrlSlug())->getSlug();
  2. }
  3. $locale = $params['locale'] ?? null;
  4. return $this->pimcoreUrl->__invoke(
  5. [
  6. 'productname' => Text::toUrl($object->getOSName() ?? 'product'),
  7. 'product' => $object->getId(),
  8. 'path' => $this->getNavigationPath($object->getMainCategory(), $params['rootCategory'] ?? null, $locale),
  9. 'page' => null,
in vendor/pimcore/pimcore/models/DataObject/Service.php -> {closure:App\Website\LinkGenerator\ProductLinkGenerator::doGenerate():47} (line 1943)
  1. {
  2. $backup = DataObject::getGetInheritedValues();
  3. DataObject::setGetInheritedValues($inheritValues);
  4. try {
  5. return $fn(...$fnArgs);
  6. } finally {
  7. DataObject::setGetInheritedValues($backup);
  8. }
  9. }
Service::useInheritedValues() in src/Website/LinkGenerator/ProductLinkGenerator.php (line 47)
  1. return $this->doGenerate($object, $params);
  2. }
  3. protected function doGenerate(ProductInterface $object, array $params): string
  4. {
  5. return DataObject\Service::useInheritedValues(true, function () use ($object, $params) {
  6. if (!empty($object->getUrlSlug())) {
  7. return current($object->getUrlSlug())->getSlug();
  8. }
  9. $locale = $params['locale'] ?? null;
ProductLinkGenerator->doGenerate() in src/Website/LinkGenerator/ProductLinkGenerator.php (line 42)
  1. return $this->doGenerate($object, $params);
  2. }
  3. public function generateWithMockup(ProductInterface $object, array $params = []): string
  4. {
  5. return $this->doGenerate($object, $params);
  6. }
  7. protected function doGenerate(ProductInterface $object, array $params): string
  8. {
  9. return DataObject\Service::useInheritedValues(true, function () use ($object, $params) {
ProductLinkGenerator->generateWithMockup() in src/Twig/Extension/ProductPageExtension.php (line 50)
  1. ];
  2. }
  3. public function generateLink(ProductInterface $product): string
  4. {
  5. return $this->productLinkGenerator->generateWithMockup($product, []);
  6. }
  7. public function getColorName(?array $colorNames = []): string
  8. {
  9. $translatedColors = [];
  1. $context['_parent'] = $context;
  2. $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 76, $this->source); })()), "colorVariants", [], "any", false, false, true, 76));
  3. foreach ($context['_seq'] as $context["_key"] => $context["colorVariant"]) {
  4. // line 77
  5. yield " <a href=\"";
  6. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\Extension\ProductPageExtension']->generateLink($this->sandbox->ensureToStringAllowed($context["colorVariant"], 77, $this->source)), "html", null, true);
  7. yield "\"
  8. class=\"btn ";
  9. // line 78
  10. yield (((CoreExtension::getAttribute($this->env, $this->source, (isset($context["product"]) || array_key_exists("product", $context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.', 78, $this->source); })()), "id", [], "any", false, false, true, 78) == CoreExtension::getAttribute($this->env, $this->source, $context["colorVariant"], "id", [], "any", false, false, true, 78))) ? ("btn-primary") : ("btn-outline-primary"));
  11. yield "\">
in vendor/twig/twig/src/Template.php -> block_colorvariants (line 446)
  1. throw new \LogicException('A block must be a method on a \Twig\Template instance.');
  2. }
  3. if (null !== $template) {
  4. try {
  5. yield from $template->$block($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($template->getSourceContext());
  9. }
  1. </div>
  2. <div class=\"row\">
  3. ";
  4. // line 72
  5. yield from $this->unwrap()->yieldBlock('colorvariants', $context, $blocks);
  6. // line 86
  7. yield "
  8. ";
  9. // line 87
  10. yield from $this->unwrap()->yieldBlock('detailinfos', $context, $blocks);
in vendor/twig/twig/src/Template.php -> block_content (line 446)
  1. throw new \LogicException('A block must be a method on a \Twig\Template instance.');
  2. }
  3. if (null !== $template) {
  4. try {
  5. yield from $template->$block($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($template->getSourceContext());
  9. }
  1. </div>
  2. ";
  3. }
  4. // line 177
  5. yield " ";
  6. yield from $this->unwrap()->yieldBlock("content", $context, $blocks);
  7. yield "
  8. </div>
  9. ";
  10. // line 180
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1. {
  2. $context += $this->env->getGlobals();
  3. $blocks = array_merge($this->blocks, $blocks);
  4. try {
  5. yield from $this->doDisplay($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($this->getSourceContext());
  9. }
  1. // line 3
  2. $macros["Íœmacros"] = $this->macros["Íœmacros"] = $this->load("product/macros.html.twig", 3)->unwrap();
  3. // line 5
  4. $this->parent = $this->load("layouts/layout.html.twig", 5);
  5. yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  6. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  7. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1. {
  2. $context += $this->env->getGlobals();
  3. $blocks = array_merge($this->blocks, $blocks);
  4. try {
  5. yield from $this->doDisplay($context, $blocks);
  6. } catch (Error $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($this->getSourceContext());
  9. }
  1. return $this->blocks;
  2. }
  3. public function display(array $context, array $blocks = []): void
  4. {
  5. foreach ($this->yield($context, $blocks) as $data) {
  6. echo $data;
  7. }
  8. }
  9. public function render(array $context): string
in vendor/twig/twig/src/Template.php -> display (line 373)
  1. ob_start();
  2. } else {
  3. ob_start(function () { return ''; });
  4. }
  5. try {
  6. $this->display($context);
  7. } catch (\Throwable $e) {
  8. while (ob_get_level() > $level) {
  9. ob_end_clean();
  10. }
  1. yield from $this->template->yieldBlock($name, $context);
  2. }
  3. public function render(array $context = []): string
  4. {
  5. return $this->template->render($context);
  6. }
  7. /**
  8. * @return void
  9. */
  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 $response, string $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 $response, string $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($view, null, $parameters, $response, __FUNCTION__);
  7. }
  8. /**
  9. * Renders a block in a view.
  10. *
  1. $response->setContent($content);
  2. return $response;
  3. }
  4. return parent::render($view, $parameters, $response);
  5. }
  6. protected function stream(string $view, array $parameters = [], ?StreamedResponse $response = null): StreamedResponse
  7. {
  8. $templatingEngine = $this->container->get('pimcore.templating');
Controller->render() in src/Controller/ProductController.php (line 95)
  1. if ($product instanceof Car) {
  2. // foreach ($product->getAccessories() as $accessory) {
  3. // $trackingManager->trackProductImpression($accessory, 'crosssells');
  4. // }
  5. return $this->render('product/detail.html.twig', $paramBag);
  6. } elseif ($product instanceof AccessoryPart) {
  7. // get all compatible products
  8. $productList = $ecommerceFactory->getIndexService()->getProductListForCurrentTenant();
  9. $productList->setVariantMode(ProductListInterface::VARIANT_MODE_VARIANTS_ONLY);
in vendor/symfony/http-kernel/HttpKernel.php -> detailAction (line 183)
  1. $this->dispatcher->dispatch($event, KernelEvents::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($event, KernelEvents::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. if (!$this->handlingHttpCache) {
  2. $this->resetServices = true;
  3. }
  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 32)
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('/var/www/vhosts/go4d.ch/utilis.go4d.ch/releases/72/vendor/autoload_runtime.php') in public/index.php (line 20)
  1. use Pimcore\Bootstrap;
  2. use Pimcore\Tool;
  3. use Symfony\Component\Debug\Debug;
  4. use Symfony\Component\HttpFoundation\Request;
  5. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  6. Bootstrap::setProjectRoot();
  7. return function (Request $request, array $context) {

Logs

Level Channel Message
INFO 23:21:04 php User Deprecated: Since pimcore/admin-ui-classic-bundle 2.3: The AdminUiClassicBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/admin-ui-classic-bundle 2.3: The AdminUiClassicBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/glossary-bundle 12.3: The GlossaryBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/seo-bundle 12.3: The SeoBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/simple-backend-search-bundle 12.3: The SimpleBackendSearchBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/admin-ui-classic-bundle 2.3: The AdminUiClassicBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/output-data-config-toolkit-bundle 6.2: The OutputDataConfigToolkitBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/google-marketing-bundle 2.1: The GoogleMarketingBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/newsletter-bundle 2.3: The NewsletterBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/word-export-bundle 12.3: The WordExportBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/xliff-bundle 12.3: The XliffBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/admin-ui-classic-bundle 2.3: The AdminUiClassicBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/admin-ui-classic-bundle 2.3: The AdminUiClassicBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/admin-ui-classic-bundle 2.3: The AdminUiClassicBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/admin-ui-classic-bundle 2.3: The AdminUiClassicBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/google-marketing-bundle 2.1: The GoogleMarketingBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since pimcore/newsletter-bundle 2.3: The NewsletterBundle is deprecated and will be discontinued with Pimcore Studio.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Class "Doctrine\ORM\Proxy\Autoloader" is deprecated. Use native lazy objects instead. (Autoloader.php:74 called by DoctrineBundle.php:136, https://github.com/doctrine/orm/pull/12005, package doctrine/orm)
{
    "exception": {}
}
DEBUG 23:21:04 event Notified event "pimcore.system.configuration.get" to listener "Pimcore\Bundle\AdminBundle\EventListener\AdminConfigListener::updateSystemConfiguration".
{
    "event": "pimcore.system.configuration.get",
    "listener": "Pimcore\\Bundle\\AdminBundle\\EventListener\\AdminConfigListener::updateSystemConfiguration"
}
INFO 23:21:04 php User Deprecated: Since pimcore/pimcore 12.3: The "pimcore.templating.engine.delegating" service is deprecated and will be removed in 13.0. Inject Twig\Environment directly instead.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since symfony/templating 6.4: "Symfony\Component\Templating\DelegatingEngine" is deprecated since version 6.4 and will be removed in 7.0. Use Twig instead.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since symfony/templating 6.4: "Symfony\Component\Templating\EngineInterface" is deprecated since version 6.4 and will be removed in 7.0. Use Twig instead.
{
    "exception": {}
}
INFO 23:21:04 php User Deprecated: Since symfony/templating 6.4: "Symfony\Component\Templating\StreamingEngineInterface" is deprecated since version 6.4 and will be removed in 7.0. Use Twig instead.
{
    "exception": {}
}
INFO 23:21:04 doctrine Connecting with parameters {params}
{
    "params": {
        "driver": "pdo_mysql",
        "charset": "UTF8MB4",
        "host": "localhost",
        "port": 3306,
        "user": "utilis_demo",
        "password": "<redacted>",
        "dbname": "utilis_demo",
        "idle_connection_ttl": 600,
        "driverOptions": {
            "1002": "SET sql_mode = '';"
        },
        "serverVersion": "10.11.11-MariaDB-ubu2204",
        "defaultTableOptions": {
            "charset": "UTF8MB4",
            "engine": "InnoDB",
            "collate": "utf8mb4_unicode_520_ci"
        }
    }
}
DEBUG 23:21:04 doctrine Executing statement: SELECT * FROM settings_store WHERE id = ? AND scope = ? (parameters: {params}, types: {types})

                            
DEBUG 23:21:04 doctrine Executing statement: SELECT item_id, CASE WHEN item_lifetime IS NULL OR item_lifetime + item_time > ? THEN item_data ELSE NULL END FROM cache_items WHERE item_id IN (?) (parameters: {params}, types: {types})

                            
DEBUG 23:21:04 cache Successfully got data for key maintenance_mode from cache
{
    "key": "maintenance_mode"
}
INFO 23:21:05 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "e61907"
    },
    "request_uri": "https://siga.go4d.ch/_profiler/e61907?panel=exception&type=request",
    "method": "GET"
}
DEBUG 23:21:05 app Resolved pimcore context for path /_profiler/e61907 to profiler
{
    "path": "/_profiler/e61907",
    "context": "profiler"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\AdminBundle\EventListener\CustomAdminEntryPointCheckListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\AdminBundle\\EventListener\\CustomAdminEntryPointCheckListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\Frontend\RoutingListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\Frontend\\RoutingListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\Frontend\StaticPageGeneratorListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\Frontend\\StaticPageGeneratorListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\SeoBundle\EventListener\RoutingListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\SeoBundle\\EventListener\\RoutingListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\StudioBackendBundle\EventSubscriber\CorsSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\StudioBackendBundle\\EventSubscriber\\CorsSubscriber::onKernelRequest"
}
DEBUG 23:21:05 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 23:21:05 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\AdminBundle\EventListener\AdminSessionBagListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\AdminBundle\\EventListener\\AdminSessionBagListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\PersonalizationBundle\Targeting\EventListener\TargetingSessionBagListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\PersonalizationBundle\\Targeting\\EventListener\\TargetingSessionBagListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\EcommerceFrameworkBundle\EventListener\SessionBagListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\EcommerceFrameworkBundle\\EventListener\\SessionBagListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\MaintenancePageListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\MaintenancePageListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\Frontend\FullPageCacheListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\Frontend\\FullPageCacheListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\GoogleMarketingBundle\EventListener\Frontend\GoogleSearchConsoleVerificationListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\GoogleMarketingBundle\\EventListener\\Frontend\\GoogleSearchConsoleVerificationListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\PortalEngineBundle\EventSubscriber\RequestSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\PortalEngineBundle\\EventSubscriber\\RequestSubscriber::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\PortalEngineBundle\EventSubscriber\TimezoneSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\PortalEngineBundle\\EventSubscriber\\TimezoneSubscriber::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\PimcoreContextListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\PimcoreContextListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\Frontend\DocumentFallbackListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\Frontend\\DocumentFallbackListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\AdminBundle\EventListener\CsrfProtectionListener::handleRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\AdminBundle\\EventListener\\CsrfProtectionListener::handleRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\PersonalizationBundle\Targeting\EventListener\Studio\DisableTargetingListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\PersonalizationBundle\\Targeting\\EventListener\\Studio\\DisableTargetingListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\PersonalizationBundle\Targeting\EventListener\TargetingListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\PersonalizationBundle\\Targeting\\EventListener\\TargetingListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\Frontend\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\Frontend\\LocaleListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Knp\Bundle\PaginatorBundle\Subscriber\SlidingPaginationSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Knp\\Bundle\\PaginatorBundle\\Subscriber\\SlidingPaginationSubscriber::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "App\EventListener\UserSessionPerspectiveListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "App\\EventListener\\UserSessionPerspectiveListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Scheb\TwoFactorBundle\Security\TwoFactor\Event\TwoFactorFormListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Scheb\\TwoFactorBundle\\Security\\TwoFactor\\Event\\TwoFactorFormListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\AdminBundle\EventListener\UsageStatisticsListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\AdminBundle\\EventListener\\UsageStatisticsListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\EcommerceFrameworkBundle\EventListener\Frontend\TrackingCodeFlashMessageListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\EcommerceFrameworkBundle\\EventListener\\Frontend\\TrackingCodeFlashMessageListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "CustomerManagementFrameworkBundle\Event\Frontend\UrlActivityTracker::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "CustomerManagementFrameworkBundle\\Event\\Frontend\\UrlActivityTracker::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\StudioUiBundle\EventSubscriber\EditmodeSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\StudioUiBundle\\EventSubscriber\\EditmodeSubscriber::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\StudioBackendBundle\EventSubscriber\ApiContextSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\StudioBackendBundle\\EventSubscriber\\ApiContextSubscriber::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\TranslationDebugListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\TranslationDebugListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\Frontend\BlockStateListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\Frontend\\BlockStateListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\Frontend\EditmodeListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\Frontend\\EditmodeListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\Frontend\OutputTimestampListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\Frontend\\OutputTimestampListener::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "CustomerManagementFrameworkBundle\Event\Frontend\UrlActivityTracker::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "CustomerManagementFrameworkBundle\\Event\\Frontend\\UrlActivityTracker::onKernelRequest"
}
DEBUG 23:21:05 event Notified event "kernel.request" to listener "Pimcore\Bundle\CoreBundle\EventListener\WebDebugToolbarListener::onKernelResponse".
{
    "event": "kernel.request",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\WebDebugToolbarListener::onKernelResponse"
}
INFO 23:21:05 php User Deprecated: Since pimcore/pimcore 12.3: Usage of \Pimcore\Helper::Pimcore\Helper\ParameterBagHelper::getInt is deprecated. Use proper parameter validation instead in Pimcore\Bundle\PortalEngineBundle\Service\Document\PrefixService::getRoutingPrefix().
{
    "exception": {}
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Pimcore\Bundle\CoreBundle\EventListener\Frontend\DocumentFallbackListener::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\Frontend\\DocumentFallbackListener::onKernelController"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Pimcore\Bundle\CoreBundle\EventListener\Frontend\ElementListener::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\Frontend\\ElementListener::onKernelController"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Pimcore\Bundle\PersonalizationBundle\Targeting\EventListener\Frontend\TargetingElementListener::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Pimcore\\Bundle\\PersonalizationBundle\\Targeting\\EventListener\\Frontend\\TargetingElementListener::onKernelController"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Pimcore\Bundle\PortalEngineBundle\EventSubscriber\SecuritySubscriber::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Pimcore\\Bundle\\PortalEngineBundle\\EventSubscriber\\SecuritySubscriber::onKernelController"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Pimcore\Bundle\CoreBundle\EventListener\Frontend\GlobalTemplateVariablesListener::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\Frontend\\GlobalTemplateVariablesListener::onKernelController"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Pimcore\Bundle\StudioBackendBundle\Bundle\ApplicationLogger\EventSubscriber\StudioContextPermissionsSubscriber::addContextPermissions".
{
    "event": "kernel.controller",
    "listener": "Pimcore\\Bundle\\StudioBackendBundle\\Bundle\\ApplicationLogger\\EventSubscriber\\StudioContextPermissionsSubscriber::addContextPermissions"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Pimcore\Bundle\StudioBackendBundle\Bundle\CustomReport\EventSubscriber\StudioContextPermissionsSubscriber::addContextPermissions".
{
    "event": "kernel.controller",
    "listener": "Pimcore\\Bundle\\StudioBackendBundle\\Bundle\\CustomReport\\EventSubscriber\\StudioContextPermissionsSubscriber::addContextPermissions"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Pimcore\Bundle\StudioBackendBundle\Bundle\Seo\EventSubscriber\StudioContextPermissionsSubscriber::addContextPermissions".
{
    "event": "kernel.controller",
    "listener": "Pimcore\\Bundle\\StudioBackendBundle\\Bundle\\Seo\\EventSubscriber\\StudioContextPermissionsSubscriber::addContextPermissions"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Pimcore\Bundle\PortalEngineBundle\EventSubscriber\StudioContextPermissionsSubscriber::addContextPermissions".
{
    "event": "kernel.controller",
    "listener": "Pimcore\\Bundle\\PortalEngineBundle\\EventSubscriber\\StudioContextPermissionsSubscriber::addContextPermissions"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Pimcore\Bundle\PortalEngineBundle\EventSubscriber\PrefixSubscriber::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Pimcore\\Bundle\\PortalEngineBundle\\EventSubscriber\\PrefixSubscriber::onKernelController"
}
DEBUG 23:21:05 event Notified event "kernel.controller" to listener "Pimcore\Bundle\CoreBundle\EventListener\EventedControllerListener::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\EventedControllerListener::onKernelController"
}
DEBUG 23:21:05 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 23:21:05 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 23:21:05 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 23:21:05 event Notified event "kernel.controller_arguments" to listener "Pimcore\Bundle\CoreBundle\EventListener\ResponseHeaderListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Pimcore\\Bundle\\CoreBundle\\EventListener\\ResponseHeaderListener::onKernelControllerArguments"
}
DEBUG 23:21:05 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestPayloadValueResolver::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\RequestPayloadValueResolver::onKernelControllerArguments"
}
DEBUG 23:21:05 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"
}
DEBUG 23:21:05 doctrine Executing statement: SELECT * FROM settings_store WHERE id = ? AND scope = ? (parameters: {params}, types: {types})

                            
DEBUG 23:21:05 doctrine Executing statement: SELECT * FROM redirects WHERE ( (source = ? AND (`type` = ? OR `type` = ?)) OR (source = ? AND `type` = ?) OR (source = ? AND `type` = ?) ) AND active = 1 AND (regex IS NULL OR regex = 0) AND (expiry > UNIX_TIMESTAMP() OR expiry IS NULL) AND (sourceSite IS NULL OR sourceSite = 0) AND priority = 99 ORDER BY `priority` DESC (parameters: {params}, types: {types})

                            
DEBUG 23:21:05 doctrine Executing statement: SELECT item_id, CASE WHEN item_lifetime IS NULL OR item_lifetime + item_time > ? THEN item_data ELSE NULL END FROM cache_items WHERE item_id IN (?) (parameters: {params}, types: {types})

                            
DEBUG 23:21:05 doctrine Executing statement: SELECT item_id, CASE WHEN item_lifetime IS NULL OR item_lifetime + item_time > ? THEN item_data ELSE NULL END FROM cache_items WHERE item_id IN (?, ?, ?) (parameters: {params}, types: {types})

                            
DEBUG 23:21:05 cache Successfully got data for key system_route_redirect from cache
{
    "key": "system_route_redirect"
}
DEBUG 23:21:05 init Resolved editmode to false
{
    "editmode": "false",
    "params": {
        "param": false,
        "adminRequest": false,
        "user": false
    }
}
DEBUG 23:21:06 doctrine Executing statement: SELECT * FROM settings_store WHERE id = ? AND scope = ? (parameters: {params}, types: {types})

                            
DEBUG 23:21:06 doctrine Executing statement: SELECT * FROM redirects WHERE ( (source = ? AND (`type` = ? OR `type` = ?)) OR (source = ? AND `type` = ?) OR (source = ? AND `type` = ?) ) AND active = 1 AND (regex IS NULL OR regex = 0) AND (expiry > UNIX_TIMESTAMP() OR expiry IS NULL) AND (sourceSite IS NULL OR sourceSite = 0) AND priority = 99 ORDER BY `priority` DESC (parameters: {params}, types: {types})

                            
DEBUG 23:21:06 init Resolved editmode to false
{
    "editmode": "false",
    "params": {
        "param": false,
        "adminRequest": false,
        "user": false
    }
}

Stack Traces 2

[2/2] RuntimeError
Twig\Error\RuntimeError:
An exception has been thrown during the rendering of a template ("Parameter "productname" for route "shop-detail.de" must match "[\w-]+" ("" given) to generate a corresponding URL.") in "product/detail.html.twig" at line 77.

  at templates/product/detail.html.twig:77
  at Twig\Template->yieldBlock()
     (var/cache/dev/twig/4e/4e17ffab65b0b683a42937ff92bfa228.php:167)
  at __TwigTemplate_f93dc594cff53d2c4712d503a209bfd6->block_content()
     (vendor/twig/twig/src/Template.php:446)
  at Twig\Template->yieldBlock()
     (var/cache/dev/twig/aa/aa2bafd918583996d684ee3eb391470b.php:436)
  at __TwigTemplate_73f40042e3580d84d177ced77a9da0b7->doDisplay()
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield()
     (var/cache/dev/twig/4e/4e17ffab65b0b683a42937ff92bfa228.php:65)
  at __TwigTemplate_f93dc594cff53d2c4712d503a209bfd6->doDisplay()
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield()
     (vendor/twig/twig/src/Template.php:358)
  at Twig\Template->display()
     (vendor/twig/twig/src/Template.php:373)
  at Twig\Template->render()
     (vendor/twig/twig/src/TemplateWrapper.php:51)
  at Twig\TemplateWrapper->render()
     (vendor/twig/twig/src/Environment.php:333)
  at Twig\Environment->render()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:463)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:468)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:282)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render()
     (vendor/pimcore/pimcore/lib/Controller/Controller.php:37)
  at Pimcore\Controller\Controller->render()
     (src/Controller/ProductController.php:95)
  at App\Controller\ProductController->detailAction()
     (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:193)
  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:32)
  at require_once('/var/www/vhosts/go4d.ch/utilis.go4d.ch/releases/72/vendor/autoload_runtime.php')
     (public/index.php:20)                
[1/2] InvalidParameterException
Symfony\Component\Routing\Exception\InvalidParameterException:
Parameter "productname" for route "shop-detail.de" must match "[\w-]+" ("" given) to generate a corresponding URL.

  at vendor/symfony/routing/Generator/UrlGenerator.php:178
  at Symfony\Component\Routing\Generator\UrlGenerator->doGenerate()
     (vendor/symfony/routing/Generator/CompiledUrlGenerator.php:69)
  at Symfony\Component\Routing\Generator\CompiledUrlGenerator->generate()
     (vendor/symfony/routing/Router.php:172)
  at Symfony\Component\Routing\Router->generate()
     (vendor/symfony-cmf/routing/src/ChainRouter.php:201)
  at Symfony\Cmf\Component\Routing\ChainRouter->generate()
     (vendor/pimcore/pimcore/lib/Twig/Extension/Templating/PimcoreUrl.php:100)
  at Pimcore\Twig\Extension\Templating\PimcoreUrl->generateUrl()
     (vendor/pimcore/pimcore/lib/Twig/Extension/Templating/PimcoreUrl.php:42)
  at Pimcore\Twig\Extension\Templating\PimcoreUrl->__invoke()
     (src/Website/Tool/PimcoreUrl.php:27)
  at App\Website\Tool\PimcoreUrl->__invoke()
     (src/Website/LinkGenerator/ProductLinkGenerator.php:54)
  at App\Website\LinkGenerator\ProductLinkGenerator->{closure:App\Website\LinkGenerator\ProductLinkGenerator::doGenerate():47}()
     (vendor/pimcore/pimcore/models/DataObject/Service.php:1943)
  at Pimcore\Model\DataObject\Service::useInheritedValues()
     (src/Website/LinkGenerator/ProductLinkGenerator.php:47)
  at App\Website\LinkGenerator\ProductLinkGenerator->doGenerate()
     (src/Website/LinkGenerator/ProductLinkGenerator.php:42)
  at App\Website\LinkGenerator\ProductLinkGenerator->generateWithMockup()
     (src/Twig/Extension/ProductPageExtension.php:50)
  at App\Twig\Extension\ProductPageExtension->generateLink()
     (var/cache/dev/twig/4e/4e17ffab65b0b683a42937ff92bfa228.php:431)
  at __TwigTemplate_f93dc594cff53d2c4712d503a209bfd6->block_colorvariants()
     (vendor/twig/twig/src/Template.php:446)
  at Twig\Template->yieldBlock()
     (var/cache/dev/twig/4e/4e17ffab65b0b683a42937ff92bfa228.php:167)
  at __TwigTemplate_f93dc594cff53d2c4712d503a209bfd6->block_content()
     (vendor/twig/twig/src/Template.php:446)
  at Twig\Template->yieldBlock()
     (var/cache/dev/twig/aa/aa2bafd918583996d684ee3eb391470b.php:436)
  at __TwigTemplate_73f40042e3580d84d177ced77a9da0b7->doDisplay()
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield()
     (var/cache/dev/twig/4e/4e17ffab65b0b683a42937ff92bfa228.php:65)
  at __TwigTemplate_f93dc594cff53d2c4712d503a209bfd6->doDisplay()
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield()
     (vendor/twig/twig/src/Template.php:358)
  at Twig\Template->display()
     (vendor/twig/twig/src/Template.php:373)
  at Twig\Template->render()
     (vendor/twig/twig/src/TemplateWrapper.php:51)
  at Twig\TemplateWrapper->render()
     (vendor/twig/twig/src/Environment.php:333)
  at Twig\Environment->render()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:463)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:468)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:282)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render()
     (vendor/pimcore/pimcore/lib/Controller/Controller.php:37)
  at Pimcore\Controller\Controller->render()
     (src/Controller/ProductController.php:95)
  at App\Controller\ProductController->detailAction()
     (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:193)
  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:32)
  at require_once('/var/www/vhosts/go4d.ch/utilis.go4d.ch/releases/72/vendor/autoload_runtime.php')
     (public/index.php:20)