Exceptions
Exception
Twig\Error\ RuntimeError
Show exception properties
Twig\Error\RuntimeError {#3060 -lineno: 19 -rawMessage: "Neither the property "jtpdcs" nor one of the methods "jtpdcs()", "getjtpdcs()", "isjtpdcs()", "hasjtpdcs()" or "__call()" exist and have public access in class "App\Entity\Catalogue\ProductDetail"." -source: Twig\Source {#2795 -code: """ {% extends 'base.html.twig' %}\n \n {% block title %}{{ product.displayName(app.request.locale) }}{% endblock %}\n \n {% block slider %}{% endblock %}\n \n {% block content %}\n {% set description = null %}\n {% set website = null %}\n {% set jtpdrs = null %}\n {% set jtpdcs = null %}\n {% set attachments = null %}\n {% set notes = null %}\n {% for pd in product.productDetails %}\n {% if pd.language.slug == app.request.locale %}\n {% set description = pd.description %}\n {% set website = pd.website %}\n {% set jtpdrs = pd.jtpdrs %}\n {% set jtpdcs = pd.jtpdcs %}\n {% set attachments = pd.attachments %}\n {% set notes = pd.notes %}\n {% endif %}\n {% endfor %}\n {% set brandLogo = 'brands/' ~ product.iqbCode.brand.directoryPath ~ '/' ~ product.iqbCode.brand.logoPath %}\n \n {% if product.iqbCode.brand.vat == "00090900424" %}\n <section class="section p_0p">\n <div class="container">\n <div class="row">\n <div class="col-12">\n <a href="{{ asset (product.imagePathLocale(app.request.locale, false)) }}" data-lightbox="image"><img src="{{ asset (product.imagePathLocale(app.request.locale, false)) }}"></a>\n {{ description|raw }}\n <a href="{{ asset (brandLogo) }}" data-lightbox="image"><img src="{{ asset (brandLogo) }}" width="150"></a>\n {{ notes|raw }}\n </div>\n </div>\n </div>\n </section>\n {% else %}\n <section class="section p_0p">\n <div class="container">\n <div class="product-single">\n <div class="row">\n <div class="order-1 order-sm-0 col-12 col-sm-8 col-lg-9">\n {# Prodotto #}\n <h4 class="product_sheet_title">{% trans from "website" %}product_table_01{% endtrans %}</h4>\n <p class="m_b_20p">{{ product.displayName(app.request.locale) }}</p>\n \n {# Categorie #}\n <h4 class="product_sheet_title">{% trans from "website" %}product_table_02{% endtrans %}</h4>\n <p class="m_b_20p">\n {% if product.category is not null %}{{ product.category.displayName(app.request.locale) }}{% endif %}\n {% if product.subcategory1 is not null %}/{{ product.subcategory1.displayName(app.request.locale) }}{% endif %}\n {% if product.subcategory2 is not null %}/{{ product.subcategory2.displayName(app.request.locale) }}{% endif %}\n {% if product.subcategory3 is not null %}/{{ product.subcategory3.displayName(app.request.locale) }}{% endif %}\n {% if product.subcategory4 is not null %}/{{ product.subcategory4.displayName(app.request.locale) }}{% endif %}\n </p>\n \n {# Codice #}\n <h4 class="product_sheet_title">{% trans from "website" %}product_table_03{% endtrans %}</h4>\n {% if product.iqbCode is not null %}<p class="text-uppercase m_b_none">IQB: <a href="{{ path ('interactive_products_product_code_sheet', {'iqbValue': product.iqbCode.value }) }}">{{ product.iqbCode.value }}</a></p>{% endif %}\n {% if product.eanCode is not null %}<p class="text-uppercase m_b_none">EAN: {{ product.eanCode.value }}</p>{% endif %}\n {% if codeType == 'iqp' %}<p class="text-uppercase m_b_none">IQP: {{ iqpCode.value }}</p>{% endif %}\n {% if codeType == 'gs1' %}<p class="text-uppercase m_b_none">GS1: {{ iqpCode.gs1Value }}</p>{% endif %}\n \n {# Brand #}\n {% if product.iqbCode.brand is not null %}\n <h4 class="product_sheet_title m_t_20p">{% trans from "website" %}product_table_15{% endtrans %}</h4>\n <p class="m_b_none">{{ product.iqbCode.brand.name }}{% if product.iqbCode.brand.vat is not null %} - {{ product.iqbCode.brand.vat }}{% endif %}</p>\n <p class="m_b_none">{{ product.iqbCode.brand.displayAddress }}</p>\n {% if product.iqbCode.brand.email is not null or product.iqbCode.brand.phone is not null or product.iqbCode.brand.website is not null %}\n <p class="m_b_none">{{ product.iqbCode.brand.displayContacts|raw }}</p>\n {% endif %}\n {% endif %}\n \n {# Produttore #}\n {% if product.producer is not null %}\n <h4 class="product_sheet_title m_t_20p">{% trans from "website" %}product_table_04{% endtrans %}</h4>\n <p class="m_b_none">{{ product.producer.name }}{% if product.producer.vat is not null %} - {{ product.producer.vat }}{% endif %}</p>\n <p class="m_b_none">{{ product.producer.displayAddress }}</p>\n {% if product.producer.email is not null or product.producer.phone is not null or product.producer.website is not null %}\n <p class="m_b_none">{{ product.producer.displayContacts|raw }}</p>\n {% endif %}\n {% endif %}\n \n {# Marchio #}\n {% if product.trademark is not null %}\n <h4 class="product_sheet_title m_t_20p">{% trans from "website" %}product_table_13{% endtrans %}</h4>\n <p class="m_b_none">{{ product.trademark.name }}</p>\n {% endif %}\n \n {# Dettagli prodotto #}\n {% if description is not null and description != "<div><br></div>" and description != "<br>" %}\n <h4 class="product_sheet_title m_t_20p">{% trans from "website" %}product_table_05{% endtrans %}</h4>\n <p>{{ description|raw }}</p>\n {% endif %}\n \n {% if website is not null and pos is null %}\n <h4 class="product_sheet_title m_t_20p">{% trans from "website" %}product_table_08{% endtrans %}</h4>\n <p class="m_b_none"><a href="{{ website }}" target="_blank">{{ website }}</a></p>\n {% endif %}\n \n {# Certificazioni #}\n {% if jtpdcs|length > 0 %}\n <h4 class="product_sheet_title m_t_20p">{% trans from "website" %}product_table_12{% endtrans %}</h4>\n <div class="row m_t_10p">\n {% for jt in jtpdcs %}\n {% set sourceCert = 'images/certificazioni/' ~ jt.certification.imagePath %}\n <div class="col-6 col-sm-12 col-md-6 col-lg-4 m_b_20p">\n <div class="row">\n <div class="col-4 col-sm-3 col-md-4 col-xl-3 txt_a_c">\n <img src="{{ asset (sourceCert) }}"></img>\n </div>\n <div class="col-8 col-sm-9 col-md-8 col-xl-9 txt_a_l">\n <p class="m_t_10p m_b_none">{{ jt.certification.value }}</p>\n </div>\n </div>\n </div>\n {% endfor %}\n </div>\n {% endif %}\n \n {# Smaltimento #}\n {% if jtpdrs|length > 0 %}\n <h4 class="product_sheet_title m_t_20p">{% trans from "website" %}product_table_06{% endtrans %}</h4>\n <div class="row m_t_10p">\n {% for pack in jtpdrs %}\n {% set sourceRecycling = 'images/recycling/' ~ pack.recycling.imagePath %}\n <div class="col-6 col-sm-12 col-md-6 col-lg-4 m_b_20p">\n <div class="row">\n <div class="col-4 col-sm-3 col-md-4 col-xl-3 txt_a_c">\n <img src="{{ asset (sourceRecycling) }}"></img>\n </div>\n <div class="col-8 col-sm-9 col-md-8 col-xl-9 txt_a_l">\n <p class="m_b_none">{{ pack.name }}</p>\n <p class="color_lg m_b_none">{{ pack.recycling.name }}</p>\n </div>\n </div>\n </div>\n {% endfor %}\n </div>\n {% endif %}\n \n {# Allegati #}\n {% if attachments|length > 0 %}\n <h4 class="product_sheet_title m_t_20p">{% trans from "website" %}product_table_07{% endtrans %}</h4>\n <table class="table p_0p">\n {% if attachments|length > 0 %}\n {% for a in attachments %}\n {% set sourceAttachment = 'brands/' ~ brand.directoryPath ~ '/catalogue/' ~ product.directoryPath ~ '/' ~ a.filePath %}\n {% if 'mp4' in sourceAttachment %}\n {% set attType = 'Video' %}\n {% elseif 'png' in sourceAttachment or 'jpg' in sourceAttachment or 'jpeg' in sourceAttachment %}\n {% set attType = 'Immagine' %}\n {% elseif 'doc' in sourceAttachment or 'docx' in sourceAttachment or 'pdf' in sourceAttachment or 'xls' in sourceAttachment or 'xlsx' in sourceAttachment %}\n {% set attType = 'Documento' %}\n {% endif %}\n <tr>\n <td class="td_action">\n {% if attType == 'Video' %}\n <a href="{{ asset (sourceAttachment) }}" data-bs-toggle="tooltip" title="Visualizza video" data-lightbox="iframe"><img class="icon_action icon_pr" src="{{ asset (asset_icons ~ 'play.png') }}"></a>\n {% elseif attType == 'Immagine' %}\n <a href="{{ asset (sourceAttachment) }}" data-bs-toggle="tooltip" title="Visualizza immagine" data-lightbox="image"><img class="icon_action icon_pr" src="{{ asset (asset_icons ~ 'image.png') }}"></a>\n {% elseif attType == 'Documento' %}\n <a href="{{ asset (sourceAttachment) }}" data-bs-toggle="tooltip" title="Visualizza documento" target="_blank"><img class="icon_action icon_pr" src="{{ asset (asset_icons ~ 'doc.png') }}"></a>\n {% endif %}\n </td>\n <td class="v_a_m">{{ a.name }}</td>\n </tr>\n {% endfor %}\n {% endif %}\n </table>\n {% endif %}\n \n {# Dettagli pezzo #}\n {% if codeType == 'iqp' or codeType == 'gs1' %}\n <h4 class="product_sheet_title m_t_20p">{% trans from "website" %}product_table_09{% endtrans %}</h4>\n <p class="m_b_none">{% trans from "website" %}product_table_10{% endtrans %}: {{ iqpCode.value }}</p>\n {% for info in iqpCode.jsonMsg|json_decode %}\n <p class="m_b_none">{{ info.k }}: {{ info.v }}</p>\n {% endfor %}\n {% endif %}\n </div>\n <div class="order-0 order-sm-1 col-12 col-sm-4 col-lg-3 txt_a_c m_b_30p">\n {% if product.iqbCode.brand.logoPath %}<a href="{{ asset (brandLogo) }}" data-lightbox="image"><img src="{{ asset (brandLogo) }}"></a>{% endif %}\n <a href="{{ asset (product.imagePathLocale(app.request.locale, false)) }}" data-lightbox="image"><img src="{{ asset (product.imagePathLocale(app.request.locale, false)) }}"></a>\n </div>\n <div class="order-2 col-12 m_t_20p">\n <div class="row">\n {% if pos != null %}\n {% set selectedJtpp = null %}\n {% for jtpp in product.jtpps %}\n {% if jtpp.pointOfSale.id == pos.id %}\n {% set selectedJtpp = jtpp %}\n {% endif %}\n {% endfor %}\n {% if selectedJtpp is not null %}\n <div class="col-12 m_b_10p">\n <h4 class="product_sheet_title m_t_20p">{% trans from "website" %}product_pos_01{% endtrans %}</h4>\n </div>\n <div class="col-6 col-sm-12 col-md-6 col-lg-4 m_b_20p">\n <a href="{{ path ('point_of_sale_sheet', {'id':pos.id}) }}">\n <div class="row">\n <div class="col-4 col-sm-3 col-md-4 col-xl-3 txt_a_c">\n <img src="{{ asset (pos.logoPathDefault(false)) }}" style="border-radius: 5px">\n </div>\n <div class="col-8 col-sm-9 col-md-8 col-xl-9 txt_a_l">\n <label class="m_t_10p m_b_none" style="letter-spacing: 0px;">{{ pos.name }}</label><br>\n {% if selectedJtpp.isOffer %}\n <p><s>{{ selectedJtpp.price }} €</s> {% trans from "website" %}product_pos_03{% endtrans %} {{ selectedJtpp.priceOffer }} €</p>\n {% else %}\n <p>{{ selectedJtpp.price }} €</p> \n {% endif %}\n </div>\n </div>\n </a>\n </div>\n {% endif %}\n {% else %}\n {% set countPosActive = 0 %}\n {% for jtpp in product.jtpps %}\n {% if jtpp.pointOfSale.active %}\n {% set countPosActive = countPosActive + 1 %}\n {% endif %}\n {% endfor %}\n {% if countPosActive > 0 %}\n <div class="col-12">\n <h4 class="product_sheet_title">{% trans from "website" %}product_pos_04{% endtrans %}</h4>\n <div class="row m_t_10p">\n {% for jtpp in product.jtpps %}\n {% if jtpp.pointOfSale.active %}\n <div class="col-6 col-sm-12 col-md-6 col-lg-4 m_b_20p">\n <div class="row">\n <div class="col-4 col-sm-3 col-md-4 col-xl-3 txt_a_c">\n <img src="{{ asset (jtpp.pointOfSale.logoPathDefault(false)) }}" style="border-radius: 5px">\n </div>\n <div class="col-8 col-sm-9 col-md-8 col-xl-9 txt_a_l">\n <label class="m_t_10p m_b_none" style="letter-spacing: 0px;">{{ jtpp.pointOfSale.name }}</label><br>\n <a href="{{ path ('point_of_sale_sheet', {'id':jtpp.pointOfSale.id}) }}"><u>{% trans from "website" %}product_pos_05{% endtrans %}</u></a>\n </div>\n </div>\n </div>\n {% endif %}\n {% endfor %}\n </div>\n </div>\n {% endif %}\n {% endif %}\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n {% endif %}\n \n {% if iqpCode is not null %}\n {# Modale IQP #}\n <div id="modalIqp" class="modal fade" tabindex="-1" role="dialog">\n <div class="modal-dialog" role="document">\n <div class="modal-content">\n <div class="modal-header"><h4 class="modal-title text-uppercase txt_a_c">Dettagli pezzo</h4></div>\n <div class="modal_stripe"></div>\n <div class="modal-body">\n <div class="row">\n <div class="col-12">\n <h4 class="text-uppercase color_pr m_b_none">{% trans from "website" %}product_table_09{% endtrans %}</h4>\n <p class="m_b_none"><strong>{% trans from "website" %}product_table_10{% endtrans %}</strong>: {{ iqpCode.value }}</p>\n {% if iqpCode.rfid is not null %}<p class="m_b_none"><strong>{% trans from "website" %}product_table_14{% endtrans %}</strong>: {{ iqpCode.rfid }}</p>{% endif %}\n {% for info in iqpCode.jsonMsg|json_decode %}\n <p class="m_b_none"><strong>{{ info.k }}</strong>: {{ info.v }}</p>\n {% endfor %}\n </div>\n </div>\n </div>\n <div class="modal-footer txt_a_c" style="display: flow-root">\n <a href="javascript:void(0)" class="button button-3d button-rounded button-small button-pr" data-bs-dismiss="modal">Chiudi</a>\n </div>\n </div>\n </div>\n </div>\n {% endif %}\n {% endblock %}\n \n {% block footer %}\n {% set cookies = "menu_link_05"|trans({}, 'website') %}\n {% if product.iqbCode.brand.vat == "00090900424" %}\n <footer class="dark bg_fiorini">\n <div id="copyrights">\n <div class="container">\n <div class="row col-mb-30">\n <div class="col-md-4 text-center text-md-left color_w">\n <h4 class="font_22 m_b_10p">Fiorini Packaging S.p.A.</h4>\n <i class="icon-map-marker1"></i> Via Giambattista Fiorini, 25<br>60019 Senigallia (AN) - Italia\n </div>\n <div class="col-md-4 text-center color_w">\n <h5 class="font_20 m_b_10p">{% trans from "website" %}base_footer_03{% endtrans %}</h5>\n <i class="icon-envelope2"></i> <a href="mailto:info@fiorini.biz" class="color_w">info@fiorini.biz</a><br>\n <i class="icon-headphones"></i> +(39) 07166061<br>\n <i class="icon-tag"></i> CF / P. IVA: 00090900424\n </div>\n <div class="col-md-4 text-center text-md-right">\n <a href="javascript: primigenaFooter()" class="button button-3d button-border button-light button-small">{% trans from "website" %}base_footer_11{% endtrans %}</a>\n </div>\n </div>\n </div>\n </div>\n </footer>\n {% endif %}\n <footer id="footer" class="dark bg_pr {% if product.iqbCode.brand.vat == "00090900424" %}display_n{% endif %}">\n <div id="copyrights">\n <div class="container">\n <div class="row col-mb-30">\n <div class="col-md-4 text-center text-md-left color_w">\n <h4 class="font_22 m_b_10p">Primigena Group S.r.l</h4>\n <i class="icon-map-marker1"></i> {% trans from "website" %}base_footer_01{% endtrans %}<br>\n <i class="icon-map-marker1"></i> {% trans from "website" %}base_footer_02{% endtrans %}<br>\n <i class="icon-tag"></i> {% trans from "website" %}base_footer_07{% endtrans %}\n </div>\n <div class="col-md-4 text-center color_w">\n <h5 class="font_20 m_b_10p">{% trans from "website" %}base_footer_03{% endtrans %}</h5>\n <i class="icon-envelope2"></i> <a href="mailto:info@primigenagroup.com" class="color_w">{% trans from "website" %}base_footer_04{% endtrans %}</a><br>\n <i class="icon-phone"></i> {% trans from "website" %}base_footer_05{% endtrans %}<br>\n <i class="icon-phone"></i> {% trans from "website" %}base_footer_06{% endtrans %}<br>\n </div>\n <div class="col-md-4 text-center text-md-right">\n <div class="d-flex justify-content-center justify-content-md-end">\n <a href="#" class="social-icon si-small si-borderless si-facebook">\n <i class="icon-facebook"></i>\n <i class="icon-facebook"></i>\n </a>\n <a href="#" class="social-icon si-small si-borderless si-linkedin">\n <i class="icon-linkedin"></i>\n <i class="icon-linkedin"></i>\n </a>\n </div>\n <div class="copyright-links color_w">\n <a href="{{ asset ('documents/privacy.pdf')}}" target="_blank" class="color_w">{% trans from "website" %}base_footer_08{% endtrans %}</a><span class="middot">·</span>\n <a href="{{ path ('cookies', {'slug': cookies }) }}" class="color_w">{% trans from "website" %}base_footer_09{% endtrans %}</a><br>\n {% trans from "website" %}base_footer_10{% endtrans %} <a href="https://www.rpgmultimedia.it" target="_blank" class="color_w">R.P.G.</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </footer>\n {% endblock %}\n \n {% block javascripts %}\n {{ parent() }}\n <script>\n function primigenaFooter(){\n document.getElementById('footer').style.display = "block";\n }\n \n {% if iqpCode is not null and codeType == 'iqp' or codeType == 'gs1' %}\n $(document).ready(function(){\n $('#modalIqp').modal('show');\n });\n {% endif %}\n </script>\n {% endblock %} """ -name: "default/interactive_products/product_sheet.html.twig" -path: "/var/www/vhosts/primigenagroup.com/templates/default/interactive_products/product_sheet.html.twig" } -phpFile: "/var/www/vhosts/primigenagroup.com/vendor/twig/twig/src/Extension/CoreExtension.php" -phpLine: 1893 }
{% for pd in product.productDetails %}{% if pd.language.slug == app.request.locale %}{% set description = pd.description %}{% set website = pd.website %}{% set jtpdrs = pd.jtpdrs %}{% set jtpdcs = pd.jtpdcs %}{% set attachments = pd.attachments %}{% set notes = pd.notes %}{% endif %}{% endfor %}{% set brandLogo = 'brands/' ~ product.iqbCode.brand.directoryPath ~ '/' ~ product.iqbCode.brand.logoPath %}
in
var/cache/dev/twig/c1/c188e0c467d3d162e8260805006170b7.php
::
getAttribute
(line 161)
// line 18yield " ";$context["jtpdrs"] = CoreExtension::getAttribute($this->env, $this->source, $context["pd"], "jtpdrs", [], "any", false, false, false, 18);// line 19yield " ";$context["jtpdcs"] = CoreExtension::getAttribute($this->env, $this->source, $context["pd"], "jtpdcs", [], "any", false, false, false, 19);// line 20yield " ";$context["attachments"] = CoreExtension::getAttribute($this->env, $this->source, $context["pd"], "attachments", [], "any", false, false, false, 20);// line 21yield " ";
in
vendor/twig/twig/src/Template.php
->
block_content
(line 446)
throw new \LogicException('A block must be a method on a \Twig\Template instance.');}if (null !== $template) {try {yield from $template->$block($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($template->getSourceContext());}
in
var/cache/dev/twig/07/07a747e8982b0d8791f0b32fc22be85e.php
->
yieldBlock
(line 306)
}// line 386yield "";// line 387yield from $this->unwrap()->yieldBlock('content', $context, $blocks);// line 388yield "";// line 389yield from $this->unwrap()->yieldBlock('footer', $context, $blocks);
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{$context += $this->env->getGlobals();$blocks = array_merge($this->blocks, $blocks);try {yield from $this->doDisplay($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($this->getSourceContext());}
in
var/cache/dev/twig/c1/c188e0c467d3d162e8260805006170b7.php
->
yield
(line 57)
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "default/interactive_products/product_sheet.html.twig"));$this->parent = $this->load("base.html.twig", 1);yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{$context += $this->env->getGlobals();$blocks = array_merge($this->blocks, $blocks);try {yield from $this->doDisplay($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($this->getSourceContext());}
in
vendor/twig/twig/src/Template.php
->
yield
(line 358)
return $this->blocks;}public function display(array $context, array $blocks = []): void{foreach ($this->yield($context, $blocks) as $data) {echo $data;}}public function render(array $context): string
in
vendor/twig/twig/src/Template.php
->
display
(line 373)
ob_start();} else {ob_start(static function () { return ''; });}try {$this->display($context);} catch (\Throwable $e) {while (ob_get_level() > $level) {ob_end_clean();}
in
vendor/twig/twig/src/TemplateWrapper.php
->
render
(line 51)
yield from $this->template->yieldBlock($name, $context);}public function render(array $context = []): string{return $this->template->render($context);}/*** @return void*/
in
vendor/twig/twig/src/Environment.php
->
render
(line 333)
* @throws SyntaxError When an error occurred during compilation* @throws RuntimeError When an error occurred during rendering*/public function render($name, array $context = []): string{return $this->load($name)->render($context);}/*** Displays a template.*
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
render
(line 467)
if (null !== $block) {return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);}return $this->container->get('twig')->render($view, $parameters);}private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response{$content = $this->doRenderView($view, $block, $parameters, $method);
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRenderView
(line 472)
return $this->container->get('twig')->render($view, $parameters);}private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response{$content = $this->doRenderView($view, $block, $parameters, $method);$response ??= new Response();if (200 === $response->getStatusCode()) {foreach ($parameters as $v) {if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRender
(line 284)
* If an invalid form is found in the list of parameters, a 422 status code is returned.* Forms found in parameters are auto-cast to form views.*/protected function render(string $view, array $parameters = [], ?Response $response = null): Response{return $this->doRender($view, null, $parameters, $response, __FUNCTION__);}/*** Renders a block in a view.*
if(!in_array($request->getLocale(), $pdLanguages)){$this->addFlash('notice_warning', $translator->trans('product_language_not_found', [], 'website'));return $this->redirectToRoute('interactive_products');}return $this->render('default/interactive_products/product_sheet.html.twig', array('brand' => $brand,'product' => $product,'iqpCode' => $iqpCode,'codeType' => $codeType,'bgColor' => $bgColor,
in
vendor/symfony/http-kernel/HttpKernel.php
->
interactiveProductsProductSheet
(line 183)
$this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);$controller = $event->getController();$arguments = $event->getArguments();// call controller$response = $controller(...$arguments);// viewif (!$response instanceof Response) {$event = new ViewEvent($this, $request, $type, $response, $event);$this->dispatcher->dispatch($event, KernelEvents::VIEW);
in
vendor/symfony/http-kernel/HttpKernel.php
->
handleRaw
(line 76)
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());$this->requestStack->push($request);$response = null;try {return $response = $this->handleRaw($request, $type);} catch (\Throwable $e) {if ($e instanceof \Error && !$this->handleAllThrowables) {throw $e;}
in
vendor/symfony/http-kernel/Kernel.php
->
handle
(line 193)
if (!$this->handlingHttpCache) {$this->resetServices = true;}try {return $this->getHttpKernel()->handle($request, $type, $catch);} finally {--$this->requestStackSize;}}
in
vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php
->
handle
(line 35)
) {}public function run(): int{$response = $this->kernel->handle($this->request);if (Kernel::VERSION_ID >= 60400) {$response->send(false);if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in
vendor/autoload_runtime.php
->
run
(line 32)
$app = $app(...$args);exit($runtime->getRunner($app)->run());
require_once('/var/www/vhosts/primigenagroup.com/vendor/autoload_runtime.php')
in
httpdocs/index.php
(line 5)
<?phpuse App\Kernel;require_once dirname(__DIR__).'/vendor/autoload_runtime.php';return function (array $context) {return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);};
Logs
| Level | Channel | Message |
|---|---|---|
| INFO 23:31:11 | request |
Matched route "_profiler". {
"route": "_profiler",
"route_parameters": {
"_route": "_profiler",
"_controller": "web_profiler.controller.profiler::panelAction",
"token": "1a1830"
},
"request_uri": "https://primigenagroup.com/_profiler/1a1830",
"method": "GET"
}
|
| DEBUG 23:31:11 | 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:31:11 | event |
Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke". {
"event": "kernel.request",
"listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke"
}
|
| DEBUG 23:31:11 | 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:31:11 | 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:31:11 | 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:31:11 | 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:31:11 | event |
Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest"
}
|
| DEBUG 23:31:11 | 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:31:11 | 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:31:11 | 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:31:11 | 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:31:11 | 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:31:11 | 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:31:11 | 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:31:11 | event |
Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController". {
"event": "kernel.controller",
"listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
|
| INFO 23:31:11 | deprecation |
User Deprecated: Since symfony/var-exporter 7.3: The "Symfony\Component\VarExporter\LazyGhostTrait" trait is deprecated, use native lazy objects instead. {
"exception": {}
}
|
| DEBUG 23:31:11 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\IsSignatureValidAttributeListener::onKernelControllerArguments". {
"event": "kernel.controller_arguments",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\IsSignatureValidAttributeListener::onKernelControllerArguments"
}
|
| DEBUG 23:31:11 | 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:31:11 | 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:31:11 | 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:31:11 | 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:31:11 | 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
|
RuntimeError
|
|---|
Twig\Error\RuntimeError:
Neither the property "jtpdcs" nor one of the methods "jtpdcs()", "getjtpdcs()", "isjtpdcs()", "hasjtpdcs()" or "__call()" exist and have public access in class "App\Entity\Catalogue\ProductDetail" in "default/interactive_products/product_sheet.html.twig" at line 19.
at templates/default/interactive_products/product_sheet.html.twig:19
at Twig\Extension\CoreExtension::getAttribute()
(var/cache/dev/twig/c1/c188e0c467d3d162e8260805006170b7.php:161)
at __TwigTemplate_8ece1f7658498302097832a01f9f0727->block_content()
(vendor/twig/twig/src/Template.php:446)
at Twig\Template->yieldBlock()
(var/cache/dev/twig/07/07a747e8982b0d8791f0b32fc22be85e.php:306)
at __TwigTemplate_a7bc179c89ed51fe2a1af9c631133ebc->doDisplay()
(vendor/twig/twig/src/Template.php:402)
at Twig\Template->yield()
(var/cache/dev/twig/c1/c188e0c467d3d162e8260805006170b7.php:57)
at __TwigTemplate_8ece1f7658498302097832a01f9f0727->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:467)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView()
(vendor/symfony/framework-bundle/Controller/AbstractController.php:472)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender()
(vendor/symfony/framework-bundle/Controller/AbstractController.php:284)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render()
(src/Controller/DefaultServicesController.php:1177)
at App\Controller\DefaultServicesController->interactiveProductsProductSheet()
(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/primigenagroup.com/vendor/autoload_runtime.php')
(httpdocs/index.php:5)
|