Skip to content

API search endpoint returns HTML even when Accepts: application/json or Accepts: application/ld-json Is set #286

Description

@nkamuo

Problem Description: The BitBag/SyliusElasticsearchPlugin's API search endpoint is returning an HTML response instead of the expected JSON or LD-JSON format, even when the Accepts: application/json or Accepts: application/ld-json headers are correctly set in the request.

Example

Command

curl -X 'GET' \
  'http://localhost:9000/api/v2/shop/products/search?limit=10&page=1&facets=%5Bjeans_collection%5D%5B%5D%3Dsylius_summer_2024' \
  -H 'accept: application/ld+json'

Result:

<!DOCTYPE html>

<html lang="en"     
                                                                            >
    <head>
                    <!-- BEGIN HOOK | name: "sylius_shop.base#metatags" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base#metatags", name: "metatags", template: "@SyliusShop/shared/layout/base/metatags.html.twig", priority: 0 -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="preload" href="/build/shop/fonts/InterVariable.c504db5c.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="/build/shop/fonts/InterVariable-Italic.01dcbad1.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!--  END HOOKABLE  | hook: "sylius_shop.base#metatags", name: "metatags", template: "@SyliusShop/shared/layout/base/metatags.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base#metatags" -->        
        <title>Fashion Web Store</title>

                    <!-- BEGIN HOOK | name: "sylius_shop.base#stylesheets" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base#stylesheets", name: "styles", template: "@SyliusShop/shared/layout/base/styles.html.twig", priority: 0 -->
<link rel="stylesheet" href="/build/shop/shop-entry.css">
<!--  END HOOKABLE  | hook: "sylius_shop.base#stylesheets", name: "styles", template: "@SyliusShop/shared/layout/base/styles.html.twig", priority: 0 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base#stylesheets", name: "app_styles", template: "shop/stylesheets.html.twig", priority: 0 -->
<link rel="stylesheet" href="/build/app/shop/app-shop-entry.css">


<link rel="stylesheet" href="/build/bitbag/elasticsearch/shop/bitbag-elasticsearch-shop.css">
<!--  END HOOKABLE  | hook: "sylius_shop.base#stylesheets", name: "app_styles", template: "shop/stylesheets.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base#stylesheets" -->        
        <!-- BEGIN HOOK | name: "sylius_shop.base.head" -->

<!--  END HOOK  | name: "sylius_shop.base.head" -->    </head>

    <body data-route="bitbag_sylius_elasticsearch_plugin_shop_search">
                    <div class="&lt;!-- BEGIN HOOK | name: &quot;sylius_shop.base#body_classes&quot; --&gt;
&lt;!-- BEGIN HOOKABLE | hook: &quot;sylius_shop.base#body_classes&quot;, name: &quot;defaults&quot;, template: &quot;@SyliusShop/shared/layout/base/body_classes/defaults.html.twig&quot;, priority: 0 --&gt;
d-flex flex-column min-vh-100
&lt;!--  END HOOKABLE  | hook: &quot;sylius_shop.base#body_classes&quot;, name: &quot;defaults&quot;, template: &quot;@SyliusShop/shared/layout/base/body_classes/defaults.html.twig&quot;, priority: 0 --&gt;
&lt;!--  END HOOK  | name: &quot;sylius_shop.base#body_classes&quot; --&gt;">
                <h1 class="visually-hidden text-black" aria-hidden="true">Fashion Web Store</h1>
                                    <!-- BEGIN HOOK | name: "sylius_shop.base.header" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header", name: "top_bar", template: "@SyliusShop/shared/layout/base/header/top_bar.html.twig", priority: 300 -->
<div class="bg-black">
    <div class="container py-2 fs-7">
        <div class="row g-3 align-items-center">
            <!-- BEGIN HOOK | name: "sylius_shop.base.header.top_bar" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.top_bar", name: "info_message", template: "@SyliusShop/shared/layout/base/header/top_bar/info_message.html.twig", priority: 200 -->
<div class="col-12 col-md">
    <a href="/en_US/">Sign up to our newsletter and grab -20% off</a>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.top_bar", name: "info_message", template: "@SyliusShop/shared/layout/base/header/top_bar/info_message.html.twig", priority: 200 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.top_bar", name: "currency_switcher", component: "sylius_shop:common:currency_switcher", priority: 100 -->

<!--  END HOOKABLE  | hook: "sylius_shop.base.header.top_bar", name: "currency_switcher", component: "sylius_shop:common:currency_switcher", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.top_bar", name: "locale_switcher", component: "sylius_shop:common:locale_switcher", priority: 0 -->

<!--  END HOOKABLE  | hook: "sylius_shop.base.header.top_bar", name: "locale_switcher", component: "sylius_shop:common:locale_switcher", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.top_bar" -->        </div>
    </div>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header", name: "top_bar", template: "@SyliusShop/shared/layout/base/header/top_bar.html.twig", priority: 300 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header", name: "content", template: "@SyliusShop/shared/layout/base/header/content.html.twig", priority: 200 -->
<div class="border-bottom py-4">
    <div class="container">
        <div class="row align-items-center">
            <!-- BEGIN HOOK | name: "sylius_shop.base.header.content" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content", name: "logo", template: "@SyliusShop/shared/layout/base/header/content/logo.html.twig", priority: 300 -->
<div class="col">
    <a href="/en_US/" class="d-inline-block py-lg-2" style="width: 10rem" aria-label="sylius logo">
        <!-- BEGIN HOOK | name: "sylius_shop.base.header.content.logo" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content.logo", name: "content", template: "@SyliusShop/shared/logo.html.twig", priority: 0 -->
<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 3512 1033" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M1285.88 708.833s61.167 72.209 150.375 72.209c56.083 0 102.792-33.959 102.792-89.209 0-125.708-289.709-106.166-289.709-293.083 0-90.083 79.167-160.583 192-160.583 63.75 0 170.834 28.916 170.834 110.458v49.25h-78.209v-28c0-31.458-45.041-54.375-92.625-54.375-64.541 0-105.333 35.667-105.333 80.667 0 121.5 288.875 94.333 288.875 291.416 0 91.667-71.375 170.834-190.292 170.834-75.872-.246-148.185-32.674-198.833-89.167l50.125-60.417zm474.87 246.375c33.333 0 59.458-23.791 75.625-62l19.542-46.75-147-340.666c-5.917-13.625-13.584-17-27.167-17h-10.208v-70.5h48.416c34.834 0 47.584 9.333 61.167 43.333l97.708 242.083a459.47 459.47 0 0 1 15.292 51.834h1.667c3.624-17.589 8.455-34.908 14.458-51.834l89.208-242.083c12.75-34 28.042-43.333 62.875-43.333h49.292v70.5h-11.083c-13.542 0-21.209 3.375-27.167 17l-169.917 419.666c-26.333 66.25-78.166 101.125-138.458 101.125a142.51 142.51 0 0 1-101.083-42.5l33.958-59.458c0 .833 26.333 30.583 62.875 30.583zm433.21-617.5c0-12.75-6.791-18.708-18.666-18.708h-34.834v-70.625h81.542c38.208 0 54.167 16.125 54.167 54.375v456.208c0 12.75 6.791 18.709 18.708 18.709h34.792v70.5h-81.334c-38.208 0-54.166-16.167-54.166-54.375l-.209-456.084zM2451.17 507.5c0-12.75-6.792-18.708-18.709-18.708h-34.833v-70.5h80.75c38.208 0 54.167 16.125 54.167 54.166v286.5c0 12.75 6.791 18.709 18.708 18.709h34.833v70.5h-80.541c-38.25 0-54.167-16.167-54.167-54.375l-.208-286.292zm1.708-259.125h73.875v85.792h-73.875v-85.792zM2690.62 507.5c0-12.75-6.792-18.708-18.708-18.708h-34.834v-70.5h80.709c39.083 0 55.208 16.125 55.208 52.666v203.875c0 59.5 11.917 107.042 79.875 107.042 88.375 0 140.167-77.292 140.167-162.25V418.292h82.416v340.666c0 12.75 6.792 18.709 18.709 18.709h34.791v70.5h-79.166c-36.5 0-54.375-17-54.375-47.584v-16.125c0-13.625.875-24.625.875-24.625h-1.709c-17.666 42.459-72.875 98.709-157.833 98.709-96.875 0-146.125-50.959-146.125-164.792V507.5zm534.21 220.042s50.959 63.708 130 63.708c39.917 0 74.75-17.875 74.75-55.25 0-77.292-234.458-68.792-234.458-207.25 0-82.417 72.167-120.833 159.708-120.833 51.834 0 141 17.833 141 83.333V532h-73.916v-21.25c0-25.5-38.209-36.542-64.542-36.542-48.417 0-79.875 17.042-79.875 51 0 81.542 234.5 63.709 234.5 207.292 0 76.458-67.958 125.708-158.042 125.708-114.666 0-171.583-75.583-171.583-75.583l42.458-55.083z" fill="#131718" fill-rule="nonzero"/><path d="M143.417 605.333l206.625 413.25 381.375.625 92.291-129.916-680.291-283.959z" fill="#30ba9d" fill-rule="nonzero"/><path d="M0 650.708l277.792 381.334 453.625.75 92.291-142.667L0 650.708zm333.083-464.541l135.209 104.875 122.25-234.584L549 29.875 333.083 186.167z" fill-rule="nonzero" fill="#1a9f83"/><path d="M731.417 1032.79L333.083 186.165l85.209-61.667 463.5 675.75-150.375 232.542zM510.667 57.625l259.458 209.583L588.042 0l-77.375 57.625z" fill-rule="nonzero" fill="#30ba9d"/></svg>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content.logo", name: "content", template: "@SyliusShop/shared/logo.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.content.logo" -->    </a>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content", name: "logo", template: "@SyliusShop/shared/layout/base/header/content/logo.html.twig", priority: 300 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content", name: "search_form", template: "@BitBagSyliusElasticsearchPlugin/Shop/Layout/Header/searchForm.html.twig", priority: 250 -->
<div class="col searchdiv" data-bb-elastic-url="http://localhost:9000/en_US/auto-complete/product">
    <!-- BEGIN HOOK | name: "sylius_shop.base.header.content.search_form" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content.search_form", name: "content", component: "bitbag.sylius_elasticsearch_plugin:search_form", priority: 0 -->
<form name="bitbag_elasticsearch_search" method="get" action="/en_US/search">
    <div class="input-group">
        <input type="text" id="bitbag_elasticsearch_search_query" name="bitbag_elasticsearch_search[query]" placeholder="Search for products..." class="prompt app-quick-add-code-input form-control" />
        <button id="bitbag_elasticsearch_search_box_search" class="btn btn btn-outline-secondary btn-sm" type="submit" aria-label="search button">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 10a7 7 0 1 0 14 0a7 7 0 1 0-14 0m18 11l-6-6"/></svg>
        </button>
    </div>
</form>
<div class="results"></div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content.search_form", name: "content", component: "bitbag.sylius_elasticsearch_plugin:search_form", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.content.search_form" --></div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content", name: "search_form", template: "@BitBagSyliusElasticsearchPlugin/Shop/Layout/Header/searchForm.html.twig", priority: 250 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content", name: "security", template: "@SyliusShop/shared/layout/base/header/content/security.html.twig", priority: 200 -->
<div class="col-auto">
    <!-- BEGIN HOOK | name: "sylius_shop.base.header.content.security" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content.security", name: "logged_in_user", template: "@SyliusShop/shared/layout/base/header/content/security/logged_in_user.html.twig", priority: 100 -->

<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content.security", name: "logged_in_user", template: "@SyliusShop/shared/layout/base/header/content/security/logged_in_user.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content.security", name: "visitor", template: "@SyliusShop/shared/layout/base/header/content/security/visitor.html.twig", priority: 0 -->
<div class="d-flex align-items-center">
        <!-- BEGIN HOOK | name: "sylius_shop.base.header.content.security.visitor" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content.security.visitor", name: "mobile", template: "@SyliusShop/shared/layout/base/header/content/security/visitor/mobile.html.twig", priority: 100 -->
<div class="d-lg-none" role="navigation" aria-label="Account navigation (mobile)">
    <a href="/en_US/login" class="btn btn-icon btn-transparent px-0" aria-label="Account button">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2"/></svg>
    </a>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content.security.visitor", name: "mobile", template: "@SyliusShop/shared/layout/base/header/content/security/visitor/mobile.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content.security.visitor", name: "desktop", template: "@SyliusShop/shared/layout/base/header/content/security/visitor/desktop.html.twig", priority: 0 -->
<div class="d-none d-lg-flex align-items-center gap-2 ps-2" role="navigation" aria-label="Account navigation (desktop)">
    <!-- BEGIN HOOK | name: "sylius_shop.base.header.content.security.visitor.desktop" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content.security.visitor.desktop", name: "user_icon", template: "@SyliusShop/shared/layout/base/header/content/security/visitor/desktop/user_icon.html.twig", priority: 200 -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2"/></svg>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content.security.visitor.desktop", name: "user_icon", template: "@SyliusShop/shared/layout/base/header/content/security/visitor/desktop/user_icon.html.twig", priority: 200 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content.security.visitor.desktop", name: "login", template: "@SyliusShop/shared/layout/base/header/content/security/visitor/desktop/login.html.twig", priority: 100 -->
<a
        href="/en_US/login"
        class="link-reset"
         id="login-page-button"        data-test-button="login-page-button"
            >
                            Login
            </a>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content.security.visitor.desktop", name: "login", template: "@SyliusShop/shared/layout/base/header/content/security/visitor/desktop/login.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content.security.visitor.desktop", name: "register", template: "@SyliusShop/shared/layout/base/header/content/security/visitor/desktop/register.html.twig", priority: 0 -->
<small aria-hidden="true" role="presentation" class="text-black px-1">|</small>
    <a
        href="/en_US/register"
        class="link-reset"
         id="register-page-button"        data-test-button="register-page-button"
                    role="menuitem"
                    aria-label="Register"
            >
                            Register
            </a>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content.security.visitor.desktop", name: "register", template: "@SyliusShop/shared/layout/base/header/content/security/visitor/desktop/register.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.content.security.visitor.desktop" --></div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content.security.visitor", name: "desktop", template: "@SyliusShop/shared/layout/base/header/content/security/visitor/desktop.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.content.security.visitor" -->    </div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content.security", name: "visitor", template: "@SyliusShop/shared/layout/base/header/content/security/visitor.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.content.security" --></div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content", name: "security", template: "@SyliusShop/shared/layout/base/header/content/security.html.twig", priority: 200 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content", name: "wishlist_header", template: "@SyliusWishlistPlugin/wishlist_header.html.twig", priority: 150 -->
<div class="col-auto position-relative">
    
        
                        
    <a href="/en_US/wishlist" class="btn btn-icon btn-transparent px-0 position-relative" aria-label="wishlist button">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon" aria-hidden="true"><path fill="currentColor" d="m12.1 18.55l-.1.1l-.11-.1C7.14 14.24 4 11.39 4 8.5C4 6.5 5.5 5 7.5 5c1.54 0 3.04 1 3.57 2.36h1.86C13.46 6 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5c0 2.89-3.14 5.74-7.9 10.05M16.5 3c-1.74 0-3.41.81-4.5 2.08C10.91 3.81 9.24 3 7.5 3C4.42 3 2 5.41 2 8.5c0 3.77 3.4 6.86 8.55 11.53L12 21.35l1.45-1.32C18.6 15.36 22 12.27 22 8.5C22 5.41 19.58 3 16.5 3"/></svg>
        <span class="wishlist-items-count" data-test-wishlist-primary-items-count="">2</span>
    </a>

</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content", name: "wishlist_header", template: "@SyliusWishlistPlugin/wishlist_header.html.twig", priority: 150 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content", name: "cart", component: "sylius_shop:cart:widget", priority: 100 -->
<div class="col-auto position-relative"  data-controller="live" data-live-name-value="sylius_shop:cart:widget" data-live-url-value="/en_US/_components/sylius_shop:cart:widget" data-live-listeners-value="[{&quot;action&quot;:&quot;refreshCart&quot;,&quot;event&quot;:&quot;sylius:shop:cart_changed&quot;},{&quot;action&quot;:&quot;refreshCart&quot;,&quot;event&quot;:&quot;sylius:shop:cart_cleared&quot;}]" id="live-3283976089-0" data-live-props-value="{&quot;cart&quot;:null,&quot;hookableMetadata&quot;:{&quot;renderedBy&quot;:&quot;sylius_shop.base.header.content&quot;,&quot;configuration&quot;:&quot;[]&quot;,&quot;prefixes&quot;:[&quot;sylius_shop.base.header.content&quot;]},&quot;template&quot;:&quot;@SyliusShop\/shared\/components\/header\/cart.html.twig&quot;,&quot;@attributes&quot;:{&quot;id&quot;:&quot;live-3283976089-0&quot;},&quot;@checksum&quot;:&quot;+jZUHoKz3AHjmB1RSx8xnIDdJsF4AK9cYVT80f3khyI=&quot;}">
    <div data-loading>
        <div class="sylius-shop-loader">
            <img src="/build/shop/images/loader.0488c2fc.gif" alt="Loading" loading="lazy"/>
        </div>
    </div>
    <div data-test-cart-button="">
        <button class="btn btn-icon btn-transparent px-0 position-relative" data-bs-toggle="offcanvas" data-bs-target="#offcanvasCart" aria-label="cart button">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M6.331 8H17.67a2 2 0 0 1 1.977 2.304l-1.255 8.152A3 3 0 0 1 15.426 21H8.574a3 3 0 0 1-2.965-2.544l-1.255-8.152A2 2 0 0 1 6.331 8"/><path d="M9 11V6a3 3 0 0 1 6 0v5"/></g></svg>
            <span class="d-none d-lg-block ps-1" data-test-cart-total="">$0.00
        </span>
                    </button>
    </div>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content", name: "cart", component: "sylius_shop:cart:widget", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.content", name: "taxon_hamburger", template: "@SyliusShop/shared/layout/base/header/content/taxon_hamburger.html.twig", priority: 0 -->
<div class="col-auto d-lg-none">
    <button class="navbar-toggler btn btn-icon btn-transparent px-0" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon icon-md" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"/></svg>
    </button>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.content", name: "taxon_hamburger", template: "@SyliusShop/shared/layout/base/header/content/taxon_hamburger.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.content" -->        </div>
    </div>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header", name: "content", template: "@SyliusShop/shared/layout/base/header/content.html.twig", priority: 200 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header", name: "navbar", template: "@SyliusShop/shared/layout/base/header/navbar.html.twig", priority: 100 -->
<!-- BEGIN HOOK | name: "sylius_shop.base.header.navbar" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.navbar", name: "menu", component: "sylius_shop:common:taxon_menu", priority: 0 -->
<div class="w-100 border-bottom">
            <nav class="navbar offcanvas-lg offcanvas-start offcanvas-wide p-0" id="navbarNav" role="navigation" aria-label="Taxon navigation (desktop)">
            <div class="offcanvas-header w-full">
                <h1 class="offcanvas-title fs-5">
                    Taxons
                </h1>
                <button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#navbarNav" aria-label="Close"></button>
            </div>
            <div class="offcanvas-body justify-content-lg-center w-full py-0">
                <div class="navbar-nav my-2 flex-column flex-lg-row gap-lg-4" data-test-menu="">
                    <!-- BEGIN HOOK | name: "sylius_shop.base.header.navbar.menu" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.navbar.menu", name: "item", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item.html.twig", priority: 0 -->
<div class="nav-item dropdown" data-test-menu-item="T-shirts">
            <!-- BEGIN HOOK | name: "sylius_shop.base.header.navbar.menu.item#dropdown" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "toggle", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/toggle.html.twig", priority: 100 -->
<a class="nav-link d-flex align-items-center gap-1" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
    T-shirts
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon icon-sm" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m6 9l6 6l6-6"/></svg>
</a>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "toggle", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/toggle.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "dropdown", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/dropdown.html.twig", priority: 0 -->
<div class="dropdown-menu">
            <a class="nav-link" href="/en_US/taxons/t-shirts/men" data-test-menu-item="Men">
            Men
        </a>
            <a class="nav-link" href="/en_US/taxons/t-shirts/women" data-test-menu-item="Women">
            Women
        </a>
    </div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "dropdown", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/dropdown.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.navbar.menu.item#dropdown" -->        </div>
                <div class="nav-item dropdown" data-test-menu-item="Caps">
            <!-- BEGIN HOOK | name: "sylius_shop.base.header.navbar.menu.item#dropdown" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "toggle", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/toggle.html.twig", priority: 100 -->
<a class="nav-link d-flex align-items-center gap-1" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
    Caps
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon icon-sm" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m6 9l6 6l6-6"/></svg>
</a>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "toggle", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/toggle.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "dropdown", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/dropdown.html.twig", priority: 0 -->
<div class="dropdown-menu">
            <a class="nav-link" href="/en_US/taxons/caps/simple" data-test-menu-item="Simple">
            Simple
        </a>
            <a class="nav-link" href="/en_US/taxons/caps/with-pompons" data-test-menu-item="With pompons">
            With pompons
        </a>
    </div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "dropdown", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/dropdown.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.navbar.menu.item#dropdown" -->        </div>
                <!-- BEGIN HOOK | name: "sylius_shop.base.header.navbar.menu.item#link" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.navbar.menu.item#link", name: "link", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/link.html.twig", priority: 0 -->
<a class="nav-link" href="/en_US/taxons/category/dresses" data-test-menu-item="Dresses">
    Dresses
</a>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.navbar.menu.item#link", name: "link", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/link.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.navbar.menu.item#link" -->                <div class="nav-item dropdown" data-test-menu-item="Jeans">
            <!-- BEGIN HOOK | name: "sylius_shop.base.header.navbar.menu.item#dropdown" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "toggle", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/toggle.html.twig", priority: 100 -->
<a class="nav-link d-flex align-items-center gap-1" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
    Jeans
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon icon-sm" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m6 9l6 6l6-6"/></svg>
</a>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "toggle", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/toggle.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "dropdown", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/dropdown.html.twig", priority: 0 -->
<div class="dropdown-menu">
            <a class="nav-link" href="/en_US/taxons/jeans/men" data-test-menu-item="Men">
            Men
        </a>
            <a class="nav-link" href="/en_US/taxons/jeans/women" data-test-menu-item="Women">
            Women
        </a>
    </div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.navbar.menu.item#dropdown", name: "dropdown", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item/dropdown.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.navbar.menu.item#dropdown" -->        </div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.navbar.menu", name: "item", template: "@SyliusShop/shared/layout/base/header/navbar/menu/item.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.navbar.menu" -->                </div>
            </div>
        </nav>
    </div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header.navbar", name: "menu", component: "sylius_shop:common:taxon_menu", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.navbar" -->
<!--  END HOOKABLE  | hook: "sylius_shop.base.header", name: "navbar", template: "@SyliusShop/shared/layout/base/header/navbar.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header", name: "flashes", template: "@SyliusShop/shared/layout/base/header/flashes.html.twig", priority: 0 -->
<div class="container sylius-messages">
    <!-- BEGIN HOOK | name: "sylius_shop.base.header.flashes" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.header.flashes", name: "content", template: "@SyliusShop/shared/flashes.html.twig", priority: 0 -->

<!--  END HOOKABLE  | hook: "sylius_shop.base.header.flashes", name: "content", template: "@SyliusShop/shared/flashes.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header.flashes" --></div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.header", name: "flashes", template: "@SyliusShop/shared/layout/base/header/flashes.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.header" -->                
                    <!-- BEGIN HOOK | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index" -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index", name: "content", template: "@SyliusShop/product/index/content.html.twig", priority: 0 -->
<div class="container mt-4 mb-5">
    <!-- BEGIN HOOK | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content" -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content", name: "breadcrumbs", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/breadcrumbs.html.twig", priority: 100 -->
<ol class="breadcrumb" aria-label="breadcrumbs">
                    <li class="breadcrumb-item fw-normal">
                                    <a class="link-reset" href="/en_US/">Home</a>
                            </li>
                    <li class="breadcrumb-item fw-normal active">
                                    <span class="text-body-tertiary text-break">Search</span>
                            </li>
            </ol>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content", name: "breadcrumbs", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/breadcrumbs.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content", name: "body", template: "@SyliusShop/product/index/content/body.html.twig", priority: 0 -->
<div class="row mt-5">
    <!-- BEGIN HOOK | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body" -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body", name: "sidebar", template: "@SyliusShop/product/index/content/body/sidebar.html.twig", priority: 100 -->
<div class="col-12 col-lg-3">
    <!-- BEGIN HOOK | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.sidebar" -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.sidebar", name: "facets", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/sidebar/facets.html.twig", priority: 0 -->
<div class="container-xl">
    <form name="bitbag_elasticsearch_search" method="get" class="ui loadable form" novalidate="novalidate" id="bitbag_elasticsearch_search">

                    <div  class=" field mb-3"><input type="text" id="bitbag_elasticsearch_search_query" name="bitbag_elasticsearch_search[query]" placeholder="Search for products..." class="prompt app-quick-add-code-input form-control" style="display: none" /></div>

        
    </form>
</div>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.sidebar", name: "facets", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/sidebar/facets.html.twig", priority: 0 -->
<!--  END HOOK  | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.sidebar" --></div>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body", name: "sidebar", template: "@SyliusShop/product/index/content/body/sidebar.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body", name: "main", template: "@SyliusShop/product/index/content/body/main.html.twig", priority: 0 -->
<div class="col-12 col-lg-9">
    <!-- BEGIN HOOK | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main" -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main", name: "filters", template: "@SyliusShop/product/index/content/body/main/filters.html.twig", priority: 200 -->
<div class="row flex-column flex-md-row align-items-end justify-content-end gap-2 gap-md-0 mb-5">
    <!-- BEGIN HOOK | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters" -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters", name: "controls", template: "@SyliusShop/product/index/content/body/main/filters/controls.html.twig", priority: 0 -->
<div class="col-auto d-flex gap-2">
    <!-- BEGIN HOOK | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls" -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls", name: "limit", template: "@SyliusShop/product/index/content/body/main/filters/controls/limit.html.twig", priority: 100 -->
<div class="dropdown">
    <!-- BEGIN HOOK | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls.limit" -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls.limit", name: "toggle", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/main/limit/toggle.html.twig", priority: 100 -->
<button type="button" class="btn btn-sm dropdown-toggle" data-bs-toggle="dropdown">
    <span class="text-black-50">Show: </span>
    N/A
</button>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls.limit", name: "toggle", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/main/limit/toggle.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls.limit", name: "menu", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/main/limit/menu.html.twig", priority: 0 -->
<div class="dropdown-menu dropdown-menu-end ">
            <a class="dropdown-item" href="/en_US/search?limit=10&amp;facets=%5Bjeans_collection%5D%5B%5D%3Dsylius_summer_2024">9</a>
            <a class="dropdown-item" href="/en_US/search?limit=10&amp;facets=%5Bjeans_collection%5D%5B%5D%3Dsylius_summer_2024">18</a>
            <a class="dropdown-item" href="/en_US/search?limit=10&amp;facets=%5Bjeans_collection%5D%5B%5D%3Dsylius_summer_2024">36</a>
    </div>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls.limit", name: "menu", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/main/limit/menu.html.twig", priority: 0 -->
<!--  END HOOK  | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls.limit" --></div>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls", name: "limit", template: "@SyliusShop/product/index/content/body/main/filters/controls/limit.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls", name: "sorting", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/main/sorting.html.twig", priority: 0 -->

<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls", name: "sorting", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/main/sorting.html.twig", priority: 0 -->
<!--  END HOOK  | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters.controls" --></div>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters", name: "controls", template: "@SyliusShop/product/index/content/body/main/filters/controls.html.twig", priority: 0 -->
<!--  END HOOK  | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main.filters" --></div>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main", name: "filters", template: "@SyliusShop/product/index/content/body/main/filters.html.twig", priority: 200 -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main", name: "products", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/main/products.html.twig", priority: 100 -->
<div class="alert alert-info" data-test-sylius-flash-message="alert-info">
                    <div class="fw-bold">
                Info
            </div>
                There are no results to display
    </div>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main", name: "products", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/main/products.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main", name: "pagination", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/main/pagination.html.twig", priority: 0 -->

<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main", name: "pagination", template: "@BitBagSyliusElasticsearchPlugin/Shop/SiteWideSearch/content/body/main/pagination.html.twig", priority: 0 -->
<!--  END HOOK  | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body.main" --></div>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body", name: "main", template: "@SyliusShop/product/index/content/body/main.html.twig", priority: 0 -->
<!--  END HOOK  | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content.body" --></div>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content", name: "body", template: "@SyliusShop/product/index/content/body.html.twig", priority: 0 -->
<!--  END HOOK  | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index.content" --></div>
<!--  END HOOKABLE  | hook: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index", name: "content", template: "@SyliusShop/product/index/content.html.twig", priority: 0 -->
<!--  END HOOK  | name: "bitbag.sylius_elasticsearch_plugin.site_wide_search.index" -->
                                    <!-- BEGIN HOOK | name: "sylius_shop.base.footer" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.footer", name: "content", template: "@SyliusShop/shared/layout/base/footer/content.html.twig", priority: 0 -->
<div class="mt-auto border-top mt-5 py-5">
    <footer class="container">
        <div class="row">
            <!-- BEGIN HOOK | name: "sylius_shop.base.footer.content" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.footer.content", name: "menu", template: "@SyliusShop/shared/layout/base/footer/content/menu.html.twig", priority: 200 -->
<div class="col-12 col-lg-6 order-lg-2">
    <div class="row">
        <div class="col-12 col-sm-6">
            <nav aria-label="Footer informational links" class="nav flex-column">
                <a class="nav-link" href="#">About</a>
                <a class="nav-link" href="#">Terms and Conditions</a>
                <a class="nav-link" href="#">Privacy Policy</a>
                <a class="nav-link" href="/en_US/contact/">Contact us</a>
            </nav>
        </div>

        <div class="col-12 col-sm-6">
            <nav aria-label="Footer help links" class="nav flex-column mb-5">
                <a class="nav-link" href="#">FAQ</a>
                <a class="nav-link" href="#">Delivery & Shipping</a>
                <a class="nav-link" href="#">Returns Policy</a>
            </nav>
        </div>
    </div>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.footer.content", name: "menu", template: "@SyliusShop/shared/layout/base/footer/content/menu.html.twig", priority: 200 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.footer.content", name: "payment_methods", template: "@SyliusShop/shared/layout/base/footer/content/payment_methods.html.twig", priority: 100 -->
<div class="col-12 text-center col-md-6 order-md-4 text-md-start col-lg-3 order-lg-4 text-lg-center">
    <div class="mb-3 fw-medium">Payment methods:</div>

    <div class="row g-2 mb-4">
        <div class="col-4">
            <a href="https://sylius.com/partner/paypal/" target="_blank" class="d-block border rounded p-2">
                <img class="img-fluid" src="/build/shop/images/paypal-logo.88881bcb.svg" width="100%" height="100%" alt="PayPal" />
            </a>
        </div>
        <div class="col-4">
            <a href="https://sylius.com/partner/adyen/" target="_blank" class="d-block border rounded p-2">
                <img class="img-fluid" src="/build/shop/images/adyen-logo.23b1b26a.svg" width="100%" height="100%" alt="Adyen" />
            </a>
        </div>
        <div class="col-4">
            <a href="https://sylius.com/partner/mollie/" target="_blank" class="d-block border rounded p-2">
                <img class="img-fluid" src="/build/shop/images/mollie-logo.fa881b7d.svg" width="100%" height="100%" alt="Mollie" />
            </a>
        </div>
    </div>

    <div class="d-flex justify-content-center justify-content-md-start justify-content-lg-center gap-3 mb-5">
        <a class="link-reset" href="https://www.instagram.com/sylius.team/" target="_blank" aria-label="instagram logo"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon icon-md" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M4 8a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4z"/><path d="M9 12a3 3 0 1 0 6 0a3 3 0 0 0-6 0m7.5-4.5v.01"/></g></svg></a>
        <a class="link-reset" href="https://www.facebook.com/SyliusEcommerce/" target="_blank" aria-label="facebook logo"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon icon-md" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 10v4h3v7h4v-7h3l1-4h-4V8a1 1 0 0 1 1-1h3V3h-3a5 5 0 0 0-5 5v2z"/></svg></a>
        <a class="link-reset" href="https://x.com/Sylius" target="_blank" aria-label="x logo"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon icon-md" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m4 4l11.733 16H20L8.267 4zm0 16l6.768-6.768m2.46-2.46L20 4"/></svg></a>
    </div>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.footer.content", name: "payment_methods", template: "@SyliusShop/shared/layout/base/footer/content/payment_methods.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.footer.content", name: "copy", template: "@SyliusShop/shared/layout/base/footer/content/copy.html.twig", priority: 0 -->
<div class="col-12 text-center col-md-6 order-md-3 text-md-start col-lg-3 order-lg-1">
    <a href="/en_US/" class="d-inline-block mb-4" aria-label="Sylius logo">
        <div style="width: 10rem">
            <svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 3512 1033" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M1285.88 708.833s61.167 72.209 150.375 72.209c56.083 0 102.792-33.959 102.792-89.209 0-125.708-289.709-106.166-289.709-293.083 0-90.083 79.167-160.583 192-160.583 63.75 0 170.834 28.916 170.834 110.458v49.25h-78.209v-28c0-31.458-45.041-54.375-92.625-54.375-64.541 0-105.333 35.667-105.333 80.667 0 121.5 288.875 94.333 288.875 291.416 0 91.667-71.375 170.834-190.292 170.834-75.872-.246-148.185-32.674-198.833-89.167l50.125-60.417zm474.87 246.375c33.333 0 59.458-23.791 75.625-62l19.542-46.75-147-340.666c-5.917-13.625-13.584-17-27.167-17h-10.208v-70.5h48.416c34.834 0 47.584 9.333 61.167 43.333l97.708 242.083a459.47 459.47 0 0 1 15.292 51.834h1.667c3.624-17.589 8.455-34.908 14.458-51.834l89.208-242.083c12.75-34 28.042-43.333 62.875-43.333h49.292v70.5h-11.083c-13.542 0-21.209 3.375-27.167 17l-169.917 419.666c-26.333 66.25-78.166 101.125-138.458 101.125a142.51 142.51 0 0 1-101.083-42.5l33.958-59.458c0 .833 26.333 30.583 62.875 30.583zm433.21-617.5c0-12.75-6.791-18.708-18.666-18.708h-34.834v-70.625h81.542c38.208 0 54.167 16.125 54.167 54.375v456.208c0 12.75 6.791 18.709 18.708 18.709h34.792v70.5h-81.334c-38.208 0-54.166-16.167-54.166-54.375l-.209-456.084zM2451.17 507.5c0-12.75-6.792-18.708-18.709-18.708h-34.833v-70.5h80.75c38.208 0 54.167 16.125 54.167 54.166v286.5c0 12.75 6.791 18.709 18.708 18.709h34.833v70.5h-80.541c-38.25 0-54.167-16.167-54.167-54.375l-.208-286.292zm1.708-259.125h73.875v85.792h-73.875v-85.792zM2690.62 507.5c0-12.75-6.792-18.708-18.708-18.708h-34.834v-70.5h80.709c39.083 0 55.208 16.125 55.208 52.666v203.875c0 59.5 11.917 107.042 79.875 107.042 88.375 0 140.167-77.292 140.167-162.25V418.292h82.416v340.666c0 12.75 6.792 18.709 18.709 18.709h34.791v70.5h-79.166c-36.5 0-54.375-17-54.375-47.584v-16.125c0-13.625.875-24.625.875-24.625h-1.709c-17.666 42.459-72.875 98.709-157.833 98.709-96.875 0-146.125-50.959-146.125-164.792V507.5zm534.21 220.042s50.959 63.708 130 63.708c39.917 0 74.75-17.875 74.75-55.25 0-77.292-234.458-68.792-234.458-207.25 0-82.417 72.167-120.833 159.708-120.833 51.834 0 141 17.833 141 83.333V532h-73.916v-21.25c0-25.5-38.209-36.542-64.542-36.542-48.417 0-79.875 17.042-79.875 51 0 81.542 234.5 63.709 234.5 207.292 0 76.458-67.958 125.708-158.042 125.708-114.666 0-171.583-75.583-171.583-75.583l42.458-55.083z" fill="#131718" fill-rule="nonzero"/><path d="M143.417 605.333l206.625 413.25 381.375.625 92.291-129.916-680.291-283.959z" fill="#30ba9d" fill-rule="nonzero"/><path d="M0 650.708l277.792 381.334 453.625.75 92.291-142.667L0 650.708zm333.083-464.541l135.209 104.875 122.25-234.584L549 29.875 333.083 186.167z" fill-rule="nonzero" fill="#1a9f83"/><path d="M731.417 1032.79L333.083 186.165l85.209-61.667 463.5 675.75-150.375 232.542zM510.667 57.625l259.458 209.583L588.042 0l-77.375 57.625z" fill-rule="nonzero" fill="#30ba9d"/></svg>
        </div>
    </a>

    <div class="mb-3">
        &copy; Your Store, Powered by
        <a href="https://sylius.com" target="_blank" class="text-primary-emphasis text-decoration-underline">Sylius</a>
    </div>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.footer.content", name: "copy", template: "@SyliusShop/shared/layout/base/footer/content/copy.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.footer.content" -->        </div>
    </footer>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.footer", name: "content", template: "@SyliusShop/shared/layout/base/footer/content.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.footer" -->                            </div>
            <!-- BEGIN HOOK | name: "sylius_shop.base.offcanvas" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.offcanvas", name: "cart", component: "sylius_shop:cart:widget:offcanvas", priority: 0 -->
<div class="offcanvas offcanvas-end offcanvas-wide" tabindex="-1" id="offcanvasCart"  data-controller="live" data-live-name-value="sylius_shop:cart:widget:offcanvas" data-live-url-value="/en_US/_components/sylius_shop:cart:widget:offcanvas" data-live-listeners-value="[{&quot;action&quot;:&quot;refreshCart&quot;,&quot;event&quot;:&quot;sylius:shop:cart_changed&quot;},{&quot;action&quot;:&quot;refreshCart&quot;,&quot;event&quot;:&quot;sylius:shop:cart_cleared&quot;}]" id="live-907805915-0" data-live-props-value="{&quot;cart&quot;:null,&quot;hookableMetadata&quot;:{&quot;renderedBy&quot;:&quot;sylius_shop.base.offcanvas&quot;,&quot;configuration&quot;:&quot;[]&quot;,&quot;prefixes&quot;:[&quot;sylius_shop.base.offcanvas&quot;]},&quot;template&quot;:&quot;@SyliusShop\/shared\/layout\/base\/offcanvas\/cart.html.twig&quot;,&quot;@attributes&quot;:{&quot;id&quot;:&quot;live-907805915-0&quot;},&quot;@checksum&quot;:&quot;MC3hY\/NWt9HDsUSzo5Lptj+cFqZrUeVeuqL\/8+ykEhw=&quot;}">
    <!-- BEGIN HOOK | name: "sylius_shop.base.offcanvas.cart" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.offcanvas.cart", name: "header", template: "@SyliusShop/shared/layout/base/offcanvas/cart/header.html.twig", priority: 200 -->
<div class="offcanvas-header">
    <h1 class="offcanvas-title fs-5">Cart</h1>
    <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.offcanvas.cart", name: "header", template: "@SyliusShop/shared/layout/base/offcanvas/cart/header.html.twig", priority: 200 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.offcanvas.cart", name: "body", template: "@SyliusShop/shared/layout/base/offcanvas/cart/body.html.twig", priority: 100 -->
<div class="offcanvas-body">
    <!-- BEGIN HOOK | name: "sylius_shop.base.offcanvas.cart.body" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.offcanvas.cart.body", name: "items", template: "@SyliusShop/shared/layout/base/offcanvas/cart/body/items.html.twig", priority: 0 -->
Your cart is empty.
<!--  END HOOKABLE  | hook: "sylius_shop.base.offcanvas.cart.body", name: "items", template: "@SyliusShop/shared/layout/base/offcanvas/cart/body/items.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.offcanvas.cart.body" --></div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.offcanvas.cart", name: "body", template: "@SyliusShop/shared/layout/base/offcanvas/cart/body.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base.offcanvas.cart", name: "footer", template: "@SyliusShop/shared/layout/base/offcanvas/cart/footer.html.twig", priority: 0 -->
<div class="p-3 pb-5">
    <div class="offcanvas-footer">
        <div class="d-flex justify-content-between py-4">
            <div class="h5">Subtotal:</div>
            <div class="h5 text-end">$0.00</div>
        </div>
        <div class="d-grid gap-2 pb-3">
            <a href="/en_US/cart/" class="btn btn-light" type="button">View and edit cart</a>
            <a href="/en_US/checkout/" class="btn btn-primary" type="button">Checkout</a>
        </div>
    </div>
</div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.offcanvas.cart", name: "footer", template: "@SyliusShop/shared/layout/base/offcanvas/cart/footer.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.offcanvas.cart" --></div>
<!--  END HOOKABLE  | hook: "sylius_shop.base.offcanvas", name: "cart", component: "sylius_shop:cart:widget:offcanvas", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base.offcanvas" -->        
                    <!-- BEGIN HOOK | name: "sylius_shop.base#javascripts" -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base#javascripts", name: "mollie_javascripts", template: "@SyliusMolliePlugin/shop/shared/layout/base/mollie_javascripts.html.twig", priority: 100 -->
<script src="https://js.mollie.com/v1/mollie.js"> </script>
<!--  END HOOKABLE  | hook: "sylius_shop.base#javascripts", name: "mollie_javascripts", template: "@SyliusMolliePlugin/shop/shared/layout/base/mollie_javascripts.html.twig", priority: 100 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base#javascripts", name: "scripts", template: "@SyliusShop/shared/layout/base/scripts.html.twig", priority: 0 -->
<script src="/build/shop/shop-entry.js"></script>
<!--  END HOOKABLE  | hook: "sylius_shop.base#javascripts", name: "scripts", template: "@SyliusShop/shared/layout/base/scripts.html.twig", priority: 0 -->
<!-- BEGIN HOOKABLE | hook: "sylius_shop.base#javascripts", name: "app_javascripts", template: "shop/javascripts.html.twig", priority: 0 -->
<script src="/build/app/shop/app-shop-entry.js"></script>
<script src="/build/bitbag/elasticsearch/shop/bitbag-elasticsearch-shop.js"></script>
<!--  END HOOKABLE  | hook: "sylius_shop.base#javascripts", name: "app_javascripts", template: "shop/javascripts.html.twig", priority: 0 -->
<!--  END HOOK  | name: "sylius_shop.base#javascripts" -->            </body>
</html>

Impact: This behavior breaks API consumers (such as front-end applications or other services) that expect a machine-readable JSON response. And I cannot consume the Advanced search from a Web or Mobile application.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions