Components

12 Twig Components
28 Render Count
50 ms Render Time
116.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 23.88ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
5 4.72ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
5 3.99ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
5 0.96ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.05ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.69ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.31ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 14.69ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.14ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.63ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 2.00ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.09ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 116.0 MiB 1.05 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13131
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13124 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13130 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13129 …}
    +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 {#13751
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13022 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13131
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13124 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13130 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13129 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 116.0 MiB 0.69 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13828
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13824 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13826 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13827 …}
    +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 {#13837
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13828
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13824 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13826 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13827 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 116.0 MiB 4.31 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13919
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13898 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13918 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13917 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#13934
  +cart: App\Entity\Order\Order {#14001 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13919
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13898 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13918 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13917 …}
    +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 116.0 MiB 14.69 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14187
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14175 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14181 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14173 …}
    +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 {#14196
  #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 {#14187
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14175 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14181 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14173 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 116.0 MiB 1.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27902
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27898 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27899 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27901 …}
    +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 {#27911
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27902
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27898 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27899 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27901 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 116.0 MiB 0.63 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28015
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28011 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28012 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28014 …}
    +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 {#28023
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28015
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28011 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28012 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28014 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 116.0 MiB 2.00 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28086
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28082 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28083 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28085 …}
    +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 {#28094
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28086
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28082 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28083 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28085 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 116.0 MiB 8.02 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 {#8779 …}
    #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 {#28151
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28184 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28177 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28619
  +product: App\Entity\Product\Product {#7949
    #id: 2740
    #code: "bouteille-isotherme-qwetch-originals-inox-7270"
    #attributes: Doctrine\ORM\PersistentCollection {#8638 …}
    #variants: Doctrine\ORM\PersistentCollection {#8779 …}
    #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 {#8782 …}
  +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 {#28151
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28184 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28177 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 1.69 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 {#8779 …}
    #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 {#28779
  -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 {#8779 …}
      #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]
116.0 MiB 1.24 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28859
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28855 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28856 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28858 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8782 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9053
    #collection: Doctrine\Common\Collections\ArrayCollection {#9052 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8899 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36843 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36895 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28859
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28855 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28856 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28858 …}
    +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 {#9053
    #collection: Doctrine\Common\Collections\ArrayCollection {#9052 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8899 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#36843 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#36895 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28863
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28859
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28855 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28856 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28858 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8782 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9053
      #collection: Doctrine\Common\Collections\ArrayCollection {#9052 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8899 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#36843 …}
      -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 116.0 MiB 0.40 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28931
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28921 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28929 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28930 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8782 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#28940
  +variant: App\Entity\Product\ProductVariant {#8782 …}
  +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 {#9592 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13022 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9589 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28931
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28921 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28929 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28930 …}
    +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 116.0 MiB 3.86 ms
Input props
[
  "product" => App\Entity\Product\Product {#9099
    #id: 2568
    #code: "tire-bouchon-andree-jardin-7086"
    #attributes: Doctrine\ORM\PersistentCollection {#9106 …}
    #variants: Doctrine\ORM\PersistentCollection {#9119 …}
    #options: Doctrine\ORM\PersistentCollection {#9110 …}
    #associations: Doctrine\ORM\PersistentCollection {#9108 …}
    #createdAt: DateTime @1758632577 {#9054
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#9051
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9113 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9114
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9099}
        #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 {#9116 …}
    #channels: Doctrine\ORM\PersistentCollection {#9104 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9100 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9102 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28151
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28184 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28177 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28757
  +product: App\Entity\Product\Product {#9099
    #id: 2568
    #code: "tire-bouchon-andree-jardin-7086"
    #attributes: Doctrine\ORM\PersistentCollection {#9106 …}
    #variants: Doctrine\ORM\PersistentCollection {#9119 …}
    #options: Doctrine\ORM\PersistentCollection {#9110 …}
    #associations: Doctrine\ORM\PersistentCollection {#9108 …}
    #createdAt: DateTime @1758632577 {#9054
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#9051
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9113 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9114
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9099}
        #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 {#9116 …}
    #channels: Doctrine\ORM\PersistentCollection {#9104 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9100 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9102 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9120 …}
  +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 {#28151
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28184 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28177 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.76 ms
Input props
[
  "product" => App\Entity\Product\Product {#9099
    #id: 2568
    #code: "tire-bouchon-andree-jardin-7086"
    #attributes: Doctrine\ORM\PersistentCollection {#9106 …}
    #variants: Doctrine\ORM\PersistentCollection {#9119 …}
    #options: Doctrine\ORM\PersistentCollection {#9110 …}
    #associations: Doctrine\ORM\PersistentCollection {#9108 …}
    #createdAt: DateTime @1758632577 {#9054
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#9051
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9113 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9114
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9099}
        #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 {#9116 …}
    #channels: Doctrine\ORM\PersistentCollection {#9104 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9100 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9102 …}
    #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 {#29067
  -props: [
    "product" => App\Entity\Product\Product {#9099
      #id: 2568
      #code: "tire-bouchon-andree-jardin-7086"
      #attributes: Doctrine\ORM\PersistentCollection {#9106 …}
      #variants: Doctrine\ORM\PersistentCollection {#9119 …}
      #options: Doctrine\ORM\PersistentCollection {#9110 …}
      #associations: Doctrine\ORM\PersistentCollection {#9108 …}
      #createdAt: DateTime @1758632577 {#9054
        date: 2025-09-23 21:02:57.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632577 {#9051
        date: 2025-09-23 21:02:57.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9113 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9114
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9099}
          #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 {#9116 …}
      #channels: Doctrine\ORM\PersistentCollection {#9104 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8088 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9100 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9102 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29122
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29051 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29060 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29121 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9120 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9130
    #collection: Doctrine\Common\Collections\ArrayCollection {#9131 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9129 …}
    -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 {#29122
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29051 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29060 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29121 …}
    +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 {#9130
    #collection: Doctrine\Common\Collections\ArrayCollection {#9131 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9129 …}
    -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 {#29128
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29122
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29051 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29060 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29121 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9120 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9130
      #collection: Doctrine\Common\Collections\ArrayCollection {#9131 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9129 …}
      -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 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29178
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29169 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29176 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29177 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9120 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29181
  +variant: App\Entity\Product\ProductVariant {#9120 …}
  +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 {#9592 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13022 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9589 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29178
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29169 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29176 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29177 …}
    +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 116.0 MiB 3.62 ms
Input props
[
  "product" => App\Entity\Product\Product {#9136
    #id: 2638
    #code: "pompe-classique-vacu-vin-359"
    #attributes: Doctrine\ORM\PersistentCollection {#9146 …}
    #variants: Doctrine\ORM\PersistentCollection {#9159 …}
    #options: Doctrine\ORM\PersistentCollection {#9150 …}
    #associations: Doctrine\ORM\PersistentCollection {#9148 …}
    #createdAt: DateTime @1758632610 {#9132
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632610 {#9133
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9153 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9154
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9136}
        #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 {#9156 …}
    #channels: Doctrine\ORM\PersistentCollection {#9144 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9138 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9140 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9142 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28151
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28184 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28177 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29058
  +product: App\Entity\Product\Product {#9136
    #id: 2638
    #code: "pompe-classique-vacu-vin-359"
    #attributes: Doctrine\ORM\PersistentCollection {#9146 …}
    #variants: Doctrine\ORM\PersistentCollection {#9159 …}
    #options: Doctrine\ORM\PersistentCollection {#9150 …}
    #associations: Doctrine\ORM\PersistentCollection {#9148 …}
    #createdAt: DateTime @1758632610 {#9132
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632610 {#9133
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9153 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9154
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9136}
        #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 {#9156 …}
    #channels: Doctrine\ORM\PersistentCollection {#9144 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9138 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9140 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9142 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9160 …}
  +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 {#28151
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28184 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28177 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.70 ms
Input props
[
  "product" => App\Entity\Product\Product {#9136
    #id: 2638
    #code: "pompe-classique-vacu-vin-359"
    #attributes: Doctrine\ORM\PersistentCollection {#9146 …}
    #variants: Doctrine\ORM\PersistentCollection {#9159 …}
    #options: Doctrine\ORM\PersistentCollection {#9150 …}
    #associations: Doctrine\ORM\PersistentCollection {#9148 …}
    #createdAt: DateTime @1758632610 {#9132
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632610 {#9133
      date: 2025-09-23 21:03:30.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9153 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9154
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9136}
        #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 {#9156 …}
    #channels: Doctrine\ORM\PersistentCollection {#9144 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9138 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9140 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9142 …}
    #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 {#29298
  -props: [
    "product" => App\Entity\Product\Product {#9136
      #id: 2638
      #code: "pompe-classique-vacu-vin-359"
      #attributes: Doctrine\ORM\PersistentCollection {#9146 …}
      #variants: Doctrine\ORM\PersistentCollection {#9159 …}
      #options: Doctrine\ORM\PersistentCollection {#9150 …}
      #associations: Doctrine\ORM\PersistentCollection {#9148 …}
      #createdAt: DateTime @1758632610 {#9132
        date: 2025-09-23 21:03:30.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632610 {#9133
        date: 2025-09-23 21:03:30.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9153 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9154
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9136}
          #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 {#9156 …}
      #channels: Doctrine\ORM\PersistentCollection {#9144 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9138 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9140 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9142 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.59 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29350
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29282 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29291 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29349 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9160 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9170
    #collection: Doctrine\Common\Collections\ArrayCollection {#9171 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9169 …}
    -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 {#29350
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29282 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29291 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29349 …}
    +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 {#9170
    #collection: Doctrine\Common\Collections\ArrayCollection {#9171 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9169 …}
    -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 {#29356
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29350
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29282 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29291 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29349 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9160 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9170
      #collection: Doctrine\Common\Collections\ArrayCollection {#9171 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9169 …}
      -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 116.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29406
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29397 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29404 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29405 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9160 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29409
  +variant: App\Entity\Product\ProductVariant {#9160 …}
  +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 {#9592 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13022 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9589 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29406
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29397 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29404 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29405 …}
    +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 116.0 MiB 4.14 ms
Input props
[
  "product" => App\Entity\Product\Product {#9176
    #id: 2701
    #code: "pierres-a-whisky-vacuvin-5710"
    #attributes: Doctrine\ORM\PersistentCollection {#9186 …}
    #variants: Doctrine\ORM\PersistentCollection {#9199 …}
    #options: Doctrine\ORM\PersistentCollection {#9190 …}
    #associations: Doctrine\ORM\PersistentCollection {#9188 …}
    #createdAt: DateTime @1758632628 {#9172
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632628 {#9173
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9193 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9194
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9176}
        #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 {#9196 …}
    #channels: Doctrine\ORM\PersistentCollection {#9184 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9178 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9180 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9182 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28151
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28184 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28177 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29289
  +product: App\Entity\Product\Product {#9176
    #id: 2701
    #code: "pierres-a-whisky-vacuvin-5710"
    #attributes: Doctrine\ORM\PersistentCollection {#9186 …}
    #variants: Doctrine\ORM\PersistentCollection {#9199 …}
    #options: Doctrine\ORM\PersistentCollection {#9190 …}
    #associations: Doctrine\ORM\PersistentCollection {#9188 …}
    #createdAt: DateTime @1758632628 {#9172
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632628 {#9173
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9193 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9194
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9176}
        #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 {#9196 …}
    #channels: Doctrine\ORM\PersistentCollection {#9184 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9178 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9180 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9182 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9200 …}
  +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 {#28151
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28184 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28177 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.64 ms
Input props
[
  "product" => App\Entity\Product\Product {#9176
    #id: 2701
    #code: "pierres-a-whisky-vacuvin-5710"
    #attributes: Doctrine\ORM\PersistentCollection {#9186 …}
    #variants: Doctrine\ORM\PersistentCollection {#9199 …}
    #options: Doctrine\ORM\PersistentCollection {#9190 …}
    #associations: Doctrine\ORM\PersistentCollection {#9188 …}
    #createdAt: DateTime @1758632628 {#9172
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632628 {#9173
      date: 2025-09-23 21:03:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9193 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9194
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9176}
        #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 {#9196 …}
    #channels: Doctrine\ORM\PersistentCollection {#9184 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9178 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9180 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9182 …}
    #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 {#29526
  -props: [
    "product" => App\Entity\Product\Product {#9176
      #id: 2701
      #code: "pierres-a-whisky-vacuvin-5710"
      #attributes: Doctrine\ORM\PersistentCollection {#9186 …}
      #variants: Doctrine\ORM\PersistentCollection {#9199 …}
      #options: Doctrine\ORM\PersistentCollection {#9190 …}
      #associations: Doctrine\ORM\PersistentCollection {#9188 …}
      #createdAt: DateTime @1758632628 {#9172
        date: 2025-09-23 21:03:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632628 {#9173
        date: 2025-09-23 21:03:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9193 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9194
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9176}
          #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 {#9196 …}
      #channels: Doctrine\ORM\PersistentCollection {#9184 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9178 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9180 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9182 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.79 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29572
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29510 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29519 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29571 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9200 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9213
    #collection: Doctrine\Common\Collections\ArrayCollection {#9214 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9212 …}
    -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 {#29572
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29510 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29519 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29571 …}
    +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 {#9213
    #collection: Doctrine\Common\Collections\ArrayCollection {#9214 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9212 …}
    -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 {#29578
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29572
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29510 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29519 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29571 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9200 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9213
      #collection: Doctrine\Common\Collections\ArrayCollection {#9214 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9212 …}
      -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 116.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29628
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29619 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29626 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29627 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9200 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29631
  +variant: App\Entity\Product\ProductVariant {#9200 …}
  +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 {#9592 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13022 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9589 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29628
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29619 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29626 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29627 …}
    +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 116.0 MiB 4.24 ms
Input props
[
  "product" => App\Entity\Product\Product {#9219
    #id: 1058
    #code: "couteau-opinel-inox-5867"
    #attributes: Doctrine\ORM\PersistentCollection {#9229 …}
    #variants: Doctrine\ORM\PersistentCollection {#9242 …}
    #options: Doctrine\ORM\PersistentCollection {#9233 …}
    #associations: Doctrine\ORM\PersistentCollection {#9231 …}
    #createdAt: DateTime @1758632301 {#9215
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632301 {#9216
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9236 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9237
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9219}
        #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 {#9239 …}
    #channels: Doctrine\ORM\PersistentCollection {#9227 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9221 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9223 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9225 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28151
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28184 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28177 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29517
  +product: App\Entity\Product\Product {#9219
    #id: 1058
    #code: "couteau-opinel-inox-5867"
    #attributes: Doctrine\ORM\PersistentCollection {#9229 …}
    #variants: Doctrine\ORM\PersistentCollection {#9242 …}
    #options: Doctrine\ORM\PersistentCollection {#9233 …}
    #associations: Doctrine\ORM\PersistentCollection {#9231 …}
    #createdAt: DateTime @1758632301 {#9215
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632301 {#9216
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9236 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9237
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9219}
        #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 {#9239 …}
    #channels: Doctrine\ORM\PersistentCollection {#9227 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9221 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9223 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9225 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9243 …}
  +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 {#28151
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28184 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28177 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.93 ms
Input props
[
  "product" => App\Entity\Product\Product {#9219
    #id: 1058
    #code: "couteau-opinel-inox-5867"
    #attributes: Doctrine\ORM\PersistentCollection {#9229 …}
    #variants: Doctrine\ORM\PersistentCollection {#9242 …}
    #options: Doctrine\ORM\PersistentCollection {#9233 …}
    #associations: Doctrine\ORM\PersistentCollection {#9231 …}
    #createdAt: DateTime @1758632301 {#9215
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632301 {#9216
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9236 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9237
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9219}
        #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 {#9239 …}
    #channels: Doctrine\ORM\PersistentCollection {#9227 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9221 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9223 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9225 …}
    #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 {#29748
  -props: [
    "product" => App\Entity\Product\Product {#9219
      #id: 1058
      #code: "couteau-opinel-inox-5867"
      #attributes: Doctrine\ORM\PersistentCollection {#9229 …}
      #variants: Doctrine\ORM\PersistentCollection {#9242 …}
      #options: Doctrine\ORM\PersistentCollection {#9233 …}
      #associations: Doctrine\ORM\PersistentCollection {#9231 …}
      #createdAt: DateTime @1758632301 {#9215
        date: 2025-09-23 20:58:21.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632301 {#9216
        date: 2025-09-23 20:58:21.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9236 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9237
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9219}
          #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 {#9239 …}
      #channels: Doctrine\ORM\PersistentCollection {#9227 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#9221 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9223 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9225 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.79 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29800
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29732 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29741 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29799 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9243 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9253
    #collection: Doctrine\Common\Collections\ArrayCollection {#9254 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9252 …}
    -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 {#29800
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29732 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29741 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29799 …}
    +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 {#9253
    #collection: Doctrine\Common\Collections\ArrayCollection {#9254 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9252 …}
    -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 {#29806
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29800
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29732 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29741 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29799 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9243 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9253
      #collection: Doctrine\Common\Collections\ArrayCollection {#9254 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9252 …}
      -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 116.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29856
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29847 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29854 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29855 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9243 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29859
  +variant: App\Entity\Product\ProductVariant {#9243 …}
  +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 {#9592 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13022 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9589 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29856
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29847 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29854 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29855 …}
    +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 116.0 MiB 2.09 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27864
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13087 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27886 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13097 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#30170
  +cart: App\Entity\Order\Order {#14001 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27864
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13087 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27886 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13097 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}