ErrorController :: show
Request
GET Parameters
None
POST Parameters
None
Uploaded Files
None
Request Attributes
| Key | Value |
|---|---|
| _controller | "App\Controller\ErrorController::show" |
| _stopwatch_token | "1dc706" |
| exception | Twig\Error\RuntimeError {#2942 #message: "Impossible to access an attribute ("pageUrl") on a null variable." #code: 0 #file: "/home/sites/web-services/templates/pages/index.html.twig" #line: 353 -lineno: 353 -name: "pages/index.html.twig" -rawMessage: "Impossible to access an attribute ("pageUrl") on a null variable." -sourcePath: "/home/sites/web-services/templates/pages/index.html.twig" -sourceCode: """ {% extends 'base.html.twig' %}\n \n {% block title %}{{ (homepage.pageTitle ??"Flooring Services") | replace_placeholders(appData) }}{% endblock %}\n {% set base_uri = path('app_index') %}\n {% set homepage = appData.homepage %}\n \n {% block meta_tags %}\n <meta name="description" content="{{ (homepage.metaDescription ??"Flooring Services") | replace_placeholders(appData) }}">\n <meta property="og:description" content="{{ (homepage.metaDescription ??"Flooring Services") | replace_placeholders(appData) }}">\n <meta property="og:title" content="{{ (homepage.pageTitle ??"Flooring Services") | replace_placeholders(appData) }}"> \n {% if homepage.metaKeywords %}\n \t<meta name="keywords" content="{{ homepage.metaKeywords }}">\n {% endif %}\n <meta property="og:url" content="{{ base_uri }}">\n {% endblock %}\n \n {% block stylesheets %}\n {{ parent() }}\n {% endblock %}\n {% block body %}\n \n {% if homepage.carouselSlides | length %}\n \t{% include 'includes/main-slider.html.twig' with {'appdata': appData, 'pagedata': homepage} %}\n {% endif %}\n \n <!--Start Services Single One-->\n <section class="services-single-one clearfix py-5">\n <div class="container">\n \t<div class="row">\n \t\t<!--Start Services Single One Content-->\n \t\t<div class="col-xl-8 col-lg-7">\n \t\t\t<div class="services-single-one__content">\n \n \t\t\t\t<div class="title">\n \t\t\t\t\t<h1>{{ appData.homepage.pageHeading | replace_placeholders(appData) | raw }}</h1>\n \t\t\t\t\t<p>{{ appData.homepage.pageSubheading | replace_placeholders(appData) | raw }}</p>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="services-single-one__content-list">\n \t\t\t\t\t{% if appData.homepage.thumbnail is not empty %}\n \t\t\t\t\t\t<img src="{{ appData.homepage.thumbnail.path }}" class="img-responsive float-start mr-3" alt="{{ appData.homepage.thumbnail.caption is defined ? appData.homepage.thumbnail.caption | replace_placeholders(appData):'' }}" title="{{ appData.homepage.thumbnail.caption is defined ? appData.homepage.thumbnail.caption | replace_placeholders(appData):'' }}">\n \t\t\t\t\t{% endif %}\n \t\t\t\t\t\n \t\t\t\t\t{{ appData.homepage.content | replace_placeholders(appData) | raw }}\n \t\t\t\t</div>\n \t\t\t\t\n \t\t\t\t{# Brands block start here #}\n \t\t\t\t{% if appData.brand is not empty %}\n \t\t\t\t<div class="services-single-one__content-list">\n \t\t\t\t\t{% if appData.homepage.texts.brands_content is not empty %}\n \t\t\t\t\t\t<div class="brands-heading fs-12 text-center"><i>{{ appData.homepage.texts.brands_content | raw }}</i></div>\n \t\t\t\t\t{% endif %}\n \t\t\t\t\t\n \t\t\t\t\t<div class="company-logos-one__carousel owl-carousel owl-theme owl-dot-type1">\n \t\t\t\t\t{% for brand in appData.brand %}\n \t\t\t\t\t\t{% if brand.thumbnail.path %}\n \t\t\t\t\t\t\t<img class="border" src="{{ brand.thumbnail.path }}" alt="{{ brand.thumbnail.caption is defined ? brand.thumbnail.caption | replace_placeholders(appData) : '' }}" title="{{ brand.thumbnail.caption is defined ? brand.thumbnail.caption | replace_placeholders(appData) : '' }}">\n \t\t\t\t\t\t{% endif %}\n \t\t\t\t\t{% endfor %}\n \t\t\t\t\t</div>\n \t\t\t\t</div>\t\n \t\t\t\t{% endif %}\n \t\t\t</div>\t\t\t\n \t\t</div>\n \t\t<!--End Services Single One Content-->\n \n \t\t<!--Start Review Sidebar -->\n \t\t<div class="col-xl-4 col-lg-5">\n \t\t\t<div class="services-single__sidebar">\t\n \t\t\t\t{% set texts = appData.texts ?? [] %}\n \t\t\t\t{% if texts['facebook_widget'] is defined and texts['facebook_widget']|trim is not empty %}\t\n \t\t\t\t<!--Start Facebook Widget -->\n \t\t\t\t<div class="services-single__sidebar-single wow fadeInUp animated mb-4" data-wow-delay="0.0s"\n \t\t\t\t\tdata-wow-duration="1200ms">\n \t\t\t\t\t<div class="services-single__sidebar-services">\n \t\t\t\t\t\t{{ facebook_widget(appData) | raw }}\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t<!--End Facebook Widget -->\n \t\t\t\t{% endif %}\n \t\t\t\t{% if texts['twitter_widget'] is defined and texts['twitter_widget']|trim is not empty %}\t\n \t\t\t\t<!--Start Twitter Widget -->\n \t\t\t\t<div class="services-single__sidebar-single wow fadeInUp animated mb-4" data-wow-delay="0.0s"\n \t\t\t\t\tdata-wow-duration="1200ms">\n \t\t\t\t\t<div class="services-single__sidebar-services">\n \t\t\t\t\t\t{{ twitter_widget(appData) | raw }}\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t{% endif %}\n \t\t\t\t<!--End Twitter Widget -->\n \t\t\t</div>\n \t\t</div>\n \t\t<!--End Services Single Sidebar-->\n \t</div>\n </div>\n </section>\n <!--End Services Single One-->\n \n {% if is_module_enabled(appData, 'services') %}\n \t<!--Start Services Two-->\n \t<section class="services-two pt-3">\n \t<div class="container">\n \t\t<div class="sec-title text-center">\n \t\t\t<h2 class="sec-title__title">Our Services</h2>\n \t\t</div>\n \t\t<div class="row">\n \t\t\t<div class="col-xl-12">\n \t\t\t\t<div class="services-two__carousel owl-carousel owl-theme owl-dot-type1">\n \t\t\t\t\t{% for service in appData.services %}\n \t\t\t\t\t\t{% if service.isPublished is defined and service.isPublished %}\n \t\t\t\t\t\t{% set thumb = service.thumbnail %}\n \t\t\t\t\t\t<!--Start Single Services Two-->\n \t\t\t\t\t\t<div class="services-two__single wow animated fadeInUp" data-wow-delay="0.1s">\n \t\t\t\t\t\t\t{% if thumb.path is not empty%}\n \t\t\t\t\t\t\t\t<div class="services-two__single-img">\n \t\t\t\t\t\t\t\t\t<a href="{{ service.pageUrl }}">\n \t\t\t\t\t\t\t\t\t\t<img src="{{ thumb.path }}" alt="{{ thumb.caption is defined ? thumb.caption | replace_placeholders(appData):'' }}" title="{{ thumb.caption is defined ? thumb.caption | replace_placeholders(appData):'' }}"/>\n \t\t\t\t\t\t\t\t\t</a>\n \t\t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t\t{% endif %}\t\t\t\t\t\t\t\t\n \n \t\t\t\t\t\t\t<div class="services-two__single-content text-center">\n \t\t\t\t\t\t\t\t<h2 class="fs-18 services-heading">\n \t\t\t\t\t\t\t\t\t<a href="{{ service.pageUrl }}">{{ service.name }}</a>\n \t\t\t\t\t\t\t\t</h2>\n \t\t\t\t\t\t\t\t<p class="services-content">\n \t\t\t\t\t\t\t\t{{ service.summary | truncate_description(300) | replace_placeholders(appData)}}\n \t\t\t\t\t\t\t\t</p>\n \t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t</div>\n \t\t\t\t\t\t<!--End Single Services Two-->\t\n \t\t\t\t\t\t{% endif %}\n \t\t\t\t\t{% endfor %}\t\t\t\t\t\t\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t</div>\n \t</div>\n \t</section>\n <!--End Services Two-->\n {% endif %}\n \n {% if is_module_enabled(appData, 'portfolio') %}\n <!--Start Projects One-->\n <section class="projects-one py-5">\n \t<div class="container">\n \t\t<div class="row">\n \t\t\t<div class="col-xl-12">\n \t\t\t\t<div class="projects-one__top">\n \t\t\t\t\t<div class="sec-title">\n \t\t\t\t\t\t<span class="sec-title__tagline">Our PROJECTS</span>\n \t\t\t\t\t\t<h2 class="sec-title__title">We have done more than<br> <span class="odometer"\n \t\t\t\t\t\t\t\tdata-count="1000">00</span><span class="plus">+</span> flooring successful\n \t\t\t\t\t\t\tproject\n \t\t\t\t\t\t</h2>\n \t\t\t\t\t</div>\n \n \t\t\t\t\t<div class="projects-one__top-btn">\n \t\t\t\t\t\t<a href="/portfolio" class="thm-btn">More Projects</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t</div>\n \t</div>\n \t<div class="auto-container">\n \t\t<div class="row">\n \t\t\t<div class="portfolio-one__carousel owl-carousel owl-theme owl-dot-type1">\n \t\t\t{% for key,portfolio in appData.portfolios %}\n \t\t\t\t<!--Start Single Projects One-->\n \t\t\t\t<div class="wow fadeInLeft" data-wow-delay="0ms" data-wow-duration="1500ms">\n \t\t\t\t\t<div class="projects-one__single">\n \t\t\t\t\t\t<div class="projects-one__single-img">\n \t\t\t\t\t\t\t<a href="/portfolio">\n \t\t\t\t\t\t\t\t{% if portfolio.thumbnail is defined and portfolio.thumbnail.path is defined %}\n \t\t\t\t\t\t\t\t<img src="{{ portfolio.thumbnail.path }}"/>\n \t\t\t\t\t\t\t\t{% endif %}\n \t\t\t\t\t\t\t</a>\n \t\t\t\t\t\t</div>\n \n \t\t\t\t\t\t<div class="projects-one__single-content px-3 py-3 text-center">\n \t\t\t\t\t\t\t{% set serviceNames = [] %}\n \t\t\t\t\t\t\t{% if portfolio.services | length %}\n \t\t\t\t\t\t\t{% for key, service in portfolio.services %}\n \t\t\t\t\t\t\t\t{% if serviceNames | length < 2 %}\n \t\t\t\t\t\t\t\t\t{% set serviceNames = serviceNames|merge([service.name]) %}\n \t\t\t\t\t\t\t\t{% endif %}\n \t\t\t\t\t\t\t{% endfor %}\n \t\t\t\t\t\t\t<span class="fs-10">{{ serviceNames|join(', ') }}</span>\n \t\t\t\t\t\t\t{% endif %}\n \t\t\t\t\t\t</div>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t<!--End Single Projects One-->\n \t\t\t{% endfor %}\n \t\t\t</div>\n \t\t</div>\n \t</div>\n </section>\n {% endif %}\n \n {% if is_module_enabled(appData, 'offers') and is_module_enabled(appData, 'portfolio') and is_module_enabled(appData, 'askexpert') %}\n {% set portfolio_box = get_box(appData, 'portfolio') %}\n {% set offers_box = get_box(appData, 'offers') %}\n {% set askexpert_box = get_box(appData, 'askexpert') %}\n \n <!--Start About One-->\n <section class="about-one about-one--two py-5">\n \t<div class="container">\n \t\t<div class="row">\n \t\t\t{% if offers_box is not empty %}\n \t\t\t<!--Start Single Services One-->\n \t\t\t<div class="col-xl-4 col-lg-4 wow fadeInLeft" data-wow-delay="0ms" data-wow-duration="1500ms">\n \t\t\t\t<div class="services-one__single text-center">\n \t\t\t\t\t<div class="services-one__single-icon">\n \t\t\t\t\t\t<span class="icon-carpet"></span>\n \t\t\t\t\t</div>\n \t\t\t\t\t<h2><a href="/special-offers">{{ offers_box.boxHeading | replace_placeholders(appData) | raw }}</a></h2>\n \t\t\t\t\t<div class="text services-box-content">\n \t\t\t\t\t\t<p>{{ offers_box.boxContent | replace_placeholders(appData) | raw }}</p>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t\t<!--End Single Services One-->\n \t\t\t{% endif %}\n \t\t\t{% if portfolio_box is not empty %}\n \t\t\t<!--Start Single Services One-->\n \t\t\t<div class="col-xl-4 col-lg-4 wow fadeInLeft" data-wow-delay="200ms" data-wow-duration="1500ms">\n \t\t\t\t<div class="services-one__single text-center">\n \t\t\t\t\t<div class="services-one__single-icon bg2">\n \t\t\t\t\t\t<span class="icon-kitchen1"></span>\n \t\t\t\t\t</div>\n \t\t\t\t\t<h2><a href="/portfolio">{{ portfolio_box.boxHeading | replace_placeholders(appData) | raw }}</a></h2>\n \t\t\t\t\t<div class="text services-box-content">\n \t\t\t\t\t\t<p>{{ portfolio_box.boxContent | replace_placeholders(appData) | raw }}</p>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t\t<!--End Single Services One-->\n \t\t\t{% endif %}\n \t\t\t{% if askexpert_box is not empty %}\n \t\t\t<!--Start Single Services One-->\n \t\t\t<div class="col-xl-4 col-lg-4 wow fadeInLeft" data-wow-delay="400ms" data-wow-duration="1500ms">\n \t\t\t\t<div class="services-one__single text-center">\n \t\t\t\t\t<div class="services-one__single-icon bg3">\n \t\t\t\t\t\t<span class="icon-logs"></span>\n \t\t\t\t\t</div>\n \t\t\t\t\t<h2><a href="/ask-an-expert">{{ askexpert_box.boxHeading | replace_placeholders(appData) | raw }}</a></h2>\n \t\t\t\t\t<div class="text services-box-content">\n \t\t\t\t\t\t<p>{{ askexpert_box.boxContent | replace_placeholders(appData) | raw }}</p>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t\t<!--End Single Services One-->\n \t\t\t{% endif %}\n \t\t</div>\n \t</div>\n </section>\n <!--End About One-->\n {% endif %}\n {% if is_module_enabled(appData, 'places') %}\n <!--Start Best Logistics One-->\n <section class="best-logistics-one py-5">\n \t<div class="container">\n \t\t<div class="row">\n \t\t\t<div class="col-md-12">\n \t\t\t<!--Start Best Logistics One Content-->\n \t\t\t{{ regions_widget(appData) | raw }}\n \t\t\t</div>\n \t\t</div>\n \t</div>\n </section>\n {% endif %}\n <!--End Best Logistics One-->\n \n {% if appData.reviews | length %}\n <!--Start Testimonial One-->\n <section class="testimonial-one" itemscope itemtype="http://data-vocabulary.org/Review-aggregate">\n \t<div class="container">\n \t\t{% set totalRating = 0 %}\n \t\t{% set totalReviews = 0 %}\n \t\t\n \t\t{% for review in appData.reviews %}\n \t\t\t{% set totalRating = totalRating + review.rating %}\n \t\t\t{% set totalReviews = totalReviews + 1 %}\n \t\t{% endfor %}\n \t\t{% if totalReviews > 0 %} {# Check if totalReviews is not zero to avoid division by zero #}\n \t\t\t{% set averageRating = totalRating / totalReviews %}\n \t\t{% else %}\n \t\t\t{% set averageRating = 0 %}\n \t\t{% endif %}\n \t\t<div class="sec-title text-center pt-5">\n \t\t\t<h2 class="sec-title__title">Here's what our satisfied <br> clients are saying...</h2>\n \t\t\t<div class="p-3 reviews-testimonilas-heading">\t\n \t\t\t\t<meta itemprop="itemreviewed" content="{{ appData.company.name }}" />\n \t\t\t\t<span itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating">\n \t\t\t\tRated <strong itemprop="average">{{ averageRating|number_format(2, '.', '') }}</strong> out of <strong itemprop="best">5</strong>\n \t\t\t\t</span>\n \t\t\t\tbased on <u><a href="/reviews" class="text-bold text-primary text-undelined"><span itemprop="count">{{ totalReviews }}</span> user review{{ (totalReviews == 1 ? '' : 's') }} </a></u>\n \t\t\t</div>\t\n \t\t</div>\n \t\t<div class="row">\n \t\t\t<div class="col-xl-12">\n \t\t\t\t<div class="testimonial-one__carousel owl-carousel owl-theme">\n \t\t\t\t{% for review in appData.reviews %}\n \t\t\t\t\t\n \t\t\t\t\t{% if review.job is not empty %}\n \t\t\t\t\t<!--Start Single Testimonial One-->\n \t\t\t\t\t<div class="testimonial-one__single py-5" itemscope itemtype="http://data-vocabulary.org/Review">\n \t\t\t\t\t\t<meta itemprop="itemreviewed" content="{{ review.createdAt | date("d-m-Y")}}">\n \t\t\t\t\t\t<meta itemprop="rating" content="{{ review.rating }}">\n \t\t\t\t\t\t<div class="testimonial-heading"><span class="fa rating rating-{{ review.rating }}0 fs-10"></span><span itemprop="summary"></span></div>\n \t\t\t\t\t\t<div class="text testimonial-content">\n \t\t\t\t\t\t\t<p class="fs-12">{{ review.content | truncate_description(110, '...') }} </p>\n \t\t\t\t\t\t</div>\n \n \t\t\t\t\t\t<div class="client-info">\n \t\t\t\t\t\t\t<div class="title">\n \t\t\t\t\t\t\t\t<h3 itemprop="reviewer">{{ review.name }}</h3>\n \t\t\t\t\t\t\t\t<p>{{ review.job }}</p>\n \t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t</div>\n \t\t\t\t\t</div>\n \t\t\t\t\t<!--End Single Testimonial One-->\n \t\t\t\t\t{% endif %}\n \t\t\t\t\t\n \t\t\t\t{% endfor %}\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t</div>\n \t</div>\n </section>\n <!--End Testimonial One-->\n {% endif %}\n {% if is_module_enabled(appData, 'articles') and page_is_copy != true %}\n <!--Start Blog One-->\n <section class="blog-one">\n \t<div class="container">\n \t\t<div class="sec-title text-center">\n \t\t\t<h2 class="sec-title__title">Lastest articles</h2>\n \t\t</div>\n \t\t{% if appData.articles | length %}\n \t\t<div class="row">\n \t\t{% for key, article in appData.articles %}\n \t\t\t{% if key < 3 %}\n \t\t\t\t<!--Start Single Blog One-->\n \t\t\t\t{% set articles_category = article.articleCategory %}\n \t\t\t\t<div class="col-xl-4 col-lg-4 wow animated fadeInUp" data-wow-delay="0.1s">\n \t\t\t\t\t<div class="blog-one__single">\n \t\t\t\t\t\t<div class="blog-one__single-img">\n \t\t\t\t\t\t\t{% if article.thumbnail is defined and article.thumbnail.path is defined %}\n \t\t\t\t\t\t\t<img src="{{ article.thumbnail.path }}" alt="{{ article.thumbnail.caption is defined ? article.thumbnail.caption:'' | replace_placeholders(appData) }}" title="{{ article.thumbnail.caption is defined ? article.thumbnail.caption:'' | replace_placeholders(appData) }}"/>\n \t\t\t\t\t\t\t{% endif %}\n \t\t\t\t\t\t\t<div class="overlay-icon">\n \t\t\t\t\t\t\t\t<a href="/articles/{{articles_category.pageUrl}}/{{article.pageUrl}}"><span class="fa fa-plus"></span></a>\n \t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t\t<div class="overlay-text">\n \t\t\t\t\t\t\t\t<span>{{ article.articleCategory.name }}</span>\n \t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t</div>\n \n \t\t\t\t\t\t<div class="blog-one__single-content">\n \t\t\t\t\t\t\t<ul class="meta-info">\n \t\t\t\t\t\t\t\t<li>\n \t\t\t\t\t\t\t\t\t<div class="icon">\n \t\t\t\t\t\t\t\t\t\t<i class="icon-clock-3" aria-hidden="true"></i>\n \t\t\t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t\t\t\t<div class="text">\n \t\t\t\t\t\t\t\t\t\t<p>{{ article.createdAt | date('d M Y') }}</p>\n \t\t\t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t\t\t</li>\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t</ul>\n \t\t\t\t\t\t\t<h2><a href="/articles/{{articles_category.pageUrl}}/{{article.pageUrl}}">{{ article.pageHeading }}</a></h2>\n \t\t\t\t\t\t\t<p>{{ article.summary }}</p>\n \t\t\t\t\t\t</div>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t<!--End Single Blog One-->\n \t\t\t{% endif %}\n \t\t{% endfor %}\n \t\t</div>\n \t\t{% endif %}\n \t</div>\n </section>\n {% endif %}\n {% endblock %} """ : { { twig_get_attribute(Environment $env, Source $source, $object, $item, array $arguments = [], $type = 'any', $isDefinedTest = false, $ignoreStrictCheck = false, $sandboxed = false, int $lineno = -1) … › |
| logger | Symfony\Bridge\Monolog\Processor\DebugProcessor {#261 -records: [ 2 => [ [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.616+00:00" "message" => "Matched route "{route}"." "priority" => 200 "priorityName" => "INFO" "context" => [ "route" => "app_index" "route_parameters" => [ "_route" => "app_index" "_controller" => "App\Controller\IndexController::index" ] "request_uri" => "https://www.woodfloorsanding.london/" "method" => "GET" ] "channel" => "request" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Checking for authenticator support." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "firewall_name" => "main" "authenticators" => 1 ] "channel" => "security" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Checking support on authenticator." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "firewall_name" => "main" "authenticator" => "Symfony\Component\Security\Http\Authenticator\FormLoginAuthenticator" ] "channel" => "security" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Authenticator does not support the request." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "firewall_name" => "main" "authenticator" => "Symfony\Component\Security\Http\Authenticator\FormLoginAuthenticator" ] "channel" => "security" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.request" "listener" => "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.request" "listener" => "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.request" "listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.request" "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.request" "listener" => "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.request" "listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.request" "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.request" "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.request" "listener" => "App\EventListener\ApiAuthenticationListener::__invoke" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.request" "listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.618+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.request" "listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.639+00:00" "message" => "Connecting with parameters {params}" "priority" => 200 "priorityName" => "INFO" "context" => [ "params" => [ "driver" => "pdo_mysql" "host" => "127.0.0.1" "port" => 3306 "user" => "root" "password" => "<redacted>" "driverOptions" => [] "defaultTableOptions" => [] "dbname" => "web_services" "serverVersion" => "8.0.32" "charset" => "utf8mb4" ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.641+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.name AS name_2, t0.is_published AS is_published_3, t0.theme AS theme_4, t0.theme_color AS theme_color_5, t0.modules AS modules_6, t0.header_logo AS header_logo_7, t0.footer_logo AS footer_logo_8, t0.facebook_url AS facebook_url_9, t0.facebook_id AS facebook_id_10, t0.twitter_url AS twitter_url_11, t0.twitter_username AS twitter_username_12, t0.linkedin_url AS linkedin_url_13, t0.youtube_url AS youtube_url_14, t0.pinterest_url AS pinterest_url_15, t0.google_analytics_id AS google_analytics_id_16, t0.google_site_verification AS google_site_verification_17, t0.bing_site_verification AS bing_site_verification_18, t0.pinterest_site_verification AS pinterest_site_verification_19, t0.is_boxed_layout AS is_boxed_layout_20, t0.background_color AS background_color_21, t0.background AS background_22, t0.specials_background AS specials_background_23, t0.icon AS icon_24, t0.favicon AS favicon_25, t0.icon_tile_background AS icon_tile_background_26, t0.texts AS texts_27, t0.callback_background AS callback_background_28, t0.livechat AS livechat_29, t0.livechat_badge_image AS livechat_badge_image_30, t0.livechat_operator_avatar AS livechat_operator_avatar_31, t0.email_logo AS email_logo_32, t0.covered_areas_image AS covered_areas_image_33, t0.place_name AS place_name_34, t0.company_id AS company_id_35, t36.id AS id_37, t36.page_heading AS page_heading_38, t36.page_breadcrumb AS page_breadcrumb_39, t36.page_title AS page_title_40, t36.social_title AS social_title_41, t36.social_description AS social_description_42, t36.meta_description AS meta_description_43, t36.meta_keywords AS meta_keywords_44, t36.meta_robots AS meta_robots_45, t36.content AS content_46, t36.images AS images_47, t36.carousel_setting AS carousel_setting_48, t36.carousel_background AS carousel_background_49, t36.carousel_slides AS carousel_slides_50, t36.editor_note AS editor_note_51, t36.domain_id AS domain_id_52, t53.id AS id_54, t53.address_label AS address_label_55, t53.postcode AS postcode_56, t53.town AS town_57, t53.county AS county_58, t53.street_1 AS street_1_59, t53.street_2 AS street_2_60, t53.latitude AS latitude_61, t53.longitude AS longitude_62, t53.map_zoom AS map_zoom_63, t53.phone_1 AS phone_1_64, t53.phone_1_label AS phone_1_label_65, t53.phone_1_in_header AS phone_1_in_header_66, t53.phone_2 AS phone_2_67, t53.phone_2_label AS phone_2_label_68, t53.phone_2_in_header AS phone_2_in_header_69, t53.fax AS fax_70, t53.fax_label AS fax_label_71, t53.email AS email_72, t53.email_label AS email_label_73, t53.working_hours AS working_hours_74, t53.content AS content_75, t53.image AS image_76, t53.is_published AS is_published_77, t53.sort AS sort_78, t53.editor_note AS editor_note_79, t53.domain_id AS domain_id_80, t81.id AS id_82, t81.page_heading AS page_heading_83, t81.page_breadcrumb AS page_breadcrumb_84, t81.social_title AS social_title_85, t81.social_description AS social_description_86, t81.meta_description AS meta_description_87, t81.meta_robots AS meta_robots_88, t81.content AS content_89, t81.images AS images_90, t81.carousel_settings AS carousel_settings_91, t81.carousel_background AS carousel_background_92, t81.carousel_slides AS carousel_slides_93, t81.editor_note AS editor_note_94, t81.page_title AS page_title_95, t81.domain_id AS domain_id_96, t97.id AS id_98, t97.page_heading AS page_heading_99, t97.page_breadcrumb AS page_breadcrumb_100, t97.page_title AS page_title_101, t97.social_title AS social_title_102, t97.social_description AS social_description_103, t97.meta_description AS meta_description_104, t97.meta_keyword AS meta_keyword_105, t97.meta_robots AS meta_robots_106, t97.content AS content_107, t97.images AS images_108, t97.carousel_settings AS carousel_settings_109, t97.carousel_background AS carousel_background_110, t97.carousel_slides AS carousel_slides_111, t97.editor_note AS editor_note_112, t97.domain_id AS domain_id_113, t114.id AS id_115, t114.page_heading AS page_heading_116, t114.page_subheading AS page_subheading_117, t114.page_title AS page_title_118, t114.social_title AS social_title_119, t114.social_description AS social_description_120, t114.meta_description AS meta_description_121, t114.meta_keywords AS meta_keywords_122, t114.content AS content_123, t114.thumbnail AS thumbnail_124, t114.images AS images_125, t114.carousel_settings AS carousel_settings_126, t114.carousel_background AS carousel_background_127, t114.carousel_slides AS carousel_slides_128, t114.texts AS texts_129, t114.created_at AS created_at_130, t114.editor_note AS editor_note_131, t114.domain_id AS domain_id_132 FROM domain t0 LEFT JOIN about t36 ON t36.domain_id = t0.id LEFT JOIN contact t53 ON t53.domain_id = t0.id LEFT JOIN privacy_cookies t81 ON t81.domain_id = t0.id LEFT JOIN privacy_terms t97 ON t97.domain_id = t0.id LEFT JOIN homepage t114 ON t114.domain_id = t0.id WHERE t0.name = ? LIMIT 1" "params" => [ 1 => "woodfloorsanding.london" ] "types" => [ 1 => 2 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.670+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.controller" "listener" => "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.670+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.controller" "listener" => "App\EventSubscriber\DomainDataSubscriber::onKernelController" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.670+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.controller" "listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.672+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.controller_arguments" "listener" => "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.672+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.controller_arguments" "listener" => "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.672+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.controller_arguments" "listener" => "ContainerXg2Efj4\RequestPayloadValueResolverGhost3590451::onKernelControllerArguments" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.672+00:00" "message" => "Notified event "{event}" to listener "{listener}"." "priority" => 100 "priorityName" => "DEBUG" "context" => [ "event" => "kernel.controller_arguments" "listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments" ] "channel" => "event" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.680+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.name AS name_2, t0.name_long AS name_long_3, t0.email AS email_4, t0.phone AS phone_5 FROM company t0 WHERE t0.id = ?" "params" => [ 1 => 156 ] "types" => [ 1 => 1 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.683+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.page_url AS page_url_2, t0.page_heading AS page_heading_3, t0.page_breadcrumb AS page_breadcrumb_4, t0.page_title AS page_title_5, t0.social_title AS social_title_6, t0.social_description AS social_description_7, t0.meta_description AS meta_description_8, t0.meta_keywords AS meta_keywords_9, t0.meta_robots AS meta_robots_10, t0.name AS name_11, t0.content AS content_12, t0.in_index AS in_index_13, t0.summary AS summary_14, t0.thumbnail AS thumbnail_15, t0.images AS images_16, t0.carousel_settings AS carousel_settings_17, t0.carousel_background AS carousel_background_18, t0.carousel_slides AS carousel_slides_19, t0.is_published AS is_published_20, t0.created_at AS created_at_21, t0.sort AS sort_22, t0.editor_note AS editor_note_23, t0.domain_id AS domain_id_24, t0.parent_id AS parent_id_25 FROM service t0 WHERE t0.domain_id = ?" "params" => [ 1 => 2 ] "types" => [ 1 => 1 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.693+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.page_url AS page_url_2, t0.page_heading AS page_heading_3, t0.page_breadcrumb AS page_breadcrumb_4, t0.page_title AS page_title_5, t0.social_title AS social_title_6, t0.social_description AS social_description_7, t0.meta_description AS meta_description_8, t0.meta_keywords AS meta_keywords_9, t0.meta_robots AS meta_robots_10, t0.summary AS summary_11, t0.content AS content_12, t0.thumbnail AS thumbnail_13, t0.images AS images_14, t0.is_shared AS is_shared_15, t0.is_published AS is_published_16, t0.auto_publish_on AS auto_publish_on_17, t0.sort AS sort_18, t0.editor_note AS editor_note_19, t0.domain_id AS domain_id_20 FROM brand t0 WHERE t0.domain_id = ?" "params" => [ 1 => 2 ] "types" => [ 1 => 1 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.697+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.heading AS heading_2, t0.client_name AS client_name_3, t0.location AS location_4, t0.content AS content_5, t0.thumbnail AS thumbnail_6, t0.services AS services_7, t0.images AS images_8, t0.is_published AS is_published_9, t0.created_at AS created_at_10, t0.sort AS sort_11, t0.editor_note AS editor_note_12, t0.domain_id AS domain_id_13 FROM portfolio t0 WHERE t0.domain_id = ?" "params" => [ 1 => 2 ] "types" => [ 1 => 1 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.708+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.page_heading AS page_heading_2, t0.page_breadcrumb AS page_breadcrumb_3, t0.page_title AS page_title_4, t0.social_title AS social_title_5, t0.social_description AS social_description_6, t0.meta_description AS meta_description_7, t0.meta_keywords AS meta_keywords_8, t0.meta_robots AS meta_robots_9, t0.content AS content_10, t0.box_heading AS box_heading_11, t0.box_icon AS box_icon_12, t0.box_content AS box_content_13, t0.box_button_label AS box_button_label_14, t0.box_thumbnail AS box_thumbnail_15, t0.images AS images_16, t0.carousel_settings AS carousel_settings_17, t0.carousel_background AS carousel_background_18, t0.carousel_slides AS carousel_slides_19, t0.editor_note AS editor_note_20, t0.domain_id AS domain_id_21 FROM portfolio_settings t0 WHERE t0.domain_id = ? LIMIT 1" "params" => [ 1 => 2 ] "types" => [ 1 => 1 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.710+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.name AS name_2, t0.is_published AS is_published_3, t0.theme AS theme_4, t0.theme_color AS theme_color_5, t0.modules AS modules_6, t0.header_logo AS header_logo_7, t0.footer_logo AS footer_logo_8, t0.facebook_url AS facebook_url_9, t0.facebook_id AS facebook_id_10, t0.twitter_url AS twitter_url_11, t0.twitter_username AS twitter_username_12, t0.linkedin_url AS linkedin_url_13, t0.youtube_url AS youtube_url_14, t0.pinterest_url AS pinterest_url_15, t0.google_analytics_id AS google_analytics_id_16, t0.google_site_verification AS google_site_verification_17, t0.bing_site_verification AS bing_site_verification_18, t0.pinterest_site_verification AS pinterest_site_verification_19, t0.is_boxed_layout AS is_boxed_layout_20, t0.background_color AS background_color_21, t0.background AS background_22, t0.specials_background AS specials_background_23, t0.icon AS icon_24, t0.favicon AS favicon_25, t0.icon_tile_background AS icon_tile_background_26, t0.texts AS texts_27, t0.callback_background AS callback_background_28, t0.livechat AS livechat_29, t0.livechat_badge_image AS livechat_badge_image_30, t0.livechat_operator_avatar AS livechat_operator_avatar_31, t0.email_logo AS email_logo_32, t0.covered_areas_image AS covered_areas_image_33, t0.place_name AS place_name_34, t0.company_id AS company_id_35, t36.id AS id_37, t36.page_heading AS page_heading_38, t36.page_breadcrumb AS page_breadcrumb_39, t36.page_title AS page_title_40, t36.social_title AS social_title_41, t36.social_description AS social_description_42, t36.meta_description AS meta_description_43, t36.meta_keywords AS meta_keywords_44, t36.meta_robots AS meta_robots_45, t36.content AS content_46, t36.images AS images_47, t36.carousel_setting AS carousel_setting_48, t36.carousel_background AS carousel_background_49, t36.carousel_slides AS carousel_slides_50, t36.editor_note AS editor_note_51, t36.domain_id AS domain_id_52, t53.id AS id_54, t53.address_label AS address_label_55, t53.postcode AS postcode_56, t53.town AS town_57, t53.county AS county_58, t53.street_1 AS street_1_59, t53.street_2 AS street_2_60, t53.latitude AS latitude_61, t53.longitude AS longitude_62, t53.map_zoom AS map_zoom_63, t53.phone_1 AS phone_1_64, t53.phone_1_label AS phone_1_label_65, t53.phone_1_in_header AS phone_1_in_header_66, t53.phone_2 AS phone_2_67, t53.phone_2_label AS phone_2_label_68, t53.phone_2_in_header AS phone_2_in_header_69, t53.fax AS fax_70, t53.fax_label AS fax_label_71, t53.email AS email_72, t53.email_label AS email_label_73, t53.working_hours AS working_hours_74, t53.content AS content_75, t53.image AS image_76, t53.is_published AS is_published_77, t53.sort AS sort_78, t53.editor_note AS editor_note_79, t53.domain_id AS domain_id_80, t81.id AS id_82, t81.page_heading AS page_heading_83, t81.page_breadcrumb AS page_breadcrumb_84, t81.social_title AS social_title_85, t81.social_description AS social_description_86, t81.meta_description AS meta_description_87, t81.meta_robots AS meta_robots_88, t81.content AS content_89, t81.images AS images_90, t81.carousel_settings AS carousel_settings_91, t81.carousel_background AS carousel_background_92, t81.carousel_slides AS carousel_slides_93, t81.editor_note AS editor_note_94, t81.page_title AS page_title_95, t81.domain_id AS domain_id_96, t97.id AS id_98, t97.page_heading AS page_heading_99, t97.page_breadcrumb AS page_breadcrumb_100, t97.page_title AS page_title_101, t97.social_title AS social_title_102, t97.social_description AS social_description_103, t97.meta_description AS meta_description_104, t97.meta_keyword AS meta_keyword_105, t97.meta_robots AS meta_robots_106, t97.content AS content_107, t97.images AS images_108, t97.carousel_settings AS carousel_settings_109, t97.carousel_background AS carousel_background_110, t97.carousel_slides AS carousel_slides_111, t97.editor_note AS editor_note_112, t97.domain_id AS domain_id_113, t114.id AS id_115, t114.page_heading AS page_heading_116, t114.page_subheading AS page_subheading_117, t114.page_title AS page_title_118, t114.social_title AS social_title_119, t114.social_description AS social_description_120, t114.meta_description AS meta_description_121, t114.meta_keywords AS meta_keywords_122, t114.content AS content_123, t114.thumbnail AS thumbnail_124, t114.images AS images_125, t114.carousel_settings AS carousel_settings_126, t114.carousel_background AS carousel_background_127, t114.carousel_slides AS carousel_slides_128, t114.texts AS texts_129, t114.created_at AS created_at_130, t114.editor_note AS editor_note_131, t114.domain_id AS domain_id_132 FROM domain t0 LEFT JOIN about t36 ON t36.domain_id = t0.id LEFT JOIN contact t53 ON t53.domain_id = t0.id LEFT JOIN privacy_cookies t81 ON t81.domain_id = t0.id LEFT JOIN privacy_terms t97 ON t97.domain_id = t0.id LEFT JOIN homepage t114 ON t114.domain_id = t0.id WHERE t0.id = ?" "params" => [ 1 => "1" ] "types" => [ 1 => 1 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.717+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.page_heading AS page_heading_2, t0.page_breadcrumb AS page_breadcrumb_3, t0.page_title AS page_title_4, t0.social_title AS social_title_5, t0.social_description AS social_description_6, t0.meta_description AS meta_description_7, t0.meta_keywords AS meta_keywords_8, t0.meta_robots AS meta_robots_9, t0.content AS content_10, t0.box_heading AS box_heading_11, t0.box_icon AS box_icon_12, t0.box_content AS box_content_13, t0.box_button_label AS box_button_label_14, t0.box_button_icon AS box_button_icon_15, t0.box_thumbnail AS box_thumbnail_16, t0.images AS images_17, t0.carousel_settings AS carousel_settings_18, t0.carousel_background AS carousel_background_19, t0.carousel_slides AS carousel_slides_20, t0.editor_note AS editor_note_21, t0.domain_id AS domain_id_22 FROM offers_settings t0 WHERE t0.domain_id = ? LIMIT 1" "params" => [ 1 => 1 ] "types" => [ 1 => 1 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.720+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.page_title AS page_title_2, t0.page_heading AS page_heading_3, t0.page_subheading AS page_subheading_4, t0.page_breadcrumb AS page_breadcrumb_5, t0.social_title AS social_title_6, t0.social_description AS social_description_7, t0.meta_description AS meta_description_8, t0.meta_keywords AS meta_keywords_9, t0.meta_robots AS meta_robots_10, t0.content AS content_11, t0.box_heading AS box_heading_12, t0.box_icon AS box_icon_13, t0.box_content AS box_content_14, t0.box_button_label AS box_button_label_15, t0.box_button_icon AS box_button_icon_16, t0.box_thumbnail AS box_thumbnail_17, t0.images AS images_18, t0.carousel_settings AS carousel_settings_19, t0.carousel_background AS carousel_background_20, t0.carousel_slides AS carousel_slides_21, t0.editor_note AS editor_note_22, t0.domain_id AS domain_id_23 FROM ask_expert_settings t0 WHERE t0.domain_id = ? LIMIT 1" "params" => [ 1 => 1 ] "types" => [ 1 => 1 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.722+00:00" "message" => "Executing query: {sql}" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.place_type AS place_type_2, t0.name AS name_3, t0.url AS url_4, t0.postcodes AS postcodes_5, t0.region_id AS region_id_6, t0.parent_id AS parent_id_7 FROM place t0" ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.737+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.place_type AS place_type_2, t0.name AS name_3, t0.url AS url_4, t0.postcodes AS postcodes_5, t0.region_id AS region_id_6, t0.parent_id AS parent_id_7 FROM place t0 WHERE t0.place_type = ?" "params" => [ 1 => "region" ] "types" => [ 1 => 2 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.740+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.services AS services_2, t0.name AS name_3, t0.email AS email_4, t0.heading AS heading_5, t0.content AS content_6, t0.rating AS rating_7, t0.source AS source_8, t0.location AS location_9, t0.job AS job_10, t0.photo AS photo_11, t0.is_shared AS is_shared_12, t0.created_at AS created_at_13, t0.auto_publish_on AS auto_publish_on_14, t0.published_on AS published_on_15, t0.editor_note AS editor_note_16, t0.domain_id AS domain_id_17 FROM review t0 WHERE t0.domain_id = ?" "params" => [ 1 => 2 ] "types" => [ 1 => 1 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.745+00:00" "message" => "Executing statement: {sql} (parameters: {params}, types: {types})" "priority" => 100 "priorityName" => "DEBUG" "context" => [ "sql" => "SELECT t0.id AS id_1, t0.page_url AS page_url_2, t0.page_heading AS page_heading_3, t0.page_breadcrumb AS page_breadcrumb_4, t0.page_title AS page_title_5, t0.social_description AS social_description_6, t0.social_title AS social_title_7, t0.meta_description AS meta_description_8, t0.meta_keyword AS meta_keyword_9, t0.meta_robots AS meta_robots_10, t0.source AS source_11, t0.page_type AS page_type_12, t0.tags AS tags_13, t0.summary AS summary_14, t0.content AS content_15, t0.thumbnail AS thumbnail_16, t0.images AS images_17, t0.is_shared AS is_shared_18, t0.is_published AS is_published_19, t0.auto_publish_on AS auto_publish_on_20, t0.created_at AS created_at_21, t0.editor_note AS editor_note_22, t0.domain_id AS domain_id_23, t0.articles_category_id AS articles_category_id_24 FROM article t0 WHERE t0.domain_id = ? ORDER BY t0.created_at DESC" "params" => [ 1 => 2 ] "types" => [ 1 => 1 ] ] "channel" => "doctrine" ] [ "timestamp" => 1771816001 "timestamp_rfc3339" => "2026-02-23T03:06:41.763+00:00" "message" => "Uncaught PHP Exception Twig\Error\RuntimeError: "Impossible to access an attribute ("pageUrl") on a null variable." at index.html.twig line 353" "priority" => 500 "priorityName" => "CRITICAL" "context" => [ "exception" => Twig\Error\RuntimeError {#2942 #message: "Impossible to access an attribute ("pageUrl") on a null variable." #code: 0 #file: "/home/sites/web-services/templates/pages/index.html.twig" #line: 353 -lineno: 353 -name: "pages/index.html.twig" -rawMessage: "Impossible to access an attribute ("pageUrl") on a null variable." -sourcePath: "/home/sites/web-services/templates/pages/index.html.twig" -sourceCode: """ {% extends 'base.html.twig' %}\n \n {% block title %}{{ (homepage.pageTitle ??"Flooring Services") | replace_placeholders(appData) }}{% endblock %}\n {% set base_uri = path('app_index') %}\n {% set homepage = appData.homepage %}\n \n {% block meta_tags %}\n <meta name="description" content="{{ (homepage.metaDescription ??"Flooring Services") | replace_placeholders(appData) }}">\n <meta property="og:description" content="{{ (homepage.metaDescription ??"Flooring Services") | replace_placeholders(appData) }}">\n <meta property="og:title" content="{{ (homepage.pageTitle ??"Flooring Services") | replace_placeholders(appData) }}"> \n {% if homepage.metaKeywords %}\n \t<meta name="keywords" content="{{ homepage.metaKeywords }}">\n {% endif %}\n <meta property="og:url" content="{{ base_uri }}">\n {% endblock %}\n \n {% block stylesheets %}\n {{ parent() }}\n {% endblock %}\n {% block body %}\n \n {% if homepage.carouselSlides | length %}\n \t{% include 'includes/main-slider.html.twig' with {'appdata': appData, 'pagedata': homepage} %}\n {% endif %}\n \n <!--Start Services Single One-->\n <section class="services-single-one clearfix py-5">\n <div class="container">\n \t<div class="row">\n \t\t<!--Start Services Single One Content-->\n \t\t<div class="col-xl-8 col-lg-7">\n \t\t\t<div class="services-single-one__content">\n \n \t\t\t\t<div class="title">\n \t\t\t\t\t<h1>{{ appData.homepage.pageHeading | replace_placeholders(appData) | raw }}</h1>\n \t\t\t\t\t<p>{{ appData.homepage.pageSubheading | replace_placeholders(appData) | raw }}</p>\n \t\t\t\t</div>\n \n \t\t\t\t<div class="services-single-one__content-list">\n \t\t\t\t\t{% if appData.homepage.thumbnail is not empty %}\n \t\t\t\t\t\t<img src="{{ appData.homepage.thumbnail.path }}" class="img-responsive float-start mr-3" alt="{{ appData.homepage.thumbnail.caption is defined ? appData.homepage.thumbnail.caption | replace_placeholders(appData):'' }}" title="{{ appData.homepage.thumbnail.caption is defined ? appData.homepage.thumbnail.caption | replace_placeholders(appData):'' }}">\n \t\t\t\t\t{% endif %}\n \t\t\t\t\t\n \t\t\t\t\t{{ appData.homepage.content | replace_placeholders(appData) | raw }}\n \t\t\t\t</div>\n \t\t\t\t\n \t\t\t\t{# Brands block start here #}\n \t\t\t\t{% if appData.brand is not empty %}\n \t\t\t\t<div class="services-single-one__content-list">\n \t\t\t\t\t{% if appData.homepage.texts.brands_content is not empty %}\n \t\t\t\t\t\t<div class="brands-heading fs-12 text-center"><i>{{ appData.homepage.texts.brands_content | raw }}</i></div>\n \t\t\t\t\t{% endif %}\n \t\t\t\t\t\n \t\t\t\t\t<div class="company-logos-one__carousel owl-carousel owl-theme owl-dot-type1">\n \t\t\t\t\t{% for brand in appData.brand %}\n \t\t\t\t\t\t{% if brand.thumbnail.path %}\n \t\t\t\t\t\t\t<img class="border" src="{{ brand.thumbnail.path }}" alt="{{ brand.thumbnail.caption is defined ? brand.thumbnail.caption | replace_placeholders(appData) : '' }}" title="{{ brand.thumbnail.caption is defined ? brand.thumbnail.caption | replace_placeholders(appData) : '' }}">\n \t\t\t\t\t\t{% endif %}\n \t\t\t\t\t{% endfor %}\n \t\t\t\t\t</div>\n \t\t\t\t</div>\t\n \t\t\t\t{% endif %}\n \t\t\t</div>\t\t\t\n \t\t</div>\n \t\t<!--End Services Single One Content-->\n \n \t\t<!--Start Review Sidebar -->\n \t\t<div class="col-xl-4 col-lg-5">\n \t\t\t<div class="services-single__sidebar">\t\n \t\t\t\t{% set texts = appData.texts ?? [] %}\n \t\t\t\t{% if texts['facebook_widget'] is defined and texts['facebook_widget']|trim is not empty %}\t\n \t\t\t\t<!--Start Facebook Widget -->\n \t\t\t\t<div class="services-single__sidebar-single wow fadeInUp animated mb-4" data-wow-delay="0.0s"\n \t\t\t\t\tdata-wow-duration="1200ms">\n \t\t\t\t\t<div class="services-single__sidebar-services">\n \t\t\t\t\t\t{{ facebook_widget(appData) | raw }}\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t<!--End Facebook Widget -->\n \t\t\t\t{% endif %}\n \t\t\t\t{% if texts['twitter_widget'] is defined and texts['twitter_widget']|trim is not empty %}\t\n \t\t\t\t<!--Start Twitter Widget -->\n \t\t\t\t<div class="services-single__sidebar-single wow fadeInUp animated mb-4" data-wow-delay="0.0s"\n \t\t\t\t\tdata-wow-duration="1200ms">\n \t\t\t\t\t<div class="services-single__sidebar-services">\n \t\t\t\t\t\t{{ twitter_widget(appData) | raw }}\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t{% endif %}\n \t\t\t\t<!--End Twitter Widget -->\n \t\t\t</div>\n \t\t</div>\n \t\t<!--End Services Single Sidebar-->\n \t</div>\n </div>\n </section>\n <!--End Services Single One-->\n \n {% if is_module_enabled(appData, 'services') %}\n \t<!--Start Services Two-->\n \t<section class="services-two pt-3">\n \t<div class="container">\n \t\t<div class="sec-title text-center">\n \t\t\t<h2 class="sec-title__title">Our Services</h2>\n \t\t</div>\n \t\t<div class="row">\n \t\t\t<div class="col-xl-12">\n \t\t\t\t<div class="services-two__carousel owl-carousel owl-theme owl-dot-type1">\n \t\t\t\t\t{% for service in appData.services %}\n \t\t\t\t\t\t{% if service.isPublished is defined and service.isPublished %}\n \t\t\t\t\t\t{% set thumb = service.thumbnail %}\n \t\t\t\t\t\t<!--Start Single Services Two-->\n \t\t\t\t\t\t<div class="services-two__single wow animated fadeInUp" data-wow-delay="0.1s">\n \t\t\t\t\t\t\t{% if thumb.path is not empty%}\n \t\t\t\t\t\t\t\t<div class="services-two__single-img">\n \t\t\t\t\t\t\t\t\t<a href="{{ service.pageUrl }}">\n \t\t\t\t\t\t\t\t\t\t<img src="{{ thumb.path }}" alt="{{ thumb.caption is defined ? thumb.caption | replace_placeholders(appData):'' }}" title="{{ thumb.caption is defined ? thumb.caption | replace_placeholders(appData):'' }}"/>\n \t\t\t\t\t\t\t\t\t</a>\n \t\t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t\t{% endif %}\t\t\t\t\t\t\t\t\n \n \t\t\t\t\t\t\t<div class="services-two__single-content text-center">\n \t\t\t\t\t\t\t\t<h2 class="fs-18 services-heading">\n \t\t\t\t\t\t\t\t\t<a href="{{ service.pageUrl }}">{{ service.name }}</a>\n \t\t\t\t\t\t\t\t</h2>\n \t\t\t\t\t\t\t\t<p class="services-content">\n \t\t\t\t\t\t\t\t{{ service.summary | truncate_description(300) | replace_placeholders(appData)}}\n \t\t\t\t\t\t\t\t</p>\n \t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t</div>\n \t\t\t\t\t\t<!--End Single Services Two-->\t\n \t\t\t\t\t\t{% endif %}\n \t\t\t\t\t{% endfor %}\t\t\t\t\t\t\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t</div>\n \t</div>\n \t</section>\n <!--End Services Two-->\n {% endif %}\n \n {% if is_module_enabled(appData, 'portfolio') %}\n <!--Start Projects One-->\n <section class="projects-one py-5">\n \t<div class="container">\n \t\t<div class="row">\n \t\t\t<div class="col-xl-12">\n \t\t\t\t<div class="projects-one__top">\n \t\t\t\t\t<div class="sec-title">\n \t\t\t\t\t\t<span class="sec-title__tagline">Our PROJECTS</span>\n \t\t\t\t\t\t<h2 class="sec-title__title">We have done more than<br> <span class="odometer"\n \t\t\t\t\t\t\t\tdata-count="1000">00</span><span class="plus">+</span> flooring successful\n \t\t\t\t\t\t\tproject\n \t\t\t\t\t\t</h2>\n \t\t\t\t\t</div>\n \n \t\t\t\t\t<div class="projects-one__top-btn">\n \t\t\t\t\t\t<a href="/portfolio" class="thm-btn">More Projects</a>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t</div>\n \t</div>\n \t<div class="auto-container">\n \t\t<div class="row">\n \t\t\t<div class="portfolio-one__carousel owl-carousel owl-theme owl-dot-type1">\n \t\t\t{% for key,portfolio in appData.portfolios %}\n \t\t\t\t<!--Start Single Projects One-->\n \t\t\t\t<div class="wow fadeInLeft" data-wow-delay="0ms" data-wow-duration="1500ms">\n \t\t\t\t\t<div class="projects-one__single">\n \t\t\t\t\t\t<div class="projects-one__single-img">\n \t\t\t\t\t\t\t<a href="/portfolio">\n \t\t\t\t\t\t\t\t{% if portfolio.thumbnail is defined and portfolio.thumbnail.path is defined %}\n \t\t\t\t\t\t\t\t<img src="{{ portfolio.thumbnail.path }}"/>\n \t\t\t\t\t\t\t\t{% endif %}\n \t\t\t\t\t\t\t</a>\n \t\t\t\t\t\t</div>\n \n \t\t\t\t\t\t<div class="projects-one__single-content px-3 py-3 text-center">\n \t\t\t\t\t\t\t{% set serviceNames = [] %}\n \t\t\t\t\t\t\t{% if portfolio.services | length %}\n \t\t\t\t\t\t\t{% for key, service in portfolio.services %}\n \t\t\t\t\t\t\t\t{% if serviceNames | length < 2 %}\n \t\t\t\t\t\t\t\t\t{% set serviceNames = serviceNames|merge([service.name]) %}\n \t\t\t\t\t\t\t\t{% endif %}\n \t\t\t\t\t\t\t{% endfor %}\n \t\t\t\t\t\t\t<span class="fs-10">{{ serviceNames|join(', ') }}</span>\n \t\t\t\t\t\t\t{% endif %}\n \t\t\t\t\t\t</div>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t<!--End Single Projects One-->\n \t\t\t{% endfor %}\n \t\t\t</div>\n \t\t</div>\n \t</div>\n </section>\n {% endif %}\n \n {% if is_module_enabled(appData, 'offers') and is_module_enabled(appData, 'portfolio') and is_module_enabled(appData, 'askexpert') %}\n {% set portfolio_box = get_box(appData, 'portfolio') %}\n {% set offers_box = get_box(appData, 'offers') %}\n {% set askexpert_box = get_box(appData, 'askexpert') %}\n \n <!--Start About One-->\n <section class="about-one about-one--two py-5">\n \t<div class="container">\n \t\t<div class="row">\n \t\t\t{% if offers_box is not empty %}\n \t\t\t<!--Start Single Services One-->\n \t\t\t<div class="col-xl-4 col-lg-4 wow fadeInLeft" data-wow-delay="0ms" data-wow-duration="1500ms">\n \t\t\t\t<div class="services-one__single text-center">\n \t\t\t\t\t<div class="services-one__single-icon">\n \t\t\t\t\t\t<span class="icon-carpet"></span>\n \t\t\t\t\t</div>\n \t\t\t\t\t<h2><a href="/special-offers">{{ offers_box.boxHeading | replace_placeholders(appData) | raw }}</a></h2>\n \t\t\t\t\t<div class="text services-box-content">\n \t\t\t\t\t\t<p>{{ offers_box.boxContent | replace_placeholders(appData) | raw }}</p>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t\t<!--End Single Services One-->\n \t\t\t{% endif %}\n \t\t\t{% if portfolio_box is not empty %}\n \t\t\t<!--Start Single Services One-->\n \t\t\t<div class="col-xl-4 col-lg-4 wow fadeInLeft" data-wow-delay="200ms" data-wow-duration="1500ms">\n \t\t\t\t<div class="services-one__single text-center">\n \t\t\t\t\t<div class="services-one__single-icon bg2">\n \t\t\t\t\t\t<span class="icon-kitchen1"></span>\n \t\t\t\t\t</div>\n \t\t\t\t\t<h2><a href="/portfolio">{{ portfolio_box.boxHeading | replace_placeholders(appData) | raw }}</a></h2>\n \t\t\t\t\t<div class="text services-box-content">\n \t\t\t\t\t\t<p>{{ portfolio_box.boxContent | replace_placeholders(appData) | raw }}</p>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t\t<!--End Single Services One-->\n \t\t\t{% endif %}\n \t\t\t{% if askexpert_box is not empty %}\n \t\t\t<!--Start Single Services One-->\n \t\t\t<div class="col-xl-4 col-lg-4 wow fadeInLeft" data-wow-delay="400ms" data-wow-duration="1500ms">\n \t\t\t\t<div class="services-one__single text-center">\n \t\t\t\t\t<div class="services-one__single-icon bg3">\n \t\t\t\t\t\t<span class="icon-logs"></span>\n \t\t\t\t\t</div>\n \t\t\t\t\t<h2><a href="/ask-an-expert">{{ askexpert_box.boxHeading | replace_placeholders(appData) | raw }}</a></h2>\n \t\t\t\t\t<div class="text services-box-content">\n \t\t\t\t\t\t<p>{{ askexpert_box.boxContent | replace_placeholders(appData) | raw }}</p>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t\t<!--End Single Services One-->\n \t\t\t{% endif %}\n \t\t</div>\n \t</div>\n </section>\n <!--End About One-->\n {% endif %}\n {% if is_module_enabled(appData, 'places') %}\n <!--Start Best Logistics One-->\n <section class="best-logistics-one py-5">\n \t<div class="container">\n \t\t<div class="row">\n \t\t\t<div class="col-md-12">\n \t\t\t<!--Start Best Logistics One Content-->\n \t\t\t{{ regions_widget(appData) | raw }}\n \t\t\t</div>\n \t\t</div>\n \t</div>\n </section>\n {% endif %}\n <!--End Best Logistics One-->\n \n {% if appData.reviews | length %}\n <!--Start Testimonial One-->\n <section class="testimonial-one" itemscope itemtype="http://data-vocabulary.org/Review-aggregate">\n \t<div class="container">\n \t\t{% set totalRating = 0 %}\n \t\t{% set totalReviews = 0 %}\n \t\t\n \t\t{% for review in appData.reviews %}\n \t\t\t{% set totalRating = totalRating + review.rating %}\n \t\t\t{% set totalReviews = totalReviews + 1 %}\n \t\t{% endfor %}\n \t\t{% if totalReviews > 0 %} {# Check if totalReviews is not zero to avoid division by zero #}\n \t\t\t{% set averageRating = totalRating / totalReviews %}\n \t\t{% else %}\n \t\t\t{% set averageRating = 0 %}\n \t\t{% endif %}\n \t\t<div class="sec-title text-center pt-5">\n \t\t\t<h2 class="sec-title__title">Here's what our satisfied <br> clients are saying...</h2>\n \t\t\t<div class="p-3 reviews-testimonilas-heading">\t\n \t\t\t\t<meta itemprop="itemreviewed" content="{{ appData.company.name }}" />\n \t\t\t\t<span itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating">\n \t\t\t\tRated <strong itemprop="average">{{ averageRating|number_format(2, '.', '') }}</strong> out of <strong itemprop="best">5</strong>\n \t\t\t\t</span>\n \t\t\t\tbased on <u><a href="/reviews" class="text-bold text-primary text-undelined"><span itemprop="count">{{ totalReviews }}</span> user review{{ (totalReviews == 1 ? '' : 's') }} </a></u>\n \t\t\t</div>\t\n \t\t</div>\n \t\t<div class="row">\n \t\t\t<div class="col-xl-12">\n \t\t\t\t<div class="testimonial-one__carousel owl-carousel owl-theme">\n \t\t\t\t{% for review in appData.reviews %}\n \t\t\t\t\t\n \t\t\t\t\t{% if review.job is not empty %}\n \t\t\t\t\t<!--Start Single Testimonial One-->\n \t\t\t\t\t<div class="testimonial-one__single py-5" itemscope itemtype="http://data-vocabulary.org/Review">\n \t\t\t\t\t\t<meta itemprop="itemreviewed" content="{{ review.createdAt | date("d-m-Y")}}">\n \t\t\t\t\t\t<meta itemprop="rating" content="{{ review.rating }}">\n \t\t\t\t\t\t<div class="testimonial-heading"><span class="fa rating rating-{{ review.rating }}0 fs-10"></span><span itemprop="summary"></span></div>\n \t\t\t\t\t\t<div class="text testimonial-content">\n \t\t\t\t\t\t\t<p class="fs-12">{{ review.content | truncate_description(110, '...') }} </p>\n \t\t\t\t\t\t</div>\n \n \t\t\t\t\t\t<div class="client-info">\n \t\t\t\t\t\t\t<div class="title">\n \t\t\t\t\t\t\t\t<h3 itemprop="reviewer">{{ review.name }}</h3>\n \t\t\t\t\t\t\t\t<p>{{ review.job }}</p>\n \t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t</div>\n \t\t\t\t\t</div>\n \t\t\t\t\t<!--End Single Testimonial One-->\n \t\t\t\t\t{% endif %}\n \t\t\t\t\t\n \t\t\t\t{% endfor %}\n \t\t\t\t</div>\n \t\t\t</div>\n \t\t</div>\n \t</div>\n </section>\n <!--End Testimonial One-->\n {% endif %}\n {% if is_module_enabled(appData, 'articles') and page_is_copy != true %}\n <!--Start Blog One-->\n <section class="blog-one">\n \t<div class="container">\n \t\t<div class="sec-title text-center">\n \t\t\t<h2 class="sec-title__title">Lastest articles</h2>\n \t\t</div>\n \t\t{% if appData.articles | length %}\n \t\t<div class="row">\n \t\t{% for key, article in appData.articles %}\n \t\t\t{% if key < 3 %}\n \t\t\t\t<!--Start Single Blog One-->\n \t\t\t\t{% set articles_category = article.articleCategory %}\n \t\t\t\t<div class="col-xl-4 col-lg-4 wow animated fadeInUp" data-wow-delay="0.1s">\n \t\t\t\t\t<div class="blog-one__single">\n \t\t\t\t\t\t<div class="blog-one__single-img">\n \t\t\t\t\t\t\t{% if article.thumbnail is defined and article.thumbnail.path is defined %}\n \t\t\t\t\t\t\t<img src="{{ article.thumbnail.path }}" alt="{{ article.thumbnail.caption is defined ? article.thumbnail.caption:'' | replace_placeholders(appData) }}" title="{{ article.thumbnail.caption is defined ? article.thumbnail.caption:'' | replace_placeholders(appData) }}"/>\n \t\t\t\t\t\t\t{% endif %}\n \t\t\t\t\t\t\t<div class="overlay-icon">\n \t\t\t\t\t\t\t\t<a href="/articles/{{articles_category.pageUrl}}/{{article.pageUrl}}"><span class="fa fa-plus"></span></a>\n \t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t\t<div class="overlay-text">\n \t\t\t\t\t\t\t\t<span>{{ article.articleCategory.name }}</span>\n \t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t</div>\n \n \t\t\t\t\t\t<div class="blog-one__single-content">\n \t\t\t\t\t\t\t<ul class="meta-info">\n \t\t\t\t\t\t\t\t<li>\n \t\t\t\t\t\t\t\t\t<div class="icon">\n \t\t\t\t\t\t\t\t\t\t<i class="icon-clock-3" aria-hidden="true"></i>\n \t\t\t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t\t\t\t<div class="text">\n \t\t\t\t\t\t\t\t\t\t<p>{{ article.createdAt | date('d M Y') }}</p>\n \t\t\t\t\t\t\t\t\t</div>\n \t\t\t\t\t\t\t\t</li>\n \t\t\t\t\t\t\t\t\n \t\t\t\t\t\t\t</ul>\n \t\t\t\t\t\t\t<h2><a href="/articles/{{articles_category.pageUrl}}/{{article.pageUrl}}">{{ article.pageHeading }}</a></h2>\n \t\t\t\t\t\t\t<p>{{ article.summary }}</p>\n \t\t\t\t\t\t</div>\n \t\t\t\t\t</div>\n \t\t\t\t</div>\n \t\t\t\t<!--End Single Blog One-->\n \t\t\t{% endif %}\n \t\t{% endfor %}\n \t\t</div>\n \t\t{% endif %}\n \t</div>\n </section>\n {% endif %}\n {% endblock %} """ : { { twig_get_attribute(Environment $env, Source $source, $object, $item, array $arguments = [], $type = 'any', $isDefinedTest = false, $ignoreStrictCheck = false, $sandboxed = false, int $lineno = -1) … › |
Request Headers
| Header | Value |
|---|---|
| accept | "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" |
| accept-encoding | "gzip, deflate, br" |
| accept-language | "en-US,en;q=0.9" |
| host | "www.woodfloorsanding.london" |
| user-agent | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot" |
| x-envoy-expected-rq-timeout-ms | "15000" |
| x-php-ob-level | "1" |
| x-request-id | "25870dda-27de-473f-afaa-64f09678f757" |
Request Content
Request content not available (it was retrieved as a resource).
Response
Response Headers
| Header | Value |
|---|---|
| cache-control | "no-cache, private" |
| date | "Mon, 23 Feb 2026 03:06:41 GMT" |
| x-debug-token | "9ef0a8" |
Cookies
Request Cookies
No request cookies
Response Cookies
No response cookies
Session
Session Metadata
No session metadata
Session Attributes
No session attributes
Session Usage
0
Usages
Stateless check enabled
Session not used.
Flashes
Flashes
No flash messages were created.
Server Parameters
Server Parameters
Defined in .env
| Key | Value |
|---|---|
| APP_ENV | "dev" |
| APP_SECRET | "16778b0c6b85b0d513c82006300ee8b5" |
| CONTENT_API_DOMAIN_ID | "1" |
| CONTENT_API_KEY | "16778b0c6b85b0d513c82006300ee8b5" |
| DATABASE_URL | "mysql://root:pineXpress29@127.0.0.1:3306/web_services?serverVersion=8.0.32&charset=utf8mb4" |
| MAILER_DSN | "sendmail://cs:s3rv1c3s@mail.realpeoplemedia.co.uk:25" |
| MESSENGER_TRANSPORT_DSN | "doctrine://default?auto_setup=0" |
| SECOND_DATABASE_URL | "mysql://root:pineXpress29@127.0.0.1:3306/aaa_services?serverVersion=8.0.32&charset=utf8mb4" |
Defined as regular env variables
| Key | Value |
|---|---|
| APP_DEBUG | "1" |
| CONTEXT_DOCUMENT_ROOT | "/home/sites/web-services/public/" |
| CONTEXT_PREFIX | "" |
| DOCUMENT_ROOT | "/home/sites/web-services/public/" |
| GATEWAY_INTERFACE | "CGI/1.1" |
| HTTPS | "on" |
| HTTP_ACCEPT | "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" |
| HTTP_ACCEPT_ENCODING | "gzip, deflate, br" |
| HTTP_ACCEPT_LANGUAGE | "en-US,en;q=0.9" |
| HTTP_HOST | "www.woodfloorsanding.london" |
| HTTP_USER_AGENT | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot" |
| HTTP_X_ENVOY_EXPECTED_RQ_TIMEOUT_MS | "15000" |
| HTTP_X_REQUEST_ID | "25870dda-27de-473f-afaa-64f09678f757" |
| PATH | "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" |
| PHP_SELF | "/index.php" |
| QUERY_STRING | "" |
| REMOTE_ADDR | "20.204.24.244" |
| REMOTE_PORT | "57809" |
| REQUEST_METHOD | "GET" |
| REQUEST_SCHEME | "https" |
| REQUEST_TIME | 1771816001 |
| REQUEST_TIME_FLOAT | 1771816001.5817 |
| REQUEST_URI | "/" |
| SCRIPT_FILENAME | "/home/sites/web-services/public/index.php" |
| SCRIPT_NAME | "/index.php" |
| SCRIPT_URI | "https://www.woodfloorsanding.london/" |
| SCRIPT_URL | "/" |
| SERVER_ADDR | "212.139.93.212" |
| SERVER_ADMIN | "[no address given]" |
| SERVER_NAME | "www.woodfloorsanding.london" |
| SERVER_PORT | "443" |
| SERVER_PROTOCOL | "HTTP/1.1" |
| SERVER_SIGNATURE | "" |
| SERVER_SOFTWARE | "Apache/2.4.41 (Ubuntu)" |
| SSL_TLS_SNI | "www.woodfloorsanding.london" |
| SYMFONY_DOTENV_VARS | "APP_ENV,APP_SECRET,DATABASE_URL,SECOND_DATABASE_URL,MESSENGER_TRANSPORT_DSN,CONTENT_API_KEY,CONTENT_API_DOMAIN_ID,MAILER_DSN" |
Parent Request
Return to parent request (token = bb7d54)
| Key | Value |
|---|---|
| _controller | "App\Controller\IndexController::index" |
| _firewall_context | "security.firewall.map.context.main" |
| _remove_csp_headers | true |
| _route | "app_index" |
| _route_params | [] |
| _security_firewall_run | "_security_main" |
| _stopwatch_token | "9d09a7" |