Components

12 Twig Components
28 Render Count
52 ms Render Time
110.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
sylius_shop:product:card
"Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
@SyliusUi/components/default.html.twig
5 24.18ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
5 5.67ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
5 3.83ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
5 0.93ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.10ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.70ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.44ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 14.87ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.99ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.79ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.79ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.18ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 110.0 MiB 1.10 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13128
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13121 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13127 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13126 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/currency_switcher.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/currency_switcher.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent {#13748
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13019 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13128
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13121 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13127 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13126 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 110.0 MiB 0.70 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13825
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13821 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13823 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13824 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/locale_switcher.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/locale_switcher.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent {#13834
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13825
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13821 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13823 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13824 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 110.0 MiB 4.44 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13916
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13895 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13915 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13914 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#13931
  +cart: App\Entity\Order\Order {#13998 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13916
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13895 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13915 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13914 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  +template: "@SyliusShop/shared/components/header/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}
sylius_shop:common:taxon_menu Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent 110.0 MiB 14.87 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14184
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14172 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14178 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14170 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/header/navbar/menu.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/shared/layout/base/header/navbar/menu.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent {#14193
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14184
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14172 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14178 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14170 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 110.0 MiB 0.99 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27900
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27896 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27897 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27899 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
  "template" => "@SyliusShop/product/index/content/breadcrumbs.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/index/content/breadcrumbs.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent {#27909
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27900
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27896 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27897 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27899 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 110.0 MiB 1.79 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28014
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28010 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28011 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28013 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
  "template" => "@SyliusShop/product/index/content/body/sidebar/taxonomy.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/index/content/body/sidebar/taxonomy.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent {#28022
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28014
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28010 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28011 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28013 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 110.0 MiB 1.79 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28084
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28080 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28081 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28083 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
  "template" => "@SyliusShop/product/index/content/body/main/header.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/index/content/body/main/header.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent {#28092
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28084
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28080 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28081 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28083 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 8.98 ms
Input props
[
  "product" => App\Entity\Product\Product {#7949
    #id: 2740
    #code: "bouteille-isotherme-qwetch-originals-inox-7270"
    #attributes: Doctrine\ORM\PersistentCollection {#8638 …}
    #variants: Doctrine\ORM\PersistentCollection {#8776 …}
    #options: Doctrine\ORM\PersistentCollection {#8766 …}
    #associations: Doctrine\ORM\PersistentCollection {#8706 …}
    #createdAt: DateTime @1758632639 {#8058
      date: 2025-09-23 21:03:59.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632639 {#7959
      date: 2025-09-23 21:03:59.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8765 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8768
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7949}
        #id: 2740
        #name: "Bouteille isotherme Qwetch Originals Inox"
        #slug: "bouteille-isotherme-qwetch-originals-inox-7270"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Double paroi. Maintient 12h au Chaud / 24h au Froid.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Enti&egrave;rement en inox 18/8 y compris le bouchon. Aucun plastique</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Ni vernis ni&nbsp; BPA.</div>\n
          <div>\n
          <ul>\n
          <li>Double paroi. Maintient 12h au Chaud / 24h au Froid.</li>\n
          <li>Enti&egrave;rement en inox 18/8 y compris le bouchon. Aucun plastique</li>\n
          <li>Ni vernis ni&nbsp; BPA.</li>\n
          </ul>\n
          </div></div><h1>Description Bouteille isotherme Qwetch Originals Inox</h1><div class="col is-12">La bouteille Qwetch Originals Inox c'est LA solution pour ne plus utiliser de bouteilles en plastique. Un geste indispensable pour sauvegarder notre environnement. Avec sa double paroi inox, la bouteille Qwetch permet de conserver les boissons froides pendant 24 heures et chaudes pendant 12 heures. A noter pour les voyageurs que les bouteilles Qwetch sont autoris&eacute;es en soute et m&ecirc;me en bagage &agrave; main &agrave; condition qu'elles soient vides.</div><h1>Caractéristiques Bouteille isotherme Qwetch Originals Inox</h1><div class="col is-12">Maintient 12h au Chaud / 24h au Froid. Double paroi : paroi int&eacute;rieure et ext&eacute;rieure en inox 18/8. Extr&eacute;mit&eacute; du bouchon &eacute;galement en inox 18/8. Paroi int&eacute;rieure sans rev&ecirc;tement ni vernis. N&rsquo;alt&egrave;re ni les go&ucirc;ts ni les saveurs. Sans BPA.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8771 …}
    #channels: Doctrine\ORM\PersistentCollection {#8338 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8349 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8305 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28149
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28182 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28188 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28617
  +product: App\Entity\Product\Product {#7949
    #id: 2740
    #code: "bouteille-isotherme-qwetch-originals-inox-7270"
    #attributes: Doctrine\ORM\PersistentCollection {#8638 …}
    #variants: Doctrine\ORM\PersistentCollection {#8776 …}
    #options: Doctrine\ORM\PersistentCollection {#8766 …}
    #associations: Doctrine\ORM\PersistentCollection {#8706 …}
    #createdAt: DateTime @1758632639 {#8058
      date: 2025-09-23 21:03:59.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632639 {#7959
      date: 2025-09-23 21:03:59.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8765 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8768
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7949}
        #id: 2740
        #name: "Bouteille isotherme Qwetch Originals Inox"
        #slug: "bouteille-isotherme-qwetch-originals-inox-7270"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Double paroi. Maintient 12h au Chaud / 24h au Froid.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Enti&egrave;rement en inox 18/8 y compris le bouchon. Aucun plastique</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Ni vernis ni&nbsp; BPA.</div>\n
          <div>\n
          <ul>\n
          <li>Double paroi. Maintient 12h au Chaud / 24h au Froid.</li>\n
          <li>Enti&egrave;rement en inox 18/8 y compris le bouchon. Aucun plastique</li>\n
          <li>Ni vernis ni&nbsp; BPA.</li>\n
          </ul>\n
          </div></div><h1>Description Bouteille isotherme Qwetch Originals Inox</h1><div class="col is-12">La bouteille Qwetch Originals Inox c'est LA solution pour ne plus utiliser de bouteilles en plastique. Un geste indispensable pour sauvegarder notre environnement. Avec sa double paroi inox, la bouteille Qwetch permet de conserver les boissons froides pendant 24 heures et chaudes pendant 12 heures. A noter pour les voyageurs que les bouteilles Qwetch sont autoris&eacute;es en soute et m&ecirc;me en bagage &agrave; main &agrave; condition qu'elles soient vides.</div><h1>Caractéristiques Bouteille isotherme Qwetch Originals Inox</h1><div class="col is-12">Maintient 12h au Chaud / 24h au Froid. Double paroi : paroi int&eacute;rieure et ext&eacute;rieure en inox 18/8. Extr&eacute;mit&eacute; du bouchon &eacute;galement en inox 18/8. Paroi int&eacute;rieure sans rev&ecirc;tement ni vernis. N&rsquo;alt&egrave;re ni les go&ucirc;ts ni les saveurs. Sans BPA.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8771 …}
    #channels: Doctrine\ORM\PersistentCollection {#8338 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8349 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8305 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8779 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28149
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28182 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28188 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 2.74 ms
Input props
[
  "product" => App\Entity\Product\Product {#7949
    #id: 2740
    #code: "bouteille-isotherme-qwetch-originals-inox-7270"
    #attributes: Doctrine\ORM\PersistentCollection {#8638 …}
    #variants: Doctrine\ORM\PersistentCollection {#8776 …}
    #options: Doctrine\ORM\PersistentCollection {#8766 …}
    #associations: Doctrine\ORM\PersistentCollection {#8706 …}
    #createdAt: DateTime @1758632639 {#8058
      date: 2025-09-23 21:03:59.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632639 {#7959
      date: 2025-09-23 21:03:59.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8765 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8768
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7949}
        #id: 2740
        #name: "Bouteille isotherme Qwetch Originals Inox"
        #slug: "bouteille-isotherme-qwetch-originals-inox-7270"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Double paroi. Maintient 12h au Chaud / 24h au Froid.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Enti&egrave;rement en inox 18/8 y compris le bouchon. Aucun plastique</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Ni vernis ni&nbsp; BPA.</div>\n
          <div>\n
          <ul>\n
          <li>Double paroi. Maintient 12h au Chaud / 24h au Froid.</li>\n
          <li>Enti&egrave;rement en inox 18/8 y compris le bouchon. Aucun plastique</li>\n
          <li>Ni vernis ni&nbsp; BPA.</li>\n
          </ul>\n
          </div></div><h1>Description Bouteille isotherme Qwetch Originals Inox</h1><div class="col is-12">La bouteille Qwetch Originals Inox c'est LA solution pour ne plus utiliser de bouteilles en plastique. Un geste indispensable pour sauvegarder notre environnement. Avec sa double paroi inox, la bouteille Qwetch permet de conserver les boissons froides pendant 24 heures et chaudes pendant 12 heures. A noter pour les voyageurs que les bouteilles Qwetch sont autoris&eacute;es en soute et m&ecirc;me en bagage &agrave; main &agrave; condition qu'elles soient vides.</div><h1>Caractéristiques Bouteille isotherme Qwetch Originals Inox</h1><div class="col is-12">Maintient 12h au Chaud / 24h au Froid. Double paroi : paroi int&eacute;rieure et ext&eacute;rieure en inox 18/8. Extr&eacute;mit&eacute; du bouchon &eacute;galement en inox 18/8. Paroi int&eacute;rieure sans rev&ecirc;tement ni vernis. N&rsquo;alt&egrave;re ni les go&ucirc;ts ni les saveurs. Sans BPA.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8771 …}
    #channels: Doctrine\ORM\PersistentCollection {#8338 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8349 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8305 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Bouteille isotherme Qwetch Originals Inox"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28777
  -props: [
    "product" => App\Entity\Product\Product {#7949
      #id: 2740
      #code: "bouteille-isotherme-qwetch-originals-inox-7270"
      #attributes: Doctrine\ORM\PersistentCollection {#8638 …}
      #variants: Doctrine\ORM\PersistentCollection {#8776 …}
      #options: Doctrine\ORM\PersistentCollection {#8766 …}
      #associations: Doctrine\ORM\PersistentCollection {#8706 …}
      #createdAt: DateTime @1758632639 {#8058
        date: 2025-09-23 21:03:59.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632639 {#7959
        date: 2025-09-23 21:03:59.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8765 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8768
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#7949}
          #id: 2740
          #name: "Bouteille isotherme Qwetch Originals Inox"
          #slug: "bouteille-isotherme-qwetch-originals-inox-7270"
          #description: """
            <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Double paroi. Maintient 12h au Chaud / 24h au Froid.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Enti&egrave;rement en inox 18/8 y compris le bouchon. Aucun plastique</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Ni vernis ni&nbsp; BPA.</div>\n
            <div>\n
            <ul>\n
            <li>Double paroi. Maintient 12h au Chaud / 24h au Froid.</li>\n
            <li>Enti&egrave;rement en inox 18/8 y compris le bouchon. Aucun plastique</li>\n
            <li>Ni vernis ni&nbsp; BPA.</li>\n
            </ul>\n
            </div></div><h1>Description Bouteille isotherme Qwetch Originals Inox</h1><div class="col is-12">La bouteille Qwetch Originals Inox c'est LA solution pour ne plus utiliser de bouteilles en plastique. Un geste indispensable pour sauvegarder notre environnement. Avec sa double paroi inox, la bouteille Qwetch permet de conserver les boissons froides pendant 24 heures et chaudes pendant 12 heures. A noter pour les voyageurs que les bouteilles Qwetch sont autoris&eacute;es en soute et m&ecirc;me en bagage &agrave; main &agrave; condition qu'elles soient vides.</div><h1>Caractéristiques Bouteille isotherme Qwetch Originals Inox</h1><div class="col is-12">Maintient 12h au Chaud / 24h au Froid. Double paroi : paroi int&eacute;rieure et ext&eacute;rieure en inox 18/8. Extr&eacute;mit&eacute; du bouchon &eacute;galement en inox 18/8. Paroi int&eacute;rieure sans rev&ecirc;tement ni vernis. N&rsquo;alt&egrave;re ni les go&ucirc;ts ni les saveurs. Sans BPA.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8771 …}
      #channels: Doctrine\ORM\PersistentCollection {#8338 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8349 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8305 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 1.21 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28857
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28853 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28854 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28856 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8779 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9050
    #collection: Doctrine\Common\Collections\ArrayCollection {#9049 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8896 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36147 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36895 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28857
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28853 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28854 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28856 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Bouteille isotherme Qwetch Originals Inox"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9050
    #collection: Doctrine\Common\Collections\ArrayCollection {#9049 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8896 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36147 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36895 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28861
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28857
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28853 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28854 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28856 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8779 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9050
      #collection: Doctrine\Common\Collections\ArrayCollection {#9049 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8896 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#36147 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36895 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.37 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28929
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28919 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28927 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28928 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8779 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#28938
  +variant: App\Entity\Product\ProductVariant {#8779 …}
  +price: "29,00\u{A0}"
  +originalPrice: "29,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9589 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13019 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9586 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28929
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28919 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28927 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28928 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 3.85 ms
Input props
[
  "product" => App\Entity\Product\Product {#9096
    #id: 2568
    #code: "tire-bouchon-andree-jardin-7086"
    #attributes: Doctrine\ORM\PersistentCollection {#9103 …}
    #variants: Doctrine\ORM\PersistentCollection {#9116 …}
    #options: Doctrine\ORM\PersistentCollection {#9107 …}
    #associations: Doctrine\ORM\PersistentCollection {#9105 …}
    #createdAt: DateTime @1758632577 {#9051
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#9048
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9110 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9111
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9096}
        #id: 2568
        #name: "Tire-Bouchon Andrée Jardin"
        #slug: "tire-bouchon-andree-jardin-7086"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficace et malin.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Avec un petit truc en plus, une brosse qui &eacute;limine tous les r&eacute;sidus au moment du d&eacute;bouchage ! T</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout simple mais costaud qui r&eacute;siste au temps. Et des mat&eacute;riaux nobles et sains : inox, ch&ecirc;ne et crin naturel.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Avec un petit truc en plus, une brosse qui &eacute;limine tous les r&eacute;sidus au moment du d&eacute;bouchage !&nbsp;</li>\n
          <li>Tout simple mais costaud qui r&eacute;siste au temps. Et des mat&eacute;riaux nobles et sains : inox, ch&ecirc;ne et crin naturel.</li>\n
          <li><strong>Fabriqu&eacute; en France. La Chapelle sur Erdre. Loire Atlantique (44)</strong></li>\n
          </ul>\n
          </div></div><h1>Un tire-bouchon efficace et malin</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais &agrave; quoi peut bien servir cette petite brosse ? Lorsque l'on d&eacute;bouche une bonne bouteille qui a pris un peu d'&acirc;ge, il n'est pas rare d'observer des r&eacute;sidus provenant du bouchon qui viennent malencontreusement se d&eacute;poser sur le goulot. Pour &eacute;viter qu'ils ne viennent souiller votre pr&eacute;cieux breuvage, un coup de brosse et c'est fini ! La brosse peut aussi servir &agrave; retirer la poussi&egrave;re sur l'&eacute;tiquette.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais n'oublions pas que sa fonction premi&egrave;re est d'ouvrir les bouteilles ! Nos amis de la fabrique Andr&eacute; Jardin se sont donc attel&eacute;s &agrave; &eacute;quiper leur tire-bouchon d'une m&egrave;che tout inox efficace qui convient &agrave; tous les types de bouchon. Au fait, vous &ecirc;tes plut&ocirc;t bouchon li&egrave;ge ou bouchon synth&eacute;tique ?</div>\n
          <div>Mais &agrave; quoi peut bien servir cette petite brosse ? Lorsque l'on d&eacute;bouche une bonne bouteille qui a pris un peu d'&acirc;ge, il n'est pas rare d'observer des r&eacute;sidus provenant du bouchon qui viennent malencontreusement se d&eacute;poser sur le goulot. Pour &eacute;viter qu'ils ne viennent souiller votre pr&eacute;cieux breuvage, un coup de brosse et c'est fini ! La brosse peut aussi servir &agrave; retirer la poussi&egrave;re sur l'&eacute;tiquette.<br /><br /></div>\n
          <div>Mais n'oublions pas que sa fonction premi&egrave;re est d'ouvrir les bouteilles ! Nos amis de la fabrique Andr&eacute; Jardin se sont donc attel&eacute;s &agrave; &eacute;quiper leur tire-bouchon d'une m&egrave;che tout inox efficace qui convient &agrave; tous les types de bouchon. Au fait, vous &ecirc;tes plut&ocirc;t bouchon li&egrave;ge ou bouchon synth&eacute;tique ?</div></div><h1>Caractéristiques Tire-Bouchon Andrée Jardin</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mat&eacute;riaux</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Ch&ecirc;ne pour la poign&eacute;e. Inox pour la m&egrave;che. Crin naturel pour la brosse.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Dimensions</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">11 x 11 cm</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Garantie</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">1 an</div>\n
          <div><strong>Mat&eacute;riaux</strong></div>\n
          <div>Ch&ecirc;ne pour la poign&eacute;e. Inox pour la m&egrave;che. Crin naturel pour la brosse.</div>\n
          <div></div>\n
          <div><strong>Dimensions</strong></div>\n
          <div>11 x 11 cm</div>\n
          <div></div>\n
          <div><strong>Garantie</strong></div>\n
          <div>1 an</div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9113 …}
    #channels: Doctrine\ORM\PersistentCollection {#9101 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9097 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9099 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28149
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28182 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28188 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28755
  +product: App\Entity\Product\Product {#9096
    #id: 2568
    #code: "tire-bouchon-andree-jardin-7086"
    #attributes: Doctrine\ORM\PersistentCollection {#9103 …}
    #variants: Doctrine\ORM\PersistentCollection {#9116 …}
    #options: Doctrine\ORM\PersistentCollection {#9107 …}
    #associations: Doctrine\ORM\PersistentCollection {#9105 …}
    #createdAt: DateTime @1758632577 {#9051
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#9048
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9110 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9111
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9096}
        #id: 2568
        #name: "Tire-Bouchon Andrée Jardin"
        #slug: "tire-bouchon-andree-jardin-7086"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficace et malin.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Avec un petit truc en plus, une brosse qui &eacute;limine tous les r&eacute;sidus au moment du d&eacute;bouchage ! T</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout simple mais costaud qui r&eacute;siste au temps. Et des mat&eacute;riaux nobles et sains : inox, ch&ecirc;ne et crin naturel.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Avec un petit truc en plus, une brosse qui &eacute;limine tous les r&eacute;sidus au moment du d&eacute;bouchage !&nbsp;</li>\n
          <li>Tout simple mais costaud qui r&eacute;siste au temps. Et des mat&eacute;riaux nobles et sains : inox, ch&ecirc;ne et crin naturel.</li>\n
          <li><strong>Fabriqu&eacute; en France. La Chapelle sur Erdre. Loire Atlantique (44)</strong></li>\n
          </ul>\n
          </div></div><h1>Un tire-bouchon efficace et malin</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais &agrave; quoi peut bien servir cette petite brosse ? Lorsque l'on d&eacute;bouche une bonne bouteille qui a pris un peu d'&acirc;ge, il n'est pas rare d'observer des r&eacute;sidus provenant du bouchon qui viennent malencontreusement se d&eacute;poser sur le goulot. Pour &eacute;viter qu'ils ne viennent souiller votre pr&eacute;cieux breuvage, un coup de brosse et c'est fini ! La brosse peut aussi servir &agrave; retirer la poussi&egrave;re sur l'&eacute;tiquette.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais n'oublions pas que sa fonction premi&egrave;re est d'ouvrir les bouteilles ! Nos amis de la fabrique Andr&eacute; Jardin se sont donc attel&eacute;s &agrave; &eacute;quiper leur tire-bouchon d'une m&egrave;che tout inox efficace qui convient &agrave; tous les types de bouchon. Au fait, vous &ecirc;tes plut&ocirc;t bouchon li&egrave;ge ou bouchon synth&eacute;tique ?</div>\n
          <div>Mais &agrave; quoi peut bien servir cette petite brosse ? Lorsque l'on d&eacute;bouche une bonne bouteille qui a pris un peu d'&acirc;ge, il n'est pas rare d'observer des r&eacute;sidus provenant du bouchon qui viennent malencontreusement se d&eacute;poser sur le goulot. Pour &eacute;viter qu'ils ne viennent souiller votre pr&eacute;cieux breuvage, un coup de brosse et c'est fini ! La brosse peut aussi servir &agrave; retirer la poussi&egrave;re sur l'&eacute;tiquette.<br /><br /></div>\n
          <div>Mais n'oublions pas que sa fonction premi&egrave;re est d'ouvrir les bouteilles ! Nos amis de la fabrique Andr&eacute; Jardin se sont donc attel&eacute;s &agrave; &eacute;quiper leur tire-bouchon d'une m&egrave;che tout inox efficace qui convient &agrave; tous les types de bouchon. Au fait, vous &ecirc;tes plut&ocirc;t bouchon li&egrave;ge ou bouchon synth&eacute;tique ?</div></div><h1>Caractéristiques Tire-Bouchon Andrée Jardin</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mat&eacute;riaux</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Ch&ecirc;ne pour la poign&eacute;e. Inox pour la m&egrave;che. Crin naturel pour la brosse.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Dimensions</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">11 x 11 cm</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Garantie</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">1 an</div>\n
          <div><strong>Mat&eacute;riaux</strong></div>\n
          <div>Ch&ecirc;ne pour la poign&eacute;e. Inox pour la m&egrave;che. Crin naturel pour la brosse.</div>\n
          <div></div>\n
          <div><strong>Dimensions</strong></div>\n
          <div>11 x 11 cm</div>\n
          <div></div>\n
          <div><strong>Garantie</strong></div>\n
          <div>1 an</div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9113 …}
    #channels: Doctrine\ORM\PersistentCollection {#9101 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9097 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9099 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9117 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28149
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28182 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28188 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.79 ms
Input props
[
  "product" => App\Entity\Product\Product {#9096
    #id: 2568
    #code: "tire-bouchon-andree-jardin-7086"
    #attributes: Doctrine\ORM\PersistentCollection {#9103 …}
    #variants: Doctrine\ORM\PersistentCollection {#9116 …}
    #options: Doctrine\ORM\PersistentCollection {#9107 …}
    #associations: Doctrine\ORM\PersistentCollection {#9105 …}
    #createdAt: DateTime @1758632577 {#9051
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#9048
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9110 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9111
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9096}
        #id: 2568
        #name: "Tire-Bouchon Andrée Jardin"
        #slug: "tire-bouchon-andree-jardin-7086"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficace et malin.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Avec un petit truc en plus, une brosse qui &eacute;limine tous les r&eacute;sidus au moment du d&eacute;bouchage ! T</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout simple mais costaud qui r&eacute;siste au temps. Et des mat&eacute;riaux nobles et sains : inox, ch&ecirc;ne et crin naturel.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Avec un petit truc en plus, une brosse qui &eacute;limine tous les r&eacute;sidus au moment du d&eacute;bouchage !&nbsp;</li>\n
          <li>Tout simple mais costaud qui r&eacute;siste au temps. Et des mat&eacute;riaux nobles et sains : inox, ch&ecirc;ne et crin naturel.</li>\n
          <li><strong>Fabriqu&eacute; en France. La Chapelle sur Erdre. Loire Atlantique (44)</strong></li>\n
          </ul>\n
          </div></div><h1>Un tire-bouchon efficace et malin</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais &agrave; quoi peut bien servir cette petite brosse ? Lorsque l'on d&eacute;bouche une bonne bouteille qui a pris un peu d'&acirc;ge, il n'est pas rare d'observer des r&eacute;sidus provenant du bouchon qui viennent malencontreusement se d&eacute;poser sur le goulot. Pour &eacute;viter qu'ils ne viennent souiller votre pr&eacute;cieux breuvage, un coup de brosse et c'est fini ! La brosse peut aussi servir &agrave; retirer la poussi&egrave;re sur l'&eacute;tiquette.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais n'oublions pas que sa fonction premi&egrave;re est d'ouvrir les bouteilles ! Nos amis de la fabrique Andr&eacute; Jardin se sont donc attel&eacute;s &agrave; &eacute;quiper leur tire-bouchon d'une m&egrave;che tout inox efficace qui convient &agrave; tous les types de bouchon. Au fait, vous &ecirc;tes plut&ocirc;t bouchon li&egrave;ge ou bouchon synth&eacute;tique ?</div>\n
          <div>Mais &agrave; quoi peut bien servir cette petite brosse ? Lorsque l'on d&eacute;bouche une bonne bouteille qui a pris un peu d'&acirc;ge, il n'est pas rare d'observer des r&eacute;sidus provenant du bouchon qui viennent malencontreusement se d&eacute;poser sur le goulot. Pour &eacute;viter qu'ils ne viennent souiller votre pr&eacute;cieux breuvage, un coup de brosse et c'est fini ! La brosse peut aussi servir &agrave; retirer la poussi&egrave;re sur l'&eacute;tiquette.<br /><br /></div>\n
          <div>Mais n'oublions pas que sa fonction premi&egrave;re est d'ouvrir les bouteilles ! Nos amis de la fabrique Andr&eacute; Jardin se sont donc attel&eacute;s &agrave; &eacute;quiper leur tire-bouchon d'une m&egrave;che tout inox efficace qui convient &agrave; tous les types de bouchon. Au fait, vous &ecirc;tes plut&ocirc;t bouchon li&egrave;ge ou bouchon synth&eacute;tique ?</div></div><h1>Caractéristiques Tire-Bouchon Andrée Jardin</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mat&eacute;riaux</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Ch&ecirc;ne pour la poign&eacute;e. Inox pour la m&egrave;che. Crin naturel pour la brosse.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Dimensions</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">11 x 11 cm</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Garantie</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">1 an</div>\n
          <div><strong>Mat&eacute;riaux</strong></div>\n
          <div>Ch&ecirc;ne pour la poign&eacute;e. Inox pour la m&egrave;che. Crin naturel pour la brosse.</div>\n
          <div></div>\n
          <div><strong>Dimensions</strong></div>\n
          <div>11 x 11 cm</div>\n
          <div></div>\n
          <div><strong>Garantie</strong></div>\n
          <div>1 an</div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9113 …}
    #channels: Doctrine\ORM\PersistentCollection {#9101 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9097 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9099 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Tire-Bouchon Andrée Jardin"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29065
  -props: [
    "product" => App\Entity\Product\Product {#9096
      #id: 2568
      #code: "tire-bouchon-andree-jardin-7086"
      #attributes: Doctrine\ORM\PersistentCollection {#9103 …}
      #variants: Doctrine\ORM\PersistentCollection {#9116 …}
      #options: Doctrine\ORM\PersistentCollection {#9107 …}
      #associations: Doctrine\ORM\PersistentCollection {#9105 …}
      #createdAt: DateTime @1758632577 {#9051
        date: 2025-09-23 21:02:57.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632577 {#9048
        date: 2025-09-23 21:02:57.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9110 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9111
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9096}
          #id: 2568
          #name: "Tire-Bouchon Andrée Jardin"
          #slug: "tire-bouchon-andree-jardin-7086"
          #description: """
            <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficace et malin.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Avec un petit truc en plus, une brosse qui &eacute;limine tous les r&eacute;sidus au moment du d&eacute;bouchage ! T</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout simple mais costaud qui r&eacute;siste au temps. Et des mat&eacute;riaux nobles et sains : inox, ch&ecirc;ne et crin naturel.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
            <div>\n
            <ul>\n
            <li>Avec un petit truc en plus, une brosse qui &eacute;limine tous les r&eacute;sidus au moment du d&eacute;bouchage !&nbsp;</li>\n
            <li>Tout simple mais costaud qui r&eacute;siste au temps. Et des mat&eacute;riaux nobles et sains : inox, ch&ecirc;ne et crin naturel.</li>\n
            <li><strong>Fabriqu&eacute; en France. La Chapelle sur Erdre. Loire Atlantique (44)</strong></li>\n
            </ul>\n
            </div></div><h1>Un tire-bouchon efficace et malin</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais &agrave; quoi peut bien servir cette petite brosse ? Lorsque l'on d&eacute;bouche une bonne bouteille qui a pris un peu d'&acirc;ge, il n'est pas rare d'observer des r&eacute;sidus provenant du bouchon qui viennent malencontreusement se d&eacute;poser sur le goulot. Pour &eacute;viter qu'ils ne viennent souiller votre pr&eacute;cieux breuvage, un coup de brosse et c'est fini ! La brosse peut aussi servir &agrave; retirer la poussi&egrave;re sur l'&eacute;tiquette.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais n'oublions pas que sa fonction premi&egrave;re est d'ouvrir les bouteilles ! Nos amis de la fabrique Andr&eacute; Jardin se sont donc attel&eacute;s &agrave; &eacute;quiper leur tire-bouchon d'une m&egrave;che tout inox efficace qui convient &agrave; tous les types de bouchon. Au fait, vous &ecirc;tes plut&ocirc;t bouchon li&egrave;ge ou bouchon synth&eacute;tique ?</div>\n
            <div>Mais &agrave; quoi peut bien servir cette petite brosse ? Lorsque l'on d&eacute;bouche une bonne bouteille qui a pris un peu d'&acirc;ge, il n'est pas rare d'observer des r&eacute;sidus provenant du bouchon qui viennent malencontreusement se d&eacute;poser sur le goulot. Pour &eacute;viter qu'ils ne viennent souiller votre pr&eacute;cieux breuvage, un coup de brosse et c'est fini ! La brosse peut aussi servir &agrave; retirer la poussi&egrave;re sur l'&eacute;tiquette.<br /><br /></div>\n
            <div>Mais n'oublions pas que sa fonction premi&egrave;re est d'ouvrir les bouteilles ! Nos amis de la fabrique Andr&eacute; Jardin se sont donc attel&eacute;s &agrave; &eacute;quiper leur tire-bouchon d'une m&egrave;che tout inox efficace qui convient &agrave; tous les types de bouchon. Au fait, vous &ecirc;tes plut&ocirc;t bouchon li&egrave;ge ou bouchon synth&eacute;tique ?</div></div><h1>Caractéristiques Tire-Bouchon Andrée Jardin</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mat&eacute;riaux</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Ch&ecirc;ne pour la poign&eacute;e. Inox pour la m&egrave;che. Crin naturel pour la brosse.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Dimensions</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">11 x 11 cm</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Garantie</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">1 an</div>\n
            <div><strong>Mat&eacute;riaux</strong></div>\n
            <div>Ch&ecirc;ne pour la poign&eacute;e. Inox pour la m&egrave;che. Crin naturel pour la brosse.</div>\n
            <div></div>\n
            <div><strong>Dimensions</strong></div>\n
            <div>11 x 11 cm</div>\n
            <div></div>\n
            <div><strong>Garantie</strong></div>\n
            <div>1 an</div></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9113 …}
      #channels: Doctrine\ORM\PersistentCollection {#9101 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9097 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9099 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.67 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29120
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29049 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29058 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29119 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9117 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9127
    #collection: Doctrine\Common\Collections\ArrayCollection {#9128 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9126 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36915 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36917 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29120
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29049 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29058 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29119 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Tire-Bouchon Andrée Jardin"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9127
    #collection: Doctrine\Common\Collections\ArrayCollection {#9128 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9126 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36915 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36917 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29126
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29120
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29049 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29058 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29119 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9117 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9127
      #collection: Doctrine\Common\Collections\ArrayCollection {#9128 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9126 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#36915 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36917 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29176
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29167 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29174 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9117 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29179
  +variant: App\Entity\Product\ProductVariant {#9117 …}
  +price: "18,00\u{A0}"
  +originalPrice: "18,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9589 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13019 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9586 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29176
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29167 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29174 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 4.08 ms
Input props
[
  "product" => App\Entity\Product\Product {#9133
    #id: 2638
    #code: "pompe-classique-vacu-vin-359"
    #attributes: Doctrine\ORM\PersistentCollection {#9143 …}
    #variants: Doctrine\ORM\PersistentCollection {#9156 …}
    #options: Doctrine\ORM\PersistentCollection {#9147 …}
    #associations: Doctrine\ORM\PersistentCollection {#9145 …}
    #createdAt: DateTime @1758632610 {#9129
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632610 {#9130
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9150 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9151
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9133}
        #id: 2638
        #name: "Pompe classique VACU VIN"
        #slug: "pompe-classique-vacu-vin-359"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Stoppe l'oxydation.</li>\n
          <li>Bouchon herm&eacute;tique fourni.</li>\n
          <li>Signal sonore.&nbsp;</li>\n
          </ul></div><h1>Description pompe vide d'air VACU VIN</h1><div class="col is-12">La pompe &agrave; vide d'air VACU VIN aspire l&rsquo;air pr&eacute;sent dans votre bouteille de vin d&eacute;j&agrave; ouverte et le bouchon fourni ferme herm&eacute;tiquement celle-ci, de sorte que votre vin est pr&eacute;serv&eacute; des ph&eacute;nom&egrave;nes d&rsquo;oxydation. Un signal sonore vous indique que le vide d&rsquo;air est atteint. La bouteille peut &ecirc;tre ouverte et referm&eacute;e autant de fois que d&eacute;sir&eacute;. Livr&eacute;e avec 2 bouchons.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9153 …}
    #channels: Doctrine\ORM\PersistentCollection {#9141 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9135 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9137 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9139 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28149
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28182 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28188 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29056
  +product: App\Entity\Product\Product {#9133
    #id: 2638
    #code: "pompe-classique-vacu-vin-359"
    #attributes: Doctrine\ORM\PersistentCollection {#9143 …}
    #variants: Doctrine\ORM\PersistentCollection {#9156 …}
    #options: Doctrine\ORM\PersistentCollection {#9147 …}
    #associations: Doctrine\ORM\PersistentCollection {#9145 …}
    #createdAt: DateTime @1758632610 {#9129
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632610 {#9130
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9150 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9151
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9133}
        #id: 2638
        #name: "Pompe classique VACU VIN"
        #slug: "pompe-classique-vacu-vin-359"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Stoppe l'oxydation.</li>\n
          <li>Bouchon herm&eacute;tique fourni.</li>\n
          <li>Signal sonore.&nbsp;</li>\n
          </ul></div><h1>Description pompe vide d'air VACU VIN</h1><div class="col is-12">La pompe &agrave; vide d'air VACU VIN aspire l&rsquo;air pr&eacute;sent dans votre bouteille de vin d&eacute;j&agrave; ouverte et le bouchon fourni ferme herm&eacute;tiquement celle-ci, de sorte que votre vin est pr&eacute;serv&eacute; des ph&eacute;nom&egrave;nes d&rsquo;oxydation. Un signal sonore vous indique que le vide d&rsquo;air est atteint. La bouteille peut &ecirc;tre ouverte et referm&eacute;e autant de fois que d&eacute;sir&eacute;. Livr&eacute;e avec 2 bouchons.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9153 …}
    #channels: Doctrine\ORM\PersistentCollection {#9141 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9135 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9137 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9139 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9157 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28149
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28182 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28188 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.78 ms
Input props
[
  "product" => App\Entity\Product\Product {#9133
    #id: 2638
    #code: "pompe-classique-vacu-vin-359"
    #attributes: Doctrine\ORM\PersistentCollection {#9143 …}
    #variants: Doctrine\ORM\PersistentCollection {#9156 …}
    #options: Doctrine\ORM\PersistentCollection {#9147 …}
    #associations: Doctrine\ORM\PersistentCollection {#9145 …}
    #createdAt: DateTime @1758632610 {#9129
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632610 {#9130
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9150 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9151
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9133}
        #id: 2638
        #name: "Pompe classique VACU VIN"
        #slug: "pompe-classique-vacu-vin-359"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Stoppe l'oxydation.</li>\n
          <li>Bouchon herm&eacute;tique fourni.</li>\n
          <li>Signal sonore.&nbsp;</li>\n
          </ul></div><h1>Description pompe vide d'air VACU VIN</h1><div class="col is-12">La pompe &agrave; vide d'air VACU VIN aspire l&rsquo;air pr&eacute;sent dans votre bouteille de vin d&eacute;j&agrave; ouverte et le bouchon fourni ferme herm&eacute;tiquement celle-ci, de sorte que votre vin est pr&eacute;serv&eacute; des ph&eacute;nom&egrave;nes d&rsquo;oxydation. Un signal sonore vous indique que le vide d&rsquo;air est atteint. La bouteille peut &ecirc;tre ouverte et referm&eacute;e autant de fois que d&eacute;sir&eacute;. Livr&eacute;e avec 2 bouchons.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9153 …}
    #channels: Doctrine\ORM\PersistentCollection {#9141 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9135 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9137 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9139 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Pompe classique VACU VIN"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29296
  -props: [
    "product" => App\Entity\Product\Product {#9133
      #id: 2638
      #code: "pompe-classique-vacu-vin-359"
      #attributes: Doctrine\ORM\PersistentCollection {#9143 …}
      #variants: Doctrine\ORM\PersistentCollection {#9156 …}
      #options: Doctrine\ORM\PersistentCollection {#9147 …}
      #associations: Doctrine\ORM\PersistentCollection {#9145 …}
      #createdAt: DateTime @1758632610 {#9129
        date: 2025-09-23 21:03:30.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632610 {#9130
        date: 2025-09-23 21:03:30.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9150 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9151
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9133}
          #id: 2638
          #name: "Pompe classique VACU VIN"
          #slug: "pompe-classique-vacu-vin-359"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Stoppe l'oxydation.</li>\n
            <li>Bouchon herm&eacute;tique fourni.</li>\n
            <li>Signal sonore.&nbsp;</li>\n
            </ul></div><h1>Description pompe vide d'air VACU VIN</h1><div class="col is-12">La pompe &agrave; vide d'air VACU VIN aspire l&rsquo;air pr&eacute;sent dans votre bouteille de vin d&eacute;j&agrave; ouverte et le bouchon fourni ferme herm&eacute;tiquement celle-ci, de sorte que votre vin est pr&eacute;serv&eacute; des ph&eacute;nom&egrave;nes d&rsquo;oxydation. Un signal sonore vous indique que le vide d&rsquo;air est atteint. La bouteille peut &ecirc;tre ouverte et referm&eacute;e autant de fois que d&eacute;sir&eacute;. Livr&eacute;e avec 2 bouchons.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9153 …}
      #channels: Doctrine\ORM\PersistentCollection {#9141 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9135 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9137 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9139 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.66 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29348
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29280 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29289 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29347 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9157 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9167
    #collection: Doctrine\Common\Collections\ArrayCollection {#9168 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9166 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36929 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36931 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29348
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29280 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29289 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29347 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Pompe classique VACU VIN"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9167
    #collection: Doctrine\Common\Collections\ArrayCollection {#9168 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9166 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36929 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36931 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29354
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29348
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29280 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29289 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29347 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9157 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9167
      #collection: Doctrine\Common\Collections\ArrayCollection {#9168 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9166 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#36929 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36931 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29404
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29395 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29402 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29403 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9157 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29407
  +variant: App\Entity\Product\ProductVariant {#9157 …}
  +price: "18,00\u{A0}"
  +originalPrice: "18,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9589 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13019 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9586 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29404
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29395 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29402 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29403 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 3.65 ms
Input props
[
  "product" => App\Entity\Product\Product {#9173
    #id: 2701
    #code: "pierres-a-whisky-vacuvin-5710"
    #attributes: Doctrine\ORM\PersistentCollection {#9183 …}
    #variants: Doctrine\ORM\PersistentCollection {#9196 …}
    #options: Doctrine\ORM\PersistentCollection {#9187 …}
    #associations: Doctrine\ORM\PersistentCollection {#9185 …}
    #createdAt: DateTime @1758632628 {#9169
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632628 {#9170
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9190 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9191
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9173}
        #id: 2701
        #name: "Pierres à Whisky Vacuvin"
        #slug: "pierres-a-whisky-vacuvin-5710"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Rafraichit tout en conservant les ar&ocirc;mes des boissons.</li>\n
          <li>Ne dilue pas les boissons.</li>\n
          </ul></div><h1>Descriptif Pierres à Whisky Vacuvin</h1><div class="col is-12">Les pierres &agrave; Whisky Vacuvin sont de petits cubes en inox contenant un liquide r&eacute;frig&eacute;rant, que vous placerez dans votre cong&eacute;lateur et qui vous permettront de rafraichir vos whiskies et autres boissons pr&eacute;f&eacute;r&eacute;es sans en alt&eacute;rer les ar&ocirc;mes et le go&ucirc;t.</div><h1>Caractéristiques Pierres à Whisky Vacuvin</h1><div class="col is-12">- En acier inoxydable.<br />- A placer au cong&eacute;lateur.&nbsp;<br />- Dimensions d'un " gla&ccedil;on " : 25 x 25 x 25 mm.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9193 …}
    #channels: Doctrine\ORM\PersistentCollection {#9181 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9175 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9177 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9179 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28149
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28182 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28188 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29287
  +product: App\Entity\Product\Product {#9173
    #id: 2701
    #code: "pierres-a-whisky-vacuvin-5710"
    #attributes: Doctrine\ORM\PersistentCollection {#9183 …}
    #variants: Doctrine\ORM\PersistentCollection {#9196 …}
    #options: Doctrine\ORM\PersistentCollection {#9187 …}
    #associations: Doctrine\ORM\PersistentCollection {#9185 …}
    #createdAt: DateTime @1758632628 {#9169
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632628 {#9170
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9190 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9191
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9173}
        #id: 2701
        #name: "Pierres à Whisky Vacuvin"
        #slug: "pierres-a-whisky-vacuvin-5710"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Rafraichit tout en conservant les ar&ocirc;mes des boissons.</li>\n
          <li>Ne dilue pas les boissons.</li>\n
          </ul></div><h1>Descriptif Pierres à Whisky Vacuvin</h1><div class="col is-12">Les pierres &agrave; Whisky Vacuvin sont de petits cubes en inox contenant un liquide r&eacute;frig&eacute;rant, que vous placerez dans votre cong&eacute;lateur et qui vous permettront de rafraichir vos whiskies et autres boissons pr&eacute;f&eacute;r&eacute;es sans en alt&eacute;rer les ar&ocirc;mes et le go&ucirc;t.</div><h1>Caractéristiques Pierres à Whisky Vacuvin</h1><div class="col is-12">- En acier inoxydable.<br />- A placer au cong&eacute;lateur.&nbsp;<br />- Dimensions d'un " gla&ccedil;on " : 25 x 25 x 25 mm.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9193 …}
    #channels: Doctrine\ORM\PersistentCollection {#9181 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9175 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9177 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9179 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9197 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28149
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28182 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28188 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.66 ms
Input props
[
  "product" => App\Entity\Product\Product {#9173
    #id: 2701
    #code: "pierres-a-whisky-vacuvin-5710"
    #attributes: Doctrine\ORM\PersistentCollection {#9183 …}
    #variants: Doctrine\ORM\PersistentCollection {#9196 …}
    #options: Doctrine\ORM\PersistentCollection {#9187 …}
    #associations: Doctrine\ORM\PersistentCollection {#9185 …}
    #createdAt: DateTime @1758632628 {#9169
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632628 {#9170
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9190 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9191
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9173}
        #id: 2701
        #name: "Pierres à Whisky Vacuvin"
        #slug: "pierres-a-whisky-vacuvin-5710"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Rafraichit tout en conservant les ar&ocirc;mes des boissons.</li>\n
          <li>Ne dilue pas les boissons.</li>\n
          </ul></div><h1>Descriptif Pierres à Whisky Vacuvin</h1><div class="col is-12">Les pierres &agrave; Whisky Vacuvin sont de petits cubes en inox contenant un liquide r&eacute;frig&eacute;rant, que vous placerez dans votre cong&eacute;lateur et qui vous permettront de rafraichir vos whiskies et autres boissons pr&eacute;f&eacute;r&eacute;es sans en alt&eacute;rer les ar&ocirc;mes et le go&ucirc;t.</div><h1>Caractéristiques Pierres à Whisky Vacuvin</h1><div class="col is-12">- En acier inoxydable.<br />- A placer au cong&eacute;lateur.&nbsp;<br />- Dimensions d'un " gla&ccedil;on " : 25 x 25 x 25 mm.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9193 …}
    #channels: Doctrine\ORM\PersistentCollection {#9181 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9175 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9177 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9179 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Pierres à Whisky Vacuvin"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29524
  -props: [
    "product" => App\Entity\Product\Product {#9173
      #id: 2701
      #code: "pierres-a-whisky-vacuvin-5710"
      #attributes: Doctrine\ORM\PersistentCollection {#9183 …}
      #variants: Doctrine\ORM\PersistentCollection {#9196 …}
      #options: Doctrine\ORM\PersistentCollection {#9187 …}
      #associations: Doctrine\ORM\PersistentCollection {#9185 …}
      #createdAt: DateTime @1758632628 {#9169
        date: 2025-09-23 21:03:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632628 {#9170
        date: 2025-09-23 21:03:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9190 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9191
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9173}
          #id: 2701
          #name: "Pierres à Whisky Vacuvin"
          #slug: "pierres-a-whisky-vacuvin-5710"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Rafraichit tout en conservant les ar&ocirc;mes des boissons.</li>\n
            <li>Ne dilue pas les boissons.</li>\n
            </ul></div><h1>Descriptif Pierres à Whisky Vacuvin</h1><div class="col is-12">Les pierres &agrave; Whisky Vacuvin sont de petits cubes en inox contenant un liquide r&eacute;frig&eacute;rant, que vous placerez dans votre cong&eacute;lateur et qui vous permettront de rafraichir vos whiskies et autres boissons pr&eacute;f&eacute;r&eacute;es sans en alt&eacute;rer les ar&ocirc;mes et le go&ucirc;t.</div><h1>Caractéristiques Pierres à Whisky Vacuvin</h1><div class="col is-12">- En acier inoxydable.<br />- A placer au cong&eacute;lateur.&nbsp;<br />- Dimensions d'un " gla&ccedil;on " : 25 x 25 x 25 mm.&nbsp;</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9193 …}
      #channels: Doctrine\ORM\PersistentCollection {#9181 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9175 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9177 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9179 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.67 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29570
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29508 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29517 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29569 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9197 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9210
    #collection: Doctrine\Common\Collections\ArrayCollection {#9211 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9209 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36943 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36945 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29570
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29508 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29517 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29569 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Pierres à Whisky Vacuvin"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9210
    #collection: Doctrine\Common\Collections\ArrayCollection {#9211 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9209 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36943 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36945 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29576
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29570
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29508 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29517 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29569 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9197 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9210
      #collection: Doctrine\Common\Collections\ArrayCollection {#9211 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9209 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#36943 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36945 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29626
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29617 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29624 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29625 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9197 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29629
  +variant: App\Entity\Product\ProductVariant {#9197 …}
  +price: "15,00\u{A0}"
  +originalPrice: "15,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9589 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13019 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9586 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29626
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29617 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29624 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29625 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 3.62 ms
Input props
[
  "product" => App\Entity\Product\Product {#9216
    #id: 1058
    #code: "couteau-opinel-inox-5867"
    #attributes: Doctrine\ORM\PersistentCollection {#9226 …}
    #variants: Doctrine\ORM\PersistentCollection {#9239 …}
    #options: Doctrine\ORM\PersistentCollection {#9230 …}
    #associations: Doctrine\ORM\PersistentCollection {#9228 …}
    #createdAt: DateTime @1758632301 {#9212
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632301 {#9213
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9233 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9234
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9216}
        #id: 1058
        #name: "Couteau Opinel inox"
        #slug: "couteau-opinel-inox-5867"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Embl&eacute;matique.</li>\n
          <li>Fabrication Fran&ccedil;aise (Savoie)</li>\n
          <li>Bague de s&eacute;curit&eacute;</li>\n
          <li>Lame en acier inoxydable.</li>\n
          </ul></div><h1>Descriptif Couteau Opinel inox</h1><div class="col is-12">Embl&eacute;matique couteau fabriqu&eacute; en France, <a rel="nofollow" href="https://www.cuisinstore.com/opinel-brd138-p1.html">l'Opinel</a> cr&eacute;&eacute; par Joseph Opinel en 1897 n'a cess&eacute; depuis lors de trouver sa place dans nos poches, cuisines et souvenirs les plus fervents. Sa lame en acier inoxydable se repliant dans le manche et prot&eacute;g&eacute;e par une bague de s&eacute;curit&eacute; ( le Virobloc ) en font un ustensile dont on aime se servir.</div><h1>Caractéristiques Couteau Opinel inox</h1><div class="col is-12">Lame en acier inoxydable avec teneur en carbone au moins &eacute;gale &agrave; 0,40 %.<br />Lame dite Yatagan meul&eacute;e selon un profil bomb&eacute; exclusif qui garantit la robustesse de la lame et permet des r&eacute;aff&ucirc;tages performants.<br />Manche en bois de h&ecirc;tre issu d'exploitations fran&ccedil;aises. Verni pour le prot&eacute;g&eacute;er des salissures et de l'humidit&eacute;.<br />Bague de s&eacute;curit&eacute; permettant d'interdire l'ouverture ou la fermeture. ( VIROBLOC )<br />Fabriqu&eacute; en FRANCE ( SAVOIE )&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9236 …}
    #channels: Doctrine\ORM\PersistentCollection {#9224 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9218 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9220 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9222 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28149
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28182 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28188 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29515
  +product: App\Entity\Product\Product {#9216
    #id: 1058
    #code: "couteau-opinel-inox-5867"
    #attributes: Doctrine\ORM\PersistentCollection {#9226 …}
    #variants: Doctrine\ORM\PersistentCollection {#9239 …}
    #options: Doctrine\ORM\PersistentCollection {#9230 …}
    #associations: Doctrine\ORM\PersistentCollection {#9228 …}
    #createdAt: DateTime @1758632301 {#9212
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632301 {#9213
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9233 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9234
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9216}
        #id: 1058
        #name: "Couteau Opinel inox"
        #slug: "couteau-opinel-inox-5867"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Embl&eacute;matique.</li>\n
          <li>Fabrication Fran&ccedil;aise (Savoie)</li>\n
          <li>Bague de s&eacute;curit&eacute;</li>\n
          <li>Lame en acier inoxydable.</li>\n
          </ul></div><h1>Descriptif Couteau Opinel inox</h1><div class="col is-12">Embl&eacute;matique couteau fabriqu&eacute; en France, <a rel="nofollow" href="https://www.cuisinstore.com/opinel-brd138-p1.html">l'Opinel</a> cr&eacute;&eacute; par Joseph Opinel en 1897 n'a cess&eacute; depuis lors de trouver sa place dans nos poches, cuisines et souvenirs les plus fervents. Sa lame en acier inoxydable se repliant dans le manche et prot&eacute;g&eacute;e par une bague de s&eacute;curit&eacute; ( le Virobloc ) en font un ustensile dont on aime se servir.</div><h1>Caractéristiques Couteau Opinel inox</h1><div class="col is-12">Lame en acier inoxydable avec teneur en carbone au moins &eacute;gale &agrave; 0,40 %.<br />Lame dite Yatagan meul&eacute;e selon un profil bomb&eacute; exclusif qui garantit la robustesse de la lame et permet des r&eacute;aff&ucirc;tages performants.<br />Manche en bois de h&ecirc;tre issu d'exploitations fran&ccedil;aises. Verni pour le prot&eacute;g&eacute;er des salissures et de l'humidit&eacute;.<br />Bague de s&eacute;curit&eacute; permettant d'interdire l'ouverture ou la fermeture. ( VIROBLOC )<br />Fabriqu&eacute; en FRANCE ( SAVOIE )&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9236 …}
    #channels: Doctrine\ORM\PersistentCollection {#9224 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9218 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9220 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9222 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9240 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28149
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28182 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28188 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.72 ms
Input props
[
  "product" => App\Entity\Product\Product {#9216
    #id: 1058
    #code: "couteau-opinel-inox-5867"
    #attributes: Doctrine\ORM\PersistentCollection {#9226 …}
    #variants: Doctrine\ORM\PersistentCollection {#9239 …}
    #options: Doctrine\ORM\PersistentCollection {#9230 …}
    #associations: Doctrine\ORM\PersistentCollection {#9228 …}
    #createdAt: DateTime @1758632301 {#9212
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632301 {#9213
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9233 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9234
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9216}
        #id: 1058
        #name: "Couteau Opinel inox"
        #slug: "couteau-opinel-inox-5867"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Embl&eacute;matique.</li>\n
          <li>Fabrication Fran&ccedil;aise (Savoie)</li>\n
          <li>Bague de s&eacute;curit&eacute;</li>\n
          <li>Lame en acier inoxydable.</li>\n
          </ul></div><h1>Descriptif Couteau Opinel inox</h1><div class="col is-12">Embl&eacute;matique couteau fabriqu&eacute; en France, <a rel="nofollow" href="https://www.cuisinstore.com/opinel-brd138-p1.html">l'Opinel</a> cr&eacute;&eacute; par Joseph Opinel en 1897 n'a cess&eacute; depuis lors de trouver sa place dans nos poches, cuisines et souvenirs les plus fervents. Sa lame en acier inoxydable se repliant dans le manche et prot&eacute;g&eacute;e par une bague de s&eacute;curit&eacute; ( le Virobloc ) en font un ustensile dont on aime se servir.</div><h1>Caractéristiques Couteau Opinel inox</h1><div class="col is-12">Lame en acier inoxydable avec teneur en carbone au moins &eacute;gale &agrave; 0,40 %.<br />Lame dite Yatagan meul&eacute;e selon un profil bomb&eacute; exclusif qui garantit la robustesse de la lame et permet des r&eacute;aff&ucirc;tages performants.<br />Manche en bois de h&ecirc;tre issu d'exploitations fran&ccedil;aises. Verni pour le prot&eacute;g&eacute;er des salissures et de l'humidit&eacute;.<br />Bague de s&eacute;curit&eacute; permettant d'interdire l'ouverture ou la fermeture. ( VIROBLOC )<br />Fabriqu&eacute; en FRANCE ( SAVOIE )&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9236 …}
    #channels: Doctrine\ORM\PersistentCollection {#9224 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9218 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9220 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9222 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Couteau Opinel inox"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29746
  -props: [
    "product" => App\Entity\Product\Product {#9216
      #id: 1058
      #code: "couteau-opinel-inox-5867"
      #attributes: Doctrine\ORM\PersistentCollection {#9226 …}
      #variants: Doctrine\ORM\PersistentCollection {#9239 …}
      #options: Doctrine\ORM\PersistentCollection {#9230 …}
      #associations: Doctrine\ORM\PersistentCollection {#9228 …}
      #createdAt: DateTime @1758632301 {#9212
        date: 2025-09-23 20:58:21.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632301 {#9213
        date: 2025-09-23 20:58:21.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9233 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9234
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9216}
          #id: 1058
          #name: "Couteau Opinel inox"
          #slug: "couteau-opinel-inox-5867"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Embl&eacute;matique.</li>\n
            <li>Fabrication Fran&ccedil;aise (Savoie)</li>\n
            <li>Bague de s&eacute;curit&eacute;</li>\n
            <li>Lame en acier inoxydable.</li>\n
            </ul></div><h1>Descriptif Couteau Opinel inox</h1><div class="col is-12">Embl&eacute;matique couteau fabriqu&eacute; en France, <a rel="nofollow" href="https://www.cuisinstore.com/opinel-brd138-p1.html">l'Opinel</a> cr&eacute;&eacute; par Joseph Opinel en 1897 n'a cess&eacute; depuis lors de trouver sa place dans nos poches, cuisines et souvenirs les plus fervents. Sa lame en acier inoxydable se repliant dans le manche et prot&eacute;g&eacute;e par une bague de s&eacute;curit&eacute; ( le Virobloc ) en font un ustensile dont on aime se servir.</div><h1>Caractéristiques Couteau Opinel inox</h1><div class="col is-12">Lame en acier inoxydable avec teneur en carbone au moins &eacute;gale &agrave; 0,40 %.<br />Lame dite Yatagan meul&eacute;e selon un profil bomb&eacute; exclusif qui garantit la robustesse de la lame et permet des r&eacute;aff&ucirc;tages performants.<br />Manche en bois de h&ecirc;tre issu d'exploitations fran&ccedil;aises. Verni pour le prot&eacute;g&eacute;er des salissures et de l'humidit&eacute;.<br />Bague de s&eacute;curit&eacute; permettant d'interdire l'ouverture ou la fermeture. ( VIROBLOC )<br />Fabriqu&eacute; en FRANCE ( SAVOIE )&nbsp;</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9236 …}
      #channels: Doctrine\ORM\PersistentCollection {#9224 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9218 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9220 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9222 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.63 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29798
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29730 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29739 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29797 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9240 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9250
    #collection: Doctrine\Common\Collections\ArrayCollection {#9251 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9249 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36957 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36959 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29798
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29730 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29739 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29797 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Couteau Opinel inox"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9250
    #collection: Doctrine\Common\Collections\ArrayCollection {#9251 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9249 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36957 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36959 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29804
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29798
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29730 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29739 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29797 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9240 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9250
      #collection: Doctrine\Common\Collections\ArrayCollection {#9251 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9249 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#36957 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36959 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29854
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29845 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29852 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29853 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9240 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29857
  +variant: App\Entity\Product\ProductVariant {#9240 …}
  +price: "9,00\u{A0}"
  +originalPrice: "9,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9589 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13019 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9586 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29854
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29845 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29852 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29853 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:cart:widget:offcanvas Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 110.0 MiB 2.18 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27862
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13084 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27884 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13094 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#30168
  +cart: App\Entity\Order\Order {#13998 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27862
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13084 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27884 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13094 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}