Components

12 Twig Components
44 Render Count
68 ms Render Time
104.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
9 40.41ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 8.78ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 7.09ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.40ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.11ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.89ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.49ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 14.46ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.95ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.62ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 2.99ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.03ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 100.0 MiB 1.11 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12799
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12792 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12798 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12797 …}
    +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 {#13419
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12690 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12799
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12792 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12798 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12797 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 100.0 MiB 0.89 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13496
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13492 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13494 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13495 …}
    +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 {#13505
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13496
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13492 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13494 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13495 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 100.0 MiB 4.49 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13587
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13566 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13586 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13585 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#13602
  +cart: App\Entity\Order\Order {#13669 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13587
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13566 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13586 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13585 …}
    +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 100.0 MiB 14.46 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13855
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13843 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13849 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13841 …}
    +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 {#13864
  #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 {#13855
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13843 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13849 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13841 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 100.0 MiB 0.95 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28023
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28019 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28020 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28022 …}
    +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 {#28032
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28023
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28019 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28020 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28022 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 100.0 MiB 0.62 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28136
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28132 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28133 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28135 …}
    +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 {#28144
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28136
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28132 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28133 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28135 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 100.0 MiB 2.99 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28207
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28203 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28204 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28206 …}
    +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 {#28215
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28207
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28203 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28204 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28206 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 102.0 MiB 8.69 ms
Input props
[
  "product" => App\Entity\Product\Product {#8030
    #id: 1393
    #code: "cuillere-magique-inox-694"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#6054 …}
    #options: Doctrine\ORM\PersistentCollection {#5357 …}
    #associations: Doctrine\ORM\PersistentCollection {#5114 …}
    #createdAt: DateTime @1758632341 {#7945
      date: 2025-09-23 20:59:01.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632341 {#8040
      date: 2025-09-23 20:59:01.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5359 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5366
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 1393
        #name: "Cuillère magique inox"
        #slug: "cuillere-magique-inox-694"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Inox.</li>\n
          <li>Facilit&eacute; d'utilisation.</li>\n
          <li>R&eacute;sultat garanti pour mayonnaises, vinaigrettes et sauces.</li>\n
          </ul></div><h1>A quoi sert la cuillère magique ?</h1><div class="col is-12"><p>La cuill&egrave;re magique permet de r&eacute;ussir plus facilement vos sauces, vinaigrettes et autres mayonnaises en un tour de main. De plus, elle &eacute;vite les grumeaux. Elle convient aussi bien pour les petites quantit&eacute;s mais aussi pour battre vos omelettes. La cuill&egrave;re magique vous permettra de pr&eacute;parer en quelques minutes vos pr&eacute;parations, qui, avec un fouet classique s'av&egrave;re &ecirc;tre une t&acirc;che bien plus fastidieuse. Elle permet de se passer d'un batteur &eacute;lectrique.</p></div><h1>Description cuillère magique</h1><div class="col is-12"><p>La cuill&egrave;re magique est con&ccedil;ue en acier inoxydable et sa longueur totale est de 20 cm. Elle est dot&eacute;e d'un ressort souple et serr&eacute; facilitant l'homog&eacute;n&eacute;isation des sauces, c'est ce qui fait son c&ocirc;t&eacute; "magique". Cet ustensile permet de r&eacute;aliser des &eacute;mulsions parfaites gr&acirc;ce &agrave; sa t&ecirc;te de fil enroul&eacute;. Elle est tr&egrave;s l&eacute;g&egrave;re et deviendra rapidement un ustensile incontournable dans votre cuisine.&nbsp;</p></div><h1>Caractéristiques cuillère magique</h1><div class="col is-12"><p>- Inox<br />- Longueur totale 20 cm<br />- Passe au lave-vaisselle.</p></div><h1>Recette vinaigrette onctueuse à la moutarde réalisée avec la cuillère magique</h1><div class="col is-12"><h4>Ingr&eacute;dients</h4>\n
          <p>- 1/2 oignon</p>\n
          <p>- 1 cuill&egrave;re &agrave; soupe de vinaigre</p>\n
          <p>- 2 cuill&egrave;res &agrave; soupe d'huile d'olive</p>\n
          <p>- Sel,poivre</p>\n
          <h4>Etapes</h4>\n
          <p>1 Dans un bol ou un saladier, versez une cuill&egrave;re &agrave; caf&eacute; de moutarde. Ajoutez une pinc&eacute;e de sel et du poivre &agrave; votre convenance. M&eacute;langez.</p>\n
          <p>2 Ajoutez l'huile tout en remuant avec la cuill&egrave;re magique. Puis incorporez le vinaigre.</p>\n
          <p>3 .Enfin rajoutez l'oignon pr&eacute;alablement coup&eacute; en fines lamelles.&nbsp;</p></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 {#6070 …}
    #channels: Doctrine\ORM\PersistentCollection {#8309 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8321 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28741
  +product: App\Entity\Product\Product {#8030
    #id: 1393
    #code: "cuillere-magique-inox-694"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#6054 …}
    #options: Doctrine\ORM\PersistentCollection {#5357 …}
    #associations: Doctrine\ORM\PersistentCollection {#5114 …}
    #createdAt: DateTime @1758632341 {#7945
      date: 2025-09-23 20:59:01.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632341 {#8040
      date: 2025-09-23 20:59:01.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5359 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5366
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 1393
        #name: "Cuillère magique inox"
        #slug: "cuillere-magique-inox-694"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Inox.</li>\n
          <li>Facilit&eacute; d'utilisation.</li>\n
          <li>R&eacute;sultat garanti pour mayonnaises, vinaigrettes et sauces.</li>\n
          </ul></div><h1>A quoi sert la cuillère magique ?</h1><div class="col is-12"><p>La cuill&egrave;re magique permet de r&eacute;ussir plus facilement vos sauces, vinaigrettes et autres mayonnaises en un tour de main. De plus, elle &eacute;vite les grumeaux. Elle convient aussi bien pour les petites quantit&eacute;s mais aussi pour battre vos omelettes. La cuill&egrave;re magique vous permettra de pr&eacute;parer en quelques minutes vos pr&eacute;parations, qui, avec un fouet classique s'av&egrave;re &ecirc;tre une t&acirc;che bien plus fastidieuse. Elle permet de se passer d'un batteur &eacute;lectrique.</p></div><h1>Description cuillère magique</h1><div class="col is-12"><p>La cuill&egrave;re magique est con&ccedil;ue en acier inoxydable et sa longueur totale est de 20 cm. Elle est dot&eacute;e d'un ressort souple et serr&eacute; facilitant l'homog&eacute;n&eacute;isation des sauces, c'est ce qui fait son c&ocirc;t&eacute; "magique". Cet ustensile permet de r&eacute;aliser des &eacute;mulsions parfaites gr&acirc;ce &agrave; sa t&ecirc;te de fil enroul&eacute;. Elle est tr&egrave;s l&eacute;g&egrave;re et deviendra rapidement un ustensile incontournable dans votre cuisine.&nbsp;</p></div><h1>Caractéristiques cuillère magique</h1><div class="col is-12"><p>- Inox<br />- Longueur totale 20 cm<br />- Passe au lave-vaisselle.</p></div><h1>Recette vinaigrette onctueuse à la moutarde réalisée avec la cuillère magique</h1><div class="col is-12"><h4>Ingr&eacute;dients</h4>\n
          <p>- 1/2 oignon</p>\n
          <p>- 1 cuill&egrave;re &agrave; soupe de vinaigre</p>\n
          <p>- 2 cuill&egrave;res &agrave; soupe d'huile d'olive</p>\n
          <p>- Sel,poivre</p>\n
          <h4>Etapes</h4>\n
          <p>1 Dans un bol ou un saladier, versez une cuill&egrave;re &agrave; caf&eacute; de moutarde. Ajoutez une pinc&eacute;e de sel et du poivre &agrave; votre convenance. M&eacute;langez.</p>\n
          <p>2 Ajoutez l'huile tout en remuant avec la cuill&egrave;re magique. Puis incorporez le vinaigre.</p>\n
          <p>3 .Enfin rajoutez l'oignon pr&eacute;alablement coup&eacute; en fines lamelles.&nbsp;</p></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 {#6070 …}
    #channels: Doctrine\ORM\PersistentCollection {#8309 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8321 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#6061 …}
  +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 {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 1.78 ms
Input props
[
  "product" => App\Entity\Product\Product {#8030
    #id: 1393
    #code: "cuillere-magique-inox-694"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#6054 …}
    #options: Doctrine\ORM\PersistentCollection {#5357 …}
    #associations: Doctrine\ORM\PersistentCollection {#5114 …}
    #createdAt: DateTime @1758632341 {#7945
      date: 2025-09-23 20:59:01.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632341 {#8040
      date: 2025-09-23 20:59:01.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5359 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5366
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 1393
        #name: "Cuillère magique inox"
        #slug: "cuillere-magique-inox-694"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Inox.</li>\n
          <li>Facilit&eacute; d'utilisation.</li>\n
          <li>R&eacute;sultat garanti pour mayonnaises, vinaigrettes et sauces.</li>\n
          </ul></div><h1>A quoi sert la cuillère magique ?</h1><div class="col is-12"><p>La cuill&egrave;re magique permet de r&eacute;ussir plus facilement vos sauces, vinaigrettes et autres mayonnaises en un tour de main. De plus, elle &eacute;vite les grumeaux. Elle convient aussi bien pour les petites quantit&eacute;s mais aussi pour battre vos omelettes. La cuill&egrave;re magique vous permettra de pr&eacute;parer en quelques minutes vos pr&eacute;parations, qui, avec un fouet classique s'av&egrave;re &ecirc;tre une t&acirc;che bien plus fastidieuse. Elle permet de se passer d'un batteur &eacute;lectrique.</p></div><h1>Description cuillère magique</h1><div class="col is-12"><p>La cuill&egrave;re magique est con&ccedil;ue en acier inoxydable et sa longueur totale est de 20 cm. Elle est dot&eacute;e d'un ressort souple et serr&eacute; facilitant l'homog&eacute;n&eacute;isation des sauces, c'est ce qui fait son c&ocirc;t&eacute; "magique". Cet ustensile permet de r&eacute;aliser des &eacute;mulsions parfaites gr&acirc;ce &agrave; sa t&ecirc;te de fil enroul&eacute;. Elle est tr&egrave;s l&eacute;g&egrave;re et deviendra rapidement un ustensile incontournable dans votre cuisine.&nbsp;</p></div><h1>Caractéristiques cuillère magique</h1><div class="col is-12"><p>- Inox<br />- Longueur totale 20 cm<br />- Passe au lave-vaisselle.</p></div><h1>Recette vinaigrette onctueuse à la moutarde réalisée avec la cuillère magique</h1><div class="col is-12"><h4>Ingr&eacute;dients</h4>\n
          <p>- 1/2 oignon</p>\n
          <p>- 1 cuill&egrave;re &agrave; soupe de vinaigre</p>\n
          <p>- 2 cuill&egrave;res &agrave; soupe d'huile d'olive</p>\n
          <p>- Sel,poivre</p>\n
          <h4>Etapes</h4>\n
          <p>1 Dans un bol ou un saladier, versez une cuill&egrave;re &agrave; caf&eacute; de moutarde. Ajoutez une pinc&eacute;e de sel et du poivre &agrave; votre convenance. M&eacute;langez.</p>\n
          <p>2 Ajoutez l'huile tout en remuant avec la cuill&egrave;re magique. Puis incorporez le vinaigre.</p>\n
          <p>3 .Enfin rajoutez l'oignon pr&eacute;alablement coup&eacute; en fines lamelles.&nbsp;</p></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 {#6070 …}
    #channels: Doctrine\ORM\PersistentCollection {#8309 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8321 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Cuillère magique inox"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28895
  -props: [
    "product" => App\Entity\Product\Product {#8030
      #id: 1393
      #code: "cuillere-magique-inox-694"
      #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
      #variants: Doctrine\ORM\PersistentCollection {#6054 …}
      #options: Doctrine\ORM\PersistentCollection {#5357 …}
      #associations: Doctrine\ORM\PersistentCollection {#5114 …}
      #createdAt: DateTime @1758632341 {#7945
        date: 2025-09-23 20:59:01.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632341 {#8040
        date: 2025-09-23 20:59:01.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#5359 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#5366
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8030}
          #id: 1393
          #name: "Cuillère magique inox"
          #slug: "cuillere-magique-inox-694"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Inox.</li>\n
            <li>Facilit&eacute; d'utilisation.</li>\n
            <li>R&eacute;sultat garanti pour mayonnaises, vinaigrettes et sauces.</li>\n
            </ul></div><h1>A quoi sert la cuillère magique ?</h1><div class="col is-12"><p>La cuill&egrave;re magique permet de r&eacute;ussir plus facilement vos sauces, vinaigrettes et autres mayonnaises en un tour de main. De plus, elle &eacute;vite les grumeaux. Elle convient aussi bien pour les petites quantit&eacute;s mais aussi pour battre vos omelettes. La cuill&egrave;re magique vous permettra de pr&eacute;parer en quelques minutes vos pr&eacute;parations, qui, avec un fouet classique s'av&egrave;re &ecirc;tre une t&acirc;che bien plus fastidieuse. Elle permet de se passer d'un batteur &eacute;lectrique.</p></div><h1>Description cuillère magique</h1><div class="col is-12"><p>La cuill&egrave;re magique est con&ccedil;ue en acier inoxydable et sa longueur totale est de 20 cm. Elle est dot&eacute;e d'un ressort souple et serr&eacute; facilitant l'homog&eacute;n&eacute;isation des sauces, c'est ce qui fait son c&ocirc;t&eacute; "magique". Cet ustensile permet de r&eacute;aliser des &eacute;mulsions parfaites gr&acirc;ce &agrave; sa t&ecirc;te de fil enroul&eacute;. Elle est tr&egrave;s l&eacute;g&egrave;re et deviendra rapidement un ustensile incontournable dans votre cuisine.&nbsp;</p></div><h1>Caractéristiques cuillère magique</h1><div class="col is-12"><p>- Inox<br />- Longueur totale 20 cm<br />- Passe au lave-vaisselle.</p></div><h1>Recette vinaigrette onctueuse à la moutarde réalisée avec la cuillère magique</h1><div class="col is-12"><h4>Ingr&eacute;dients</h4>\n
            <p>- 1/2 oignon</p>\n
            <p>- 1 cuill&egrave;re &agrave; soupe de vinaigre</p>\n
            <p>- 2 cuill&egrave;res &agrave; soupe d'huile d'olive</p>\n
            <p>- Sel,poivre</p>\n
            <h4>Etapes</h4>\n
            <p>1 Dans un bol ou un saladier, versez une cuill&egrave;re &agrave; caf&eacute; de moutarde. Ajoutez une pinc&eacute;e de sel et du poivre &agrave; votre convenance. M&eacute;langez.</p>\n
            <p>2 Ajoutez l'huile tout en remuant avec la cuill&egrave;re magique. Puis incorporez le vinaigre.</p>\n
            <p>3 .Enfin rajoutez l'oignon pr&eacute;alablement coup&eacute; en fines lamelles.&nbsp;</p></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 {#6070 …}
      #channels: Doctrine\ORM\PersistentCollection {#8309 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8321 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 1.42 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28911
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28915 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28916 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28906 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#6061 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8528
    #collection: Doctrine\Common\Collections\ArrayCollection {#8240 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#6751 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38199 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38251 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28911
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28915 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28916 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28906 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Cuillère magique inox"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8528
    #collection: Doctrine\Common\Collections\ArrayCollection {#8240 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#6751 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38199 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38251 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28982
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28911
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28915 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28916 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28906 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#6061 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8528
      #collection: Doctrine\Common\Collections\ArrayCollection {#8240 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#6751 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38199 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38251 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.37 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29048
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29038 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29046 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29047 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#6061 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29057
  +variant: App\Entity\Product\ProductVariant {#6061 …}
  +price: "6,00\u{A0}"
  +originalPrice: "6,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9260 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12690 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9257 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29048
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29038 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29046 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29047 …}
    +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 102.0 MiB 4.00 ms
Input props
[
  "product" => App\Entity\Product\Product {#8009
    #id: 1059
    #code: "couteau-le-petit-office-de-ma-grand-mere-sabatier-6400"
    #attributes: Doctrine\ORM\PersistentCollection {#8286 …}
    #variants: Doctrine\ORM\PersistentCollection {#7996 …}
    #options: Doctrine\ORM\PersistentCollection {#8362 …}
    #associations: Doctrine\ORM\PersistentCollection {#8273 …}
    #createdAt: DateTime @1758632301 {#8238
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632301 {#8004
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8264 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8331
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8009}
        #id: 1059
        #name: "Couteau Le Petit Office de ma grand-mère Sabatier"
        #slug: "couteau-le-petit-office-de-ma-grand-mere-sabatier-6400"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Lame en acier au carbone, s'aff&ucirc;te facilement.</li>\n
          <li>Manche palissandre.</li>\n
          <li><strong>Fabrication Fran&ccedil;aise.</strong></li>\n
          </ul></div><h1>Descriptif Couteau Le Petit Office de ma grand-mère Sabatier</h1><div class="col is-12">Couteau d'office poss&eacute;dant une lame de 8 cm en acier carbone. L'acier carbone pr&eacute;sente l'avantage de s'user moins rapidement que l'acier inoxydable et de tenir le fil de son tranchant plus longtemps. Il est par contre plus sensible &agrave; la corrosion et doit donc &ecirc;tre lav&eacute; uniquement &agrave; la main et s&eacute;cher rapidement apr&egrave;s lavage. La lame du couteau "le petit office de ma grand-m&egrave;re" est rivet&eacute;e dans un manche en palissandre vernis. Un vrai couteau vintage.</div><h1>Caractéristiques Couteau Le Petit Office de ma grand-mère Sabatier</h1><div class="col is-12">- Lame en acier carbone.<br />- Manche : palissandre.<br />- Garantie : 10 ans.<br />- Fabrication : FRANCE.&nbsp;<br />- Taille : 8.<br /><strong><em>- Ne pas laver au lave-vaisselle.</em></strong></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 {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#7994 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8017 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8013 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28962
  +product: App\Entity\Product\Product {#8009
    #id: 1059
    #code: "couteau-le-petit-office-de-ma-grand-mere-sabatier-6400"
    #attributes: Doctrine\ORM\PersistentCollection {#8286 …}
    #variants: Doctrine\ORM\PersistentCollection {#7996 …}
    #options: Doctrine\ORM\PersistentCollection {#8362 …}
    #associations: Doctrine\ORM\PersistentCollection {#8273 …}
    #createdAt: DateTime @1758632301 {#8238
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632301 {#8004
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8264 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8331
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8009}
        #id: 1059
        #name: "Couteau Le Petit Office de ma grand-mère Sabatier"
        #slug: "couteau-le-petit-office-de-ma-grand-mere-sabatier-6400"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Lame en acier au carbone, s'aff&ucirc;te facilement.</li>\n
          <li>Manche palissandre.</li>\n
          <li><strong>Fabrication Fran&ccedil;aise.</strong></li>\n
          </ul></div><h1>Descriptif Couteau Le Petit Office de ma grand-mère Sabatier</h1><div class="col is-12">Couteau d'office poss&eacute;dant une lame de 8 cm en acier carbone. L'acier carbone pr&eacute;sente l'avantage de s'user moins rapidement que l'acier inoxydable et de tenir le fil de son tranchant plus longtemps. Il est par contre plus sensible &agrave; la corrosion et doit donc &ecirc;tre lav&eacute; uniquement &agrave; la main et s&eacute;cher rapidement apr&egrave;s lavage. La lame du couteau "le petit office de ma grand-m&egrave;re" est rivet&eacute;e dans un manche en palissandre vernis. Un vrai couteau vintage.</div><h1>Caractéristiques Couteau Le Petit Office de ma grand-mère Sabatier</h1><div class="col is-12">- Lame en acier carbone.<br />- Manche : palissandre.<br />- Garantie : 10 ans.<br />- Fabrication : FRANCE.&nbsp;<br />- Taille : 8.<br /><strong><em>- Ne pas laver au lave-vaisselle.</em></strong></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 {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#7994 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8017 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8013 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#7989 …}
  +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 {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.88 ms
Input props
[
  "product" => App\Entity\Product\Product {#8009
    #id: 1059
    #code: "couteau-le-petit-office-de-ma-grand-mere-sabatier-6400"
    #attributes: Doctrine\ORM\PersistentCollection {#8286 …}
    #variants: Doctrine\ORM\PersistentCollection {#7996 …}
    #options: Doctrine\ORM\PersistentCollection {#8362 …}
    #associations: Doctrine\ORM\PersistentCollection {#8273 …}
    #createdAt: DateTime @1758632301 {#8238
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632301 {#8004
      date: 2025-09-23 20:58:21.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8264 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8331
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8009}
        #id: 1059
        #name: "Couteau Le Petit Office de ma grand-mère Sabatier"
        #slug: "couteau-le-petit-office-de-ma-grand-mere-sabatier-6400"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Lame en acier au carbone, s'aff&ucirc;te facilement.</li>\n
          <li>Manche palissandre.</li>\n
          <li><strong>Fabrication Fran&ccedil;aise.</strong></li>\n
          </ul></div><h1>Descriptif Couteau Le Petit Office de ma grand-mère Sabatier</h1><div class="col is-12">Couteau d'office poss&eacute;dant une lame de 8 cm en acier carbone. L'acier carbone pr&eacute;sente l'avantage de s'user moins rapidement que l'acier inoxydable et de tenir le fil de son tranchant plus longtemps. Il est par contre plus sensible &agrave; la corrosion et doit donc &ecirc;tre lav&eacute; uniquement &agrave; la main et s&eacute;cher rapidement apr&egrave;s lavage. La lame du couteau "le petit office de ma grand-m&egrave;re" est rivet&eacute;e dans un manche en palissandre vernis. Un vrai couteau vintage.</div><h1>Caractéristiques Couteau Le Petit Office de ma grand-mère Sabatier</h1><div class="col is-12">- Lame en acier carbone.<br />- Manche : palissandre.<br />- Garantie : 10 ans.<br />- Fabrication : FRANCE.&nbsp;<br />- Taille : 8.<br /><strong><em>- Ne pas laver au lave-vaisselle.</em></strong></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 {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#7994 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8017 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8013 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Couteau Le Petit Office de ma grand-mère Sabatier"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29184
  -props: [
    "product" => App\Entity\Product\Product {#8009
      #id: 1059
      #code: "couteau-le-petit-office-de-ma-grand-mere-sabatier-6400"
      #attributes: Doctrine\ORM\PersistentCollection {#8286 …}
      #variants: Doctrine\ORM\PersistentCollection {#7996 …}
      #options: Doctrine\ORM\PersistentCollection {#8362 …}
      #associations: Doctrine\ORM\PersistentCollection {#8273 …}
      #createdAt: DateTime @1758632301 {#8238
        date: 2025-09-23 20:58:21.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632301 {#8004
        date: 2025-09-23 20:58:21.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8264 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8331
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8009}
          #id: 1059
          #name: "Couteau Le Petit Office de ma grand-mère Sabatier"
          #slug: "couteau-le-petit-office-de-ma-grand-mere-sabatier-6400"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Lame en acier au carbone, s'aff&ucirc;te facilement.</li>\n
            <li>Manche palissandre.</li>\n
            <li><strong>Fabrication Fran&ccedil;aise.</strong></li>\n
            </ul></div><h1>Descriptif Couteau Le Petit Office de ma grand-mère Sabatier</h1><div class="col is-12">Couteau d'office poss&eacute;dant une lame de 8 cm en acier carbone. L'acier carbone pr&eacute;sente l'avantage de s'user moins rapidement que l'acier inoxydable et de tenir le fil de son tranchant plus longtemps. Il est par contre plus sensible &agrave; la corrosion et doit donc &ecirc;tre lav&eacute; uniquement &agrave; la main et s&eacute;cher rapidement apr&egrave;s lavage. La lame du couteau "le petit office de ma grand-m&egrave;re" est rivet&eacute;e dans un manche en palissandre vernis. Un vrai couteau vintage.</div><h1>Caractéristiques Couteau Le Petit Office de ma grand-mère Sabatier</h1><div class="col is-12">- Lame en acier carbone.<br />- Manche : palissandre.<br />- Garantie : 10 ans.<br />- Fabrication : FRANCE.&nbsp;<br />- Taille : 8.<br /><strong><em>- Ne pas laver au lave-vaisselle.</em></strong></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 {#8535 …}
      #channels: Doctrine\ORM\PersistentCollection {#7994 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8017 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8013 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29230
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29168 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29177 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29229 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#7989 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8426
    #collection: Doctrine\Common\Collections\ArrayCollection {#8425 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8416 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38271 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38273 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29230
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29168 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29177 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29229 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Couteau Le Petit Office de ma grand-mère Sabatier"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8426
    #collection: Doctrine\Common\Collections\ArrayCollection {#8425 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8416 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38271 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38273 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29236
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29230
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29168 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29177 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29229 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#7989 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8426
      #collection: Doctrine\Common\Collections\ArrayCollection {#8425 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8416 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38271 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38273 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29286
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29277 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29284 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29285 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#7989 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29289
  +variant: App\Entity\Product\ProductVariant {#7989 …}
  +price: "8,00\u{A0}"
  +originalPrice: "8,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9260 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12690 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9257 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29286
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29277 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29284 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29285 …}
    +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 102.0 MiB 3.89 ms
Input props
[
  "product" => App\Entity\Product\Product {#8477
    #id: 1457
    #code: "ouvre-tout-poisson-malin-298"
    #attributes: Doctrine\ORM\PersistentCollection {#8493 …}
    #variants: Doctrine\ORM\PersistentCollection {#8600 …}
    #options: Doctrine\ORM\PersistentCollection {#8591 …}
    #associations: Doctrine\ORM\PersistentCollection {#8584 …}
    #createdAt: DateTime @1758632351 {#8427
      date: 2025-09-23 20:59:11.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632351 {#8428
      date: 2025-09-23 20:59:11.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8595 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8593
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8477}
        #id: 1457
        #name: "Ouvre tout Poisson malin"
        #slug: "ouvre-tout-poisson-malin-298"
        #description: """
          <div class="col is-12"><ul>\n
          <li>3 ustensiles en 1, pour les bouteilles, bo&icirc;te de conserve et bocaux.</li>\n
          <li>Permet une ouverture sans effort.&nbsp;</li>\n
          <li><strong>Fabrication fran&ccedil;aise.&nbsp;</strong></li>\n
          </ul></div><h1>Description poisson malin ouvre tout</h1><div class="col is-12"><p>L'ouvre tout poisson malin est id&eacute;al pour&nbsp; ouvrir bo&icirc;tes, pots de confiture et bouteilles... sans aucun effort.<br />Mati&egrave;re PVC. 3 ustensiles en 1 : crochet pour les bo&icirc;tes avec anneau, partie cannel&eacute;e pour ouvrir les bouteilles avec bouchon vissant, barette pour ouvrir les couvercles.</p></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 {#8599 …}
    #channels: Doctrine\ORM\PersistentCollection {#8489 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8481 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8478 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8487 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29175
  +product: App\Entity\Product\Product {#8477
    #id: 1457
    #code: "ouvre-tout-poisson-malin-298"
    #attributes: Doctrine\ORM\PersistentCollection {#8493 …}
    #variants: Doctrine\ORM\PersistentCollection {#8600 …}
    #options: Doctrine\ORM\PersistentCollection {#8591 …}
    #associations: Doctrine\ORM\PersistentCollection {#8584 …}
    #createdAt: DateTime @1758632351 {#8427
      date: 2025-09-23 20:59:11.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632351 {#8428
      date: 2025-09-23 20:59:11.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8595 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8593
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8477}
        #id: 1457
        #name: "Ouvre tout Poisson malin"
        #slug: "ouvre-tout-poisson-malin-298"
        #description: """
          <div class="col is-12"><ul>\n
          <li>3 ustensiles en 1, pour les bouteilles, bo&icirc;te de conserve et bocaux.</li>\n
          <li>Permet une ouverture sans effort.&nbsp;</li>\n
          <li><strong>Fabrication fran&ccedil;aise.&nbsp;</strong></li>\n
          </ul></div><h1>Description poisson malin ouvre tout</h1><div class="col is-12"><p>L'ouvre tout poisson malin est id&eacute;al pour&nbsp; ouvrir bo&icirc;tes, pots de confiture et bouteilles... sans aucun effort.<br />Mati&egrave;re PVC. 3 ustensiles en 1 : crochet pour les bo&icirc;tes avec anneau, partie cannel&eacute;e pour ouvrir les bouteilles avec bouchon vissant, barette pour ouvrir les couvercles.</p></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 {#8599 …}
    #channels: Doctrine\ORM\PersistentCollection {#8489 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8481 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8478 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8487 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8602 …}
  +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 {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.83 ms
Input props
[
  "product" => App\Entity\Product\Product {#8477
    #id: 1457
    #code: "ouvre-tout-poisson-malin-298"
    #attributes: Doctrine\ORM\PersistentCollection {#8493 …}
    #variants: Doctrine\ORM\PersistentCollection {#8600 …}
    #options: Doctrine\ORM\PersistentCollection {#8591 …}
    #associations: Doctrine\ORM\PersistentCollection {#8584 …}
    #createdAt: DateTime @1758632351 {#8427
      date: 2025-09-23 20:59:11.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632351 {#8428
      date: 2025-09-23 20:59:11.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8595 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8593
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8477}
        #id: 1457
        #name: "Ouvre tout Poisson malin"
        #slug: "ouvre-tout-poisson-malin-298"
        #description: """
          <div class="col is-12"><ul>\n
          <li>3 ustensiles en 1, pour les bouteilles, bo&icirc;te de conserve et bocaux.</li>\n
          <li>Permet une ouverture sans effort.&nbsp;</li>\n
          <li><strong>Fabrication fran&ccedil;aise.&nbsp;</strong></li>\n
          </ul></div><h1>Description poisson malin ouvre tout</h1><div class="col is-12"><p>L'ouvre tout poisson malin est id&eacute;al pour&nbsp; ouvrir bo&icirc;tes, pots de confiture et bouteilles... sans aucun effort.<br />Mati&egrave;re PVC. 3 ustensiles en 1 : crochet pour les bo&icirc;tes avec anneau, partie cannel&eacute;e pour ouvrir les bouteilles avec bouchon vissant, barette pour ouvrir les couvercles.</p></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 {#8599 …}
    #channels: Doctrine\ORM\PersistentCollection {#8489 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8481 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8478 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8487 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Ouvre tout Poisson malin"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29406
  -props: [
    "product" => App\Entity\Product\Product {#8477
      #id: 1457
      #code: "ouvre-tout-poisson-malin-298"
      #attributes: Doctrine\ORM\PersistentCollection {#8493 …}
      #variants: Doctrine\ORM\PersistentCollection {#8600 …}
      #options: Doctrine\ORM\PersistentCollection {#8591 …}
      #associations: Doctrine\ORM\PersistentCollection {#8584 …}
      #createdAt: DateTime @1758632351 {#8427
        date: 2025-09-23 20:59:11.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632351 {#8428
        date: 2025-09-23 20:59:11.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8595 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8593
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8477}
          #id: 1457
          #name: "Ouvre tout Poisson malin"
          #slug: "ouvre-tout-poisson-malin-298"
          #description: """
            <div class="col is-12"><ul>\n
            <li>3 ustensiles en 1, pour les bouteilles, bo&icirc;te de conserve et bocaux.</li>\n
            <li>Permet une ouverture sans effort.&nbsp;</li>\n
            <li><strong>Fabrication fran&ccedil;aise.&nbsp;</strong></li>\n
            </ul></div><h1>Description poisson malin ouvre tout</h1><div class="col is-12"><p>L'ouvre tout poisson malin est id&eacute;al pour&nbsp; ouvrir bo&icirc;tes, pots de confiture et bouteilles... sans aucun effort.<br />Mati&egrave;re PVC. 3 ustensiles en 1 : crochet pour les bo&icirc;tes avec anneau, partie cannel&eacute;e pour ouvrir les bouteilles avec bouchon vissant, barette pour ouvrir les couvercles.</p></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 {#8599 …}
      #channels: Doctrine\ORM\PersistentCollection {#8489 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8481 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8478 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8487 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.70 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29458
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29390 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29399 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29457 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8602 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8673
    #collection: Doctrine\Common\Collections\ArrayCollection {#8674 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8611 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38285 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38287 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29458
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29390 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29399 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29457 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Ouvre tout Poisson malin"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8673
    #collection: Doctrine\Common\Collections\ArrayCollection {#8674 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8611 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38285 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38287 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29464
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29458
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29390 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29399 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29457 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8602 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8673
      #collection: Doctrine\Common\Collections\ArrayCollection {#8674 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8611 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38285 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38287 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29514
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29505 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29512 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29513 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8602 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29517
  +variant: App\Entity\Product\ProductVariant {#8602 …}
  +price: "8,00\u{A0}"
  +originalPrice: "8,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9260 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12690 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9257 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29514
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29505 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29512 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29513 …}
    +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 102.0 MiB 3.95 ms
Input props
[
  "product" => App\Entity\Product\Product {#8693
    #id: 1273
    #code: "savon-d-acier-deos-mastrad-428"
    #attributes: Doctrine\ORM\PersistentCollection {#8703 …}
    #variants: Doctrine\ORM\PersistentCollection {#8716 …}
    #options: Doctrine\ORM\PersistentCollection {#8707 …}
    #associations: Doctrine\ORM\PersistentCollection {#8705 …}
    #createdAt: DateTime @1758632325 {#8676
      date: 2025-09-23 20:58:45.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632325 {#8675
      date: 2025-09-23 20:58:45.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8710 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8711
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8693}
        #id: 1273
        #name: "Savon d'acier Deos Mastrad"
        #slug: "savon-d-acier-deos-mastrad-428"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Supprime les odeurs sans produit additionnel, pas de parfum.</li>\n
          <li>Inusable</li>\n
          <li>Livr&eacute; avec support.&nbsp;</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Le savon d'acier, inspiré d'une réaction chimique naturelle</h1><div class="col is-12"><p>Nous quittons momentan&eacute;ment la cuisine pour un laboratoire scientifique ! Connaissez vous l'oxydor&eacute;duction ?&nbsp; Pour faire simple, c'est une r&eacute;action chimique au cours de laquelle se produit un transfert d'&eacute;lectrons entre 2 mati&egrave;res . Donc si je frotte mes doigts sur de l'inox, les mol&eacute;cules de certains aliments &agrave; l'odeur disons tenace (ail, oignon, poisson...) vont &ecirc;tre "transf&eacute;r&eacute;es" de votre corps vers le m&eacute;tal. Bref plus d'odeurs !

Tout &ccedil;a est bien s&ucirc;r naturel ! <br /><br />Le savon d'acier n'est qu'un bloc d'acier inoxydable sans aucun contenu chimique. L'id&eacute;e vient de Mathieu Lion, fondateur de la marque Mastrad qui eut cette id&eacute;e en observant les cuisiniers professionnels se frotter les doigts sur une lame de couteau en inox. Il lui a suffit de l'adapter pour un usage m&eacute;nager et moins coupant !</p>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il s'utilise comme un savon normal. Passez vous les mains sous l'eau tout en frottant pendant 30 &agrave; 40 secondes et c'est tout ! Effet imm&eacute;diat et sans douleurs ! Son extr&eacute;mit&eacute; est sp&eacute;cialement con&ccedil;ue pour le nettoyage des ongles. Le savon Deos Mastrad est &eacute;quip&eacute; d&rsquo;un support &agrave; poser ou fixer.</div>\n
          <div><br />Il s'utilise comme un savon normal. Passez vous les mains sous l'eau tout en frottant pendant 30 &agrave; 40 secondes et c'est tout ! Effet imm&eacute;diat et sans douleurs ! Son extr&eacute;mit&eacute; est sp&eacute;cialement con&ccedil;ue pour le nettoyage des ongles. Le savon Deos Mastrad est &eacute;quip&eacute; d&rsquo;un support &agrave; poser ou fixer.</div>\n
          <p>&nbsp;</p></div><h1>Caractéristiques Savon d'acier Deos Mastrad</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mat&eacute;riau</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">100 % inox</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;">6 x 9 cm</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Usage</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">A utiliser sous un filet d'eau</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais encore</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Incassable, inusable, 100 % durable !</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;">A vie ! (seule la perte du produit n'est pas garantie)</div>\n
          <div><strong>Mat&eacute;riau</strong></div>\n
          <div>100 % inox<br /><br /></div>\n
          <div><strong>Dimensions</strong></div>\n
          <div>6 x 9 cm<br /><br /></div>\n
          <div><strong>Usage</strong></div>\n
          <div>A utiliser sous un filet d'eau<br /><br /></div>\n
          <div><strong>Mais encore</strong></div>\n
          <div>Incassable, inusable, 100 % durable !<br /><br /></div>\n
          <div><strong>Garantie</strong></div>\n
          <div>A vie ! (seule la perte du produit n'est pas garantie :)</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 {#8713 …}
    #channels: Doctrine\ORM\PersistentCollection {#8701 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8695 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8697 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8699 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29397
  +product: App\Entity\Product\Product {#8693
    #id: 1273
    #code: "savon-d-acier-deos-mastrad-428"
    #attributes: Doctrine\ORM\PersistentCollection {#8703 …}
    #variants: Doctrine\ORM\PersistentCollection {#8716 …}
    #options: Doctrine\ORM\PersistentCollection {#8707 …}
    #associations: Doctrine\ORM\PersistentCollection {#8705 …}
    #createdAt: DateTime @1758632325 {#8676
      date: 2025-09-23 20:58:45.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632325 {#8675
      date: 2025-09-23 20:58:45.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8710 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8711
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8693}
        #id: 1273
        #name: "Savon d'acier Deos Mastrad"
        #slug: "savon-d-acier-deos-mastrad-428"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Supprime les odeurs sans produit additionnel, pas de parfum.</li>\n
          <li>Inusable</li>\n
          <li>Livr&eacute; avec support.&nbsp;</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Le savon d'acier, inspiré d'une réaction chimique naturelle</h1><div class="col is-12"><p>Nous quittons momentan&eacute;ment la cuisine pour un laboratoire scientifique ! Connaissez vous l'oxydor&eacute;duction ?&nbsp; Pour faire simple, c'est une r&eacute;action chimique au cours de laquelle se produit un transfert d'&eacute;lectrons entre 2 mati&egrave;res . Donc si je frotte mes doigts sur de l'inox, les mol&eacute;cules de certains aliments &agrave; l'odeur disons tenace (ail, oignon, poisson...) vont &ecirc;tre "transf&eacute;r&eacute;es" de votre corps vers le m&eacute;tal. Bref plus d'odeurs !

Tout &ccedil;a est bien s&ucirc;r naturel ! <br /><br />Le savon d'acier n'est qu'un bloc d'acier inoxydable sans aucun contenu chimique. L'id&eacute;e vient de Mathieu Lion, fondateur de la marque Mastrad qui eut cette id&eacute;e en observant les cuisiniers professionnels se frotter les doigts sur une lame de couteau en inox. Il lui a suffit de l'adapter pour un usage m&eacute;nager et moins coupant !</p>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il s'utilise comme un savon normal. Passez vous les mains sous l'eau tout en frottant pendant 30 &agrave; 40 secondes et c'est tout ! Effet imm&eacute;diat et sans douleurs ! Son extr&eacute;mit&eacute; est sp&eacute;cialement con&ccedil;ue pour le nettoyage des ongles. Le savon Deos Mastrad est &eacute;quip&eacute; d&rsquo;un support &agrave; poser ou fixer.</div>\n
          <div><br />Il s'utilise comme un savon normal. Passez vous les mains sous l'eau tout en frottant pendant 30 &agrave; 40 secondes et c'est tout ! Effet imm&eacute;diat et sans douleurs ! Son extr&eacute;mit&eacute; est sp&eacute;cialement con&ccedil;ue pour le nettoyage des ongles. Le savon Deos Mastrad est &eacute;quip&eacute; d&rsquo;un support &agrave; poser ou fixer.</div>\n
          <p>&nbsp;</p></div><h1>Caractéristiques Savon d'acier Deos Mastrad</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mat&eacute;riau</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">100 % inox</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;">6 x 9 cm</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Usage</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">A utiliser sous un filet d'eau</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais encore</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Incassable, inusable, 100 % durable !</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;">A vie ! (seule la perte du produit n'est pas garantie)</div>\n
          <div><strong>Mat&eacute;riau</strong></div>\n
          <div>100 % inox<br /><br /></div>\n
          <div><strong>Dimensions</strong></div>\n
          <div>6 x 9 cm<br /><br /></div>\n
          <div><strong>Usage</strong></div>\n
          <div>A utiliser sous un filet d'eau<br /><br /></div>\n
          <div><strong>Mais encore</strong></div>\n
          <div>Incassable, inusable, 100 % durable !<br /><br /></div>\n
          <div><strong>Garantie</strong></div>\n
          <div>A vie ! (seule la perte du produit n'est pas garantie :)</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 {#8713 …}
    #channels: Doctrine\ORM\PersistentCollection {#8701 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8695 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8697 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8699 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8717 …}
  +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 {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.89 ms
Input props
[
  "product" => App\Entity\Product\Product {#8693
    #id: 1273
    #code: "savon-d-acier-deos-mastrad-428"
    #attributes: Doctrine\ORM\PersistentCollection {#8703 …}
    #variants: Doctrine\ORM\PersistentCollection {#8716 …}
    #options: Doctrine\ORM\PersistentCollection {#8707 …}
    #associations: Doctrine\ORM\PersistentCollection {#8705 …}
    #createdAt: DateTime @1758632325 {#8676
      date: 2025-09-23 20:58:45.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632325 {#8675
      date: 2025-09-23 20:58:45.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8710 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8711
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8693}
        #id: 1273
        #name: "Savon d'acier Deos Mastrad"
        #slug: "savon-d-acier-deos-mastrad-428"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Supprime les odeurs sans produit additionnel, pas de parfum.</li>\n
          <li>Inusable</li>\n
          <li>Livr&eacute; avec support.&nbsp;</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Le savon d'acier, inspiré d'une réaction chimique naturelle</h1><div class="col is-12"><p>Nous quittons momentan&eacute;ment la cuisine pour un laboratoire scientifique ! Connaissez vous l'oxydor&eacute;duction ?&nbsp; Pour faire simple, c'est une r&eacute;action chimique au cours de laquelle se produit un transfert d'&eacute;lectrons entre 2 mati&egrave;res . Donc si je frotte mes doigts sur de l'inox, les mol&eacute;cules de certains aliments &agrave; l'odeur disons tenace (ail, oignon, poisson...) vont &ecirc;tre "transf&eacute;r&eacute;es" de votre corps vers le m&eacute;tal. Bref plus d'odeurs !

Tout &ccedil;a est bien s&ucirc;r naturel ! <br /><br />Le savon d'acier n'est qu'un bloc d'acier inoxydable sans aucun contenu chimique. L'id&eacute;e vient de Mathieu Lion, fondateur de la marque Mastrad qui eut cette id&eacute;e en observant les cuisiniers professionnels se frotter les doigts sur une lame de couteau en inox. Il lui a suffit de l'adapter pour un usage m&eacute;nager et moins coupant !</p>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il s'utilise comme un savon normal. Passez vous les mains sous l'eau tout en frottant pendant 30 &agrave; 40 secondes et c'est tout ! Effet imm&eacute;diat et sans douleurs ! Son extr&eacute;mit&eacute; est sp&eacute;cialement con&ccedil;ue pour le nettoyage des ongles. Le savon Deos Mastrad est &eacute;quip&eacute; d&rsquo;un support &agrave; poser ou fixer.</div>\n
          <div><br />Il s'utilise comme un savon normal. Passez vous les mains sous l'eau tout en frottant pendant 30 &agrave; 40 secondes et c'est tout ! Effet imm&eacute;diat et sans douleurs ! Son extr&eacute;mit&eacute; est sp&eacute;cialement con&ccedil;ue pour le nettoyage des ongles. Le savon Deos Mastrad est &eacute;quip&eacute; d&rsquo;un support &agrave; poser ou fixer.</div>\n
          <p>&nbsp;</p></div><h1>Caractéristiques Savon d'acier Deos Mastrad</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mat&eacute;riau</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">100 % inox</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;">6 x 9 cm</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Usage</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">A utiliser sous un filet d'eau</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais encore</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Incassable, inusable, 100 % durable !</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;">A vie ! (seule la perte du produit n'est pas garantie)</div>\n
          <div><strong>Mat&eacute;riau</strong></div>\n
          <div>100 % inox<br /><br /></div>\n
          <div><strong>Dimensions</strong></div>\n
          <div>6 x 9 cm<br /><br /></div>\n
          <div><strong>Usage</strong></div>\n
          <div>A utiliser sous un filet d'eau<br /><br /></div>\n
          <div><strong>Mais encore</strong></div>\n
          <div>Incassable, inusable, 100 % durable !<br /><br /></div>\n
          <div><strong>Garantie</strong></div>\n
          <div>A vie ! (seule la perte du produit n'est pas garantie :)</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 {#8713 …}
    #channels: Doctrine\ORM\PersistentCollection {#8701 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8695 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8697 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8699 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Savon d'acier Deos Mastrad"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29634
  -props: [
    "product" => App\Entity\Product\Product {#8693
      #id: 1273
      #code: "savon-d-acier-deos-mastrad-428"
      #attributes: Doctrine\ORM\PersistentCollection {#8703 …}
      #variants: Doctrine\ORM\PersistentCollection {#8716 …}
      #options: Doctrine\ORM\PersistentCollection {#8707 …}
      #associations: Doctrine\ORM\PersistentCollection {#8705 …}
      #createdAt: DateTime @1758632325 {#8676
        date: 2025-09-23 20:58:45.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632325 {#8675
        date: 2025-09-23 20:58:45.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8710 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8711
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8693}
          #id: 1273
          #name: "Savon d'acier Deos Mastrad"
          #slug: "savon-d-acier-deos-mastrad-428"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Supprime les odeurs sans produit additionnel, pas de parfum.</li>\n
            <li>Inusable</li>\n
            <li>Livr&eacute; avec support.&nbsp;</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Le savon d'acier, inspiré d'une réaction chimique naturelle</h1><div class="col is-12"><p>Nous quittons momentan&eacute;ment la cuisine pour un laboratoire scientifique ! Connaissez vous l'oxydor&eacute;duction ?&nbsp; Pour faire simple, c'est une r&eacute;action chimique au cours de laquelle se produit un transfert d'&eacute;lectrons entre 2 mati&egrave;res . Donc si je frotte mes doigts sur de l'inox, les mol&eacute;cules de certains aliments &agrave; l'odeur disons tenace (ail, oignon, poisson...) vont &ecirc;tre "transf&eacute;r&eacute;es" de votre corps vers le m&eacute;tal. Bref plus d'odeurs !

Tout &ccedil;a est bien s&ucirc;r naturel ! <br /><br />Le savon d'acier n'est qu'un bloc d'acier inoxydable sans aucun contenu chimique. L'id&eacute;e vient de Mathieu Lion, fondateur de la marque Mastrad qui eut cette id&eacute;e en observant les cuisiniers professionnels se frotter les doigts sur une lame de couteau en inox. Il lui a suffit de l'adapter pour un usage m&eacute;nager et moins coupant !</p>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il s'utilise comme un savon normal. Passez vous les mains sous l'eau tout en frottant pendant 30 &agrave; 40 secondes et c'est tout ! Effet imm&eacute;diat et sans douleurs ! Son extr&eacute;mit&eacute; est sp&eacute;cialement con&ccedil;ue pour le nettoyage des ongles. Le savon Deos Mastrad est &eacute;quip&eacute; d&rsquo;un support &agrave; poser ou fixer.</div>\n
            <div><br />Il s'utilise comme un savon normal. Passez vous les mains sous l'eau tout en frottant pendant 30 &agrave; 40 secondes et c'est tout ! Effet imm&eacute;diat et sans douleurs ! Son extr&eacute;mit&eacute; est sp&eacute;cialement con&ccedil;ue pour le nettoyage des ongles. Le savon Deos Mastrad est &eacute;quip&eacute; d&rsquo;un support &agrave; poser ou fixer.</div>\n
            <p>&nbsp;</p></div><h1>Caractéristiques Savon d'acier Deos Mastrad</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mat&eacute;riau</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">100 % inox</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;">6 x 9 cm</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Usage</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">A utiliser sous un filet d'eau</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Mais encore</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Incassable, inusable, 100 % durable !</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;">A vie ! (seule la perte du produit n'est pas garantie)</div>\n
            <div><strong>Mat&eacute;riau</strong></div>\n
            <div>100 % inox<br /><br /></div>\n
            <div><strong>Dimensions</strong></div>\n
            <div>6 x 9 cm<br /><br /></div>\n
            <div><strong>Usage</strong></div>\n
            <div>A utiliser sous un filet d'eau<br /><br /></div>\n
            <div><strong>Mais encore</strong></div>\n
            <div>Incassable, inusable, 100 % durable !<br /><br /></div>\n
            <div><strong>Garantie</strong></div>\n
            <div>A vie ! (seule la perte du produit n'est pas garantie :)</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 {#8713 …}
      #channels: Doctrine\ORM\PersistentCollection {#8701 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8695 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8697 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8699 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.69 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29692
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29618 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29627 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29691 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8717 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8727
    #collection: Doctrine\Common\Collections\ArrayCollection {#8728 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8726 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38299 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38301 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29692
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29618 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29627 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29691 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Savon d'acier Deos Mastrad"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8727
    #collection: Doctrine\Common\Collections\ArrayCollection {#8728 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8726 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38299 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38301 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29698
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29692
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29618 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29627 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29691 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8717 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8727
      #collection: Doctrine\Common\Collections\ArrayCollection {#8728 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8726 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38299 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38301 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29748
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29739 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29746 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29747 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8717 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29751
  +variant: App\Entity\Product\ProductVariant {#8717 …}
  +price: "12,00\u{A0}"
  +originalPrice: "12,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9260 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12690 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9257 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29748
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29739 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29746 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29747 …}
    +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 102.0 MiB 3.99 ms
Input props
[
  "product" => App\Entity\Product\Product {#8733
    #id: 1157
    #code: "shaker-a-mayonnaise-mayozen-cookut-5678"
    #attributes: Doctrine\ORM\PersistentCollection {#8743 …}
    #variants: Doctrine\ORM\PersistentCollection {#8756 …}
    #options: Doctrine\ORM\PersistentCollection {#8747 …}
    #associations: Doctrine\ORM\PersistentCollection {#8745 …}
    #createdAt: DateTime @1758632314 {#8729
      date: 2025-09-23 20:58:34.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632314 {#8730
      date: 2025-09-23 20:58:34.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8750 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8751
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8733}
        #id: 1157
        #name: "Shaker à mayonnaise Mayozen Cookut"
        #slug: "shaker-a-mayonnaise-mayozen-cookut-5678"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Simple et tr&egrave;s efficace.</li>\n
          <li>Mayonnaise r&eacute;ussie &agrave; tous les coups.</li>\n
          <li>Peu importe la temp&eacute;rature des ingr&eacute;diennts.</li>\n
          <li>Plus de robot &agrave; sortir et &agrave; nettoyer.&nbsp;</li>\n
          </ul></div><h1>Description Shaker à mayonnaise Mayozen Cookut</h1><div class="col is-12">Le shaker &agrave; mayonnaise Mayozen est une v&eacute;ritable r&eacute;volution pour confectionner vos mayonnaises pr&eacute;f&eacute;r&eacute;es. Son secret ? Une petite bille en silicone alimentaire &agrave; la forme tr&egrave;s &eacute;tudi&eacute;e plac&eacute;e simplement dans un bocal en verre. Avec ce syst&egrave;me tr&egrave;s simple et &eacute;cologique (le robot devient ici inutile), vous &ecirc;tes s&ucirc;r de r&eacute;ussir votre mayonnaise &agrave; tous les coups. Ce n'est m&ecirc;me plus la peine que les ingr&eacute;dients soient &agrave; la m&ecirc;me temp&eacute;rature !<br />Il suffit de verser les ingr&eacute;dients dans le bocal en verre, de secouer quelques instants, c'est pr&ecirc;t ! La mayonnaise peut &ecirc;tre conserv&eacute;e au frigo dans le bocal. D&eacute;monstration en vid&eacute;o ci-dessus.&nbsp;</div><h1>Caractéristiques Shaker à mayonnaise Mayozen Cookut</h1><div class="col is-12">Shaker en verre. Bille silicone. Va au lave vaisselle.</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 {#8753 …}
    #channels: Doctrine\ORM\PersistentCollection {#8741 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8735 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8737 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8739 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29625
  +product: App\Entity\Product\Product {#8733
    #id: 1157
    #code: "shaker-a-mayonnaise-mayozen-cookut-5678"
    #attributes: Doctrine\ORM\PersistentCollection {#8743 …}
    #variants: Doctrine\ORM\PersistentCollection {#8756 …}
    #options: Doctrine\ORM\PersistentCollection {#8747 …}
    #associations: Doctrine\ORM\PersistentCollection {#8745 …}
    #createdAt: DateTime @1758632314 {#8729
      date: 2025-09-23 20:58:34.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632314 {#8730
      date: 2025-09-23 20:58:34.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8750 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8751
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8733}
        #id: 1157
        #name: "Shaker à mayonnaise Mayozen Cookut"
        #slug: "shaker-a-mayonnaise-mayozen-cookut-5678"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Simple et tr&egrave;s efficace.</li>\n
          <li>Mayonnaise r&eacute;ussie &agrave; tous les coups.</li>\n
          <li>Peu importe la temp&eacute;rature des ingr&eacute;diennts.</li>\n
          <li>Plus de robot &agrave; sortir et &agrave; nettoyer.&nbsp;</li>\n
          </ul></div><h1>Description Shaker à mayonnaise Mayozen Cookut</h1><div class="col is-12">Le shaker &agrave; mayonnaise Mayozen est une v&eacute;ritable r&eacute;volution pour confectionner vos mayonnaises pr&eacute;f&eacute;r&eacute;es. Son secret ? Une petite bille en silicone alimentaire &agrave; la forme tr&egrave;s &eacute;tudi&eacute;e plac&eacute;e simplement dans un bocal en verre. Avec ce syst&egrave;me tr&egrave;s simple et &eacute;cologique (le robot devient ici inutile), vous &ecirc;tes s&ucirc;r de r&eacute;ussir votre mayonnaise &agrave; tous les coups. Ce n'est m&ecirc;me plus la peine que les ingr&eacute;dients soient &agrave; la m&ecirc;me temp&eacute;rature !<br />Il suffit de verser les ingr&eacute;dients dans le bocal en verre, de secouer quelques instants, c'est pr&ecirc;t ! La mayonnaise peut &ecirc;tre conserv&eacute;e au frigo dans le bocal. D&eacute;monstration en vid&eacute;o ci-dessus.&nbsp;</div><h1>Caractéristiques Shaker à mayonnaise Mayozen Cookut</h1><div class="col is-12">Shaker en verre. Bille silicone. Va au lave vaisselle.</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 {#8753 …}
    #channels: Doctrine\ORM\PersistentCollection {#8741 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8735 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8737 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8739 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8757 …}
  +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 {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.88 ms
Input props
[
  "product" => App\Entity\Product\Product {#8733
    #id: 1157
    #code: "shaker-a-mayonnaise-mayozen-cookut-5678"
    #attributes: Doctrine\ORM\PersistentCollection {#8743 …}
    #variants: Doctrine\ORM\PersistentCollection {#8756 …}
    #options: Doctrine\ORM\PersistentCollection {#8747 …}
    #associations: Doctrine\ORM\PersistentCollection {#8745 …}
    #createdAt: DateTime @1758632314 {#8729
      date: 2025-09-23 20:58:34.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632314 {#8730
      date: 2025-09-23 20:58:34.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8750 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8751
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8733}
        #id: 1157
        #name: "Shaker à mayonnaise Mayozen Cookut"
        #slug: "shaker-a-mayonnaise-mayozen-cookut-5678"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Simple et tr&egrave;s efficace.</li>\n
          <li>Mayonnaise r&eacute;ussie &agrave; tous les coups.</li>\n
          <li>Peu importe la temp&eacute;rature des ingr&eacute;diennts.</li>\n
          <li>Plus de robot &agrave; sortir et &agrave; nettoyer.&nbsp;</li>\n
          </ul></div><h1>Description Shaker à mayonnaise Mayozen Cookut</h1><div class="col is-12">Le shaker &agrave; mayonnaise Mayozen est une v&eacute;ritable r&eacute;volution pour confectionner vos mayonnaises pr&eacute;f&eacute;r&eacute;es. Son secret ? Une petite bille en silicone alimentaire &agrave; la forme tr&egrave;s &eacute;tudi&eacute;e plac&eacute;e simplement dans un bocal en verre. Avec ce syst&egrave;me tr&egrave;s simple et &eacute;cologique (le robot devient ici inutile), vous &ecirc;tes s&ucirc;r de r&eacute;ussir votre mayonnaise &agrave; tous les coups. Ce n'est m&ecirc;me plus la peine que les ingr&eacute;dients soient &agrave; la m&ecirc;me temp&eacute;rature !<br />Il suffit de verser les ingr&eacute;dients dans le bocal en verre, de secouer quelques instants, c'est pr&ecirc;t ! La mayonnaise peut &ecirc;tre conserv&eacute;e au frigo dans le bocal. D&eacute;monstration en vid&eacute;o ci-dessus.&nbsp;</div><h1>Caractéristiques Shaker à mayonnaise Mayozen Cookut</h1><div class="col is-12">Shaker en verre. Bille silicone. Va au lave vaisselle.</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 {#8753 …}
    #channels: Doctrine\ORM\PersistentCollection {#8741 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8735 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8737 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8739 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Shaker à mayonnaise Mayozen Cookut"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29868
  -props: [
    "product" => App\Entity\Product\Product {#8733
      #id: 1157
      #code: "shaker-a-mayonnaise-mayozen-cookut-5678"
      #attributes: Doctrine\ORM\PersistentCollection {#8743 …}
      #variants: Doctrine\ORM\PersistentCollection {#8756 …}
      #options: Doctrine\ORM\PersistentCollection {#8747 …}
      #associations: Doctrine\ORM\PersistentCollection {#8745 …}
      #createdAt: DateTime @1758632314 {#8729
        date: 2025-09-23 20:58:34.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632314 {#8730
        date: 2025-09-23 20:58:34.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8750 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8751
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8733}
          #id: 1157
          #name: "Shaker à mayonnaise Mayozen Cookut"
          #slug: "shaker-a-mayonnaise-mayozen-cookut-5678"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Simple et tr&egrave;s efficace.</li>\n
            <li>Mayonnaise r&eacute;ussie &agrave; tous les coups.</li>\n
            <li>Peu importe la temp&eacute;rature des ingr&eacute;diennts.</li>\n
            <li>Plus de robot &agrave; sortir et &agrave; nettoyer.&nbsp;</li>\n
            </ul></div><h1>Description Shaker à mayonnaise Mayozen Cookut</h1><div class="col is-12">Le shaker &agrave; mayonnaise Mayozen est une v&eacute;ritable r&eacute;volution pour confectionner vos mayonnaises pr&eacute;f&eacute;r&eacute;es. Son secret ? Une petite bille en silicone alimentaire &agrave; la forme tr&egrave;s &eacute;tudi&eacute;e plac&eacute;e simplement dans un bocal en verre. Avec ce syst&egrave;me tr&egrave;s simple et &eacute;cologique (le robot devient ici inutile), vous &ecirc;tes s&ucirc;r de r&eacute;ussir votre mayonnaise &agrave; tous les coups. Ce n'est m&ecirc;me plus la peine que les ingr&eacute;dients soient &agrave; la m&ecirc;me temp&eacute;rature !<br />Il suffit de verser les ingr&eacute;dients dans le bocal en verre, de secouer quelques instants, c'est pr&ecirc;t ! La mayonnaise peut &ecirc;tre conserv&eacute;e au frigo dans le bocal. D&eacute;monstration en vid&eacute;o ci-dessus.&nbsp;</div><h1>Caractéristiques Shaker à mayonnaise Mayozen Cookut</h1><div class="col is-12">Shaker en verre. Bille silicone. Va au lave vaisselle.</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 {#8753 …}
      #channels: Doctrine\ORM\PersistentCollection {#8741 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8735 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8737 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8739 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.71 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29926
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29852 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29861 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29925 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8757 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8767
    #collection: Doctrine\Common\Collections\ArrayCollection {#8768 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8766 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38313 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38315 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29926
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29852 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29861 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29925 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Shaker à mayonnaise Mayozen Cookut"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8767
    #collection: Doctrine\Common\Collections\ArrayCollection {#8768 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8766 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38313 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38315 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29932
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29926
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29852 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29861 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29925 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8757 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8767
      #collection: Doctrine\Common\Collections\ArrayCollection {#8768 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8766 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38313 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38315 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29982
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29973 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29980 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29981 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8757 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29985
  +variant: App\Entity\Product\ProductVariant {#8757 …}
  +price: "14,00\u{A0}"
  +originalPrice: "14,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9260 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12690 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9257 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29982
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29973 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29980 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29981 …}
    +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 102.0 MiB 3.99 ms
Input props
[
  "product" => App\Entity\Product\Product {#8773
    #id: 2123
    #code: "creazy-shaker-a-chantilly-5266"
    #attributes: Doctrine\ORM\PersistentCollection {#8783 …}
    #variants: Doctrine\ORM\PersistentCollection {#8796 …}
    #options: Doctrine\ORM\PersistentCollection {#8787 …}
    #associations: Doctrine\ORM\PersistentCollection {#8785 …}
    #createdAt: DateTime @1758632462 {#8769
      date: 2025-09-23 21:01:02.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632462 {#8770
      date: 2025-09-23 21:01:02.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8790 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8791
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8773}
        #id: 2123
        #name: "Creazy Shaker à chantilly"
        #slug: "creazy-shaker-a-chantilly-5266"
        #description: """
          <div class="col is-12"><ul>\n
          <li>La fa&ccedil;on la plus simple de faire de la chantilly.</li>\n
          <li>Ecologique, sans cartouche de CO2 ni &eacute;lectricit&eacute;.</li>\n
          <li>Economique.</li>\n
          </ul></div><h1>Description Creazy Shaker à chantilly</h1><div class="col is-12">Creazy se compose d'un bocal en verre et de 3 billes pour pouvoir r&eacute;aliser le plus simplement du monde une d&eacute;licieuse chantilly maison. Il suffit de placer dans le bocal de la cr&egrave;me et du sucre, de secouer pendant une minute, c'est pr&ecirc;t ! Le secret du syst&egrave;me r&eacute;side dans la forme tr&egrave;s &eacute;tudi&eacute;e des billes silicone capable de cr&eacute;er une &eacute;mulsion parfaite pour obtenir une chantilly bien ferme. Celle-ci peut ensuite &ecirc;tre conserv&eacute;e dans le bocal plac&eacute; au r&eacute;frig&eacute;rateur.</div><h1>Caractéristiques Creazy Shaker à chantilly</h1><div class="col is-12">Bocal en verre gradu&eacute;. 3 billes en silicone. Garantie 2 ans.</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 {#8793 …}
    #channels: Doctrine\ORM\PersistentCollection {#8781 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8775 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8777 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8779 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29859
  +product: App\Entity\Product\Product {#8773
    #id: 2123
    #code: "creazy-shaker-a-chantilly-5266"
    #attributes: Doctrine\ORM\PersistentCollection {#8783 …}
    #variants: Doctrine\ORM\PersistentCollection {#8796 …}
    #options: Doctrine\ORM\PersistentCollection {#8787 …}
    #associations: Doctrine\ORM\PersistentCollection {#8785 …}
    #createdAt: DateTime @1758632462 {#8769
      date: 2025-09-23 21:01:02.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632462 {#8770
      date: 2025-09-23 21:01:02.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8790 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8791
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8773}
        #id: 2123
        #name: "Creazy Shaker à chantilly"
        #slug: "creazy-shaker-a-chantilly-5266"
        #description: """
          <div class="col is-12"><ul>\n
          <li>La fa&ccedil;on la plus simple de faire de la chantilly.</li>\n
          <li>Ecologique, sans cartouche de CO2 ni &eacute;lectricit&eacute;.</li>\n
          <li>Economique.</li>\n
          </ul></div><h1>Description Creazy Shaker à chantilly</h1><div class="col is-12">Creazy se compose d'un bocal en verre et de 3 billes pour pouvoir r&eacute;aliser le plus simplement du monde une d&eacute;licieuse chantilly maison. Il suffit de placer dans le bocal de la cr&egrave;me et du sucre, de secouer pendant une minute, c'est pr&ecirc;t ! Le secret du syst&egrave;me r&eacute;side dans la forme tr&egrave;s &eacute;tudi&eacute;e des billes silicone capable de cr&eacute;er une &eacute;mulsion parfaite pour obtenir une chantilly bien ferme. Celle-ci peut ensuite &ecirc;tre conserv&eacute;e dans le bocal plac&eacute; au r&eacute;frig&eacute;rateur.</div><h1>Caractéristiques Creazy Shaker à chantilly</h1><div class="col is-12">Bocal en verre gradu&eacute;. 3 billes en silicone. Garantie 2 ans.</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 {#8793 …}
    #channels: Doctrine\ORM\PersistentCollection {#8781 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8775 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8777 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8779 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8797 …}
  +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 {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.92 ms
Input props
[
  "product" => App\Entity\Product\Product {#8773
    #id: 2123
    #code: "creazy-shaker-a-chantilly-5266"
    #attributes: Doctrine\ORM\PersistentCollection {#8783 …}
    #variants: Doctrine\ORM\PersistentCollection {#8796 …}
    #options: Doctrine\ORM\PersistentCollection {#8787 …}
    #associations: Doctrine\ORM\PersistentCollection {#8785 …}
    #createdAt: DateTime @1758632462 {#8769
      date: 2025-09-23 21:01:02.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632462 {#8770
      date: 2025-09-23 21:01:02.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8790 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8791
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8773}
        #id: 2123
        #name: "Creazy Shaker à chantilly"
        #slug: "creazy-shaker-a-chantilly-5266"
        #description: """
          <div class="col is-12"><ul>\n
          <li>La fa&ccedil;on la plus simple de faire de la chantilly.</li>\n
          <li>Ecologique, sans cartouche de CO2 ni &eacute;lectricit&eacute;.</li>\n
          <li>Economique.</li>\n
          </ul></div><h1>Description Creazy Shaker à chantilly</h1><div class="col is-12">Creazy se compose d'un bocal en verre et de 3 billes pour pouvoir r&eacute;aliser le plus simplement du monde une d&eacute;licieuse chantilly maison. Il suffit de placer dans le bocal de la cr&egrave;me et du sucre, de secouer pendant une minute, c'est pr&ecirc;t ! Le secret du syst&egrave;me r&eacute;side dans la forme tr&egrave;s &eacute;tudi&eacute;e des billes silicone capable de cr&eacute;er une &eacute;mulsion parfaite pour obtenir une chantilly bien ferme. Celle-ci peut ensuite &ecirc;tre conserv&eacute;e dans le bocal plac&eacute; au r&eacute;frig&eacute;rateur.</div><h1>Caractéristiques Creazy Shaker à chantilly</h1><div class="col is-12">Bocal en verre gradu&eacute;. 3 billes en silicone. Garantie 2 ans.</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 {#8793 …}
    #channels: Doctrine\ORM\PersistentCollection {#8781 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8775 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8777 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8779 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Creazy Shaker à chantilly"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30102
  -props: [
    "product" => App\Entity\Product\Product {#8773
      #id: 2123
      #code: "creazy-shaker-a-chantilly-5266"
      #attributes: Doctrine\ORM\PersistentCollection {#8783 …}
      #variants: Doctrine\ORM\PersistentCollection {#8796 …}
      #options: Doctrine\ORM\PersistentCollection {#8787 …}
      #associations: Doctrine\ORM\PersistentCollection {#8785 …}
      #createdAt: DateTime @1758632462 {#8769
        date: 2025-09-23 21:01:02.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632462 {#8770
        date: 2025-09-23 21:01:02.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8790 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8791
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8773}
          #id: 2123
          #name: "Creazy Shaker à chantilly"
          #slug: "creazy-shaker-a-chantilly-5266"
          #description: """
            <div class="col is-12"><ul>\n
            <li>La fa&ccedil;on la plus simple de faire de la chantilly.</li>\n
            <li>Ecologique, sans cartouche de CO2 ni &eacute;lectricit&eacute;.</li>\n
            <li>Economique.</li>\n
            </ul></div><h1>Description Creazy Shaker à chantilly</h1><div class="col is-12">Creazy se compose d'un bocal en verre et de 3 billes pour pouvoir r&eacute;aliser le plus simplement du monde une d&eacute;licieuse chantilly maison. Il suffit de placer dans le bocal de la cr&egrave;me et du sucre, de secouer pendant une minute, c'est pr&ecirc;t ! Le secret du syst&egrave;me r&eacute;side dans la forme tr&egrave;s &eacute;tudi&eacute;e des billes silicone capable de cr&eacute;er une &eacute;mulsion parfaite pour obtenir une chantilly bien ferme. Celle-ci peut ensuite &ecirc;tre conserv&eacute;e dans le bocal plac&eacute; au r&eacute;frig&eacute;rateur.</div><h1>Caractéristiques Creazy Shaker à chantilly</h1><div class="col is-12">Bocal en verre gradu&eacute;. 3 billes en silicone. Garantie 2 ans.</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 {#8793 …}
      #channels: Doctrine\ORM\PersistentCollection {#8781 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8775 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8777 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8779 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.70 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30154
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30086 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30095 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30153 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8797 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8807
    #collection: Doctrine\Common\Collections\ArrayCollection {#8808 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8806 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38327 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38329 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30154
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30086 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30095 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30153 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Creazy Shaker à chantilly"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8807
    #collection: Doctrine\Common\Collections\ArrayCollection {#8808 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8806 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38327 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38329 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30160
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30154
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30086 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30095 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30153 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8797 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8807
      #collection: Doctrine\Common\Collections\ArrayCollection {#8808 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8806 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38327 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38329 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30210
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30201 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30208 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30209 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8797 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30213
  +variant: App\Entity\Product\ProductVariant {#8797 …}
  +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 {#9260 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12690 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9257 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30210
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30201 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30208 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30209 …}
    +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 102.0 MiB 3.96 ms
Input props
[
  "product" => App\Entity\Product\Product {#8813
    #id: 2566
    #code: "tire-bouchon-a-air-vin-bouquet-6122"
    #attributes: Doctrine\ORM\PersistentCollection {#8823 …}
    #variants: Doctrine\ORM\PersistentCollection {#8836 …}
    #options: Doctrine\ORM\PersistentCollection {#8827 …}
    #associations: Doctrine\ORM\PersistentCollection {#8825 …}
    #createdAt: DateTime @1758632577 {#8809
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#8810
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8830 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8831
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8813}
        #id: 2566
        #name: "Tire Bouchon à Air Vin Bouquet"
        #slug: "tire-bouchon-a-air-vin-bouquet-6122"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Simple et rapide.</li>\n
          <li>Sans efforts.</li>\n
          <li><strong>Ne doit pas &ecirc;tre utilis&eacute; avec des vins effervescents ou du Champagne.</strong></li>\n
          </ul></div><h1>Descriptif Tire Bouchon à Air Vin Bouquet</h1><div class="col is-12">Le Tire Bouchon &agrave; Air Vin Bouquet est&nbsp;&eacute;quip&eacute; d'une aiguille creuse permettant d'injecter de l'air dans la bouteille afin d'extraite le bouchon par surpression. Quelques actions de pompage suffisent &agrave; produire suffisament de pression &agrave; l'int&eacute;rieur de la bouteille pour que le bouchon soit &eacute;jecter. Cet ustensile ne doit pas &ecirc;tre utilis&eacute; avec des vins effervescents ou du Champagne.</div><h1>Caractéristiques Tire Bouchon à Air Vin Bouquet</h1><div class="col is-12">- Diam&egrave;tre : 4,7 cm.<br />- Hauteur : 19,3 cm.</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 {#8833 …}
    #channels: Doctrine\ORM\PersistentCollection {#8821 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8817 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8819 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30093
  +product: App\Entity\Product\Product {#8813
    #id: 2566
    #code: "tire-bouchon-a-air-vin-bouquet-6122"
    #attributes: Doctrine\ORM\PersistentCollection {#8823 …}
    #variants: Doctrine\ORM\PersistentCollection {#8836 …}
    #options: Doctrine\ORM\PersistentCollection {#8827 …}
    #associations: Doctrine\ORM\PersistentCollection {#8825 …}
    #createdAt: DateTime @1758632577 {#8809
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#8810
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8830 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8831
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8813}
        #id: 2566
        #name: "Tire Bouchon à Air Vin Bouquet"
        #slug: "tire-bouchon-a-air-vin-bouquet-6122"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Simple et rapide.</li>\n
          <li>Sans efforts.</li>\n
          <li><strong>Ne doit pas &ecirc;tre utilis&eacute; avec des vins effervescents ou du Champagne.</strong></li>\n
          </ul></div><h1>Descriptif Tire Bouchon à Air Vin Bouquet</h1><div class="col is-12">Le Tire Bouchon &agrave; Air Vin Bouquet est&nbsp;&eacute;quip&eacute; d'une aiguille creuse permettant d'injecter de l'air dans la bouteille afin d'extraite le bouchon par surpression. Quelques actions de pompage suffisent &agrave; produire suffisament de pression &agrave; l'int&eacute;rieur de la bouteille pour que le bouchon soit &eacute;jecter. Cet ustensile ne doit pas &ecirc;tre utilis&eacute; avec des vins effervescents ou du Champagne.</div><h1>Caractéristiques Tire Bouchon à Air Vin Bouquet</h1><div class="col is-12">- Diam&egrave;tre : 4,7 cm.<br />- Hauteur : 19,3 cm.</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 {#8833 …}
    #channels: Doctrine\ORM\PersistentCollection {#8821 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8817 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8819 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8837 …}
  +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 {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.84 ms
Input props
[
  "product" => App\Entity\Product\Product {#8813
    #id: 2566
    #code: "tire-bouchon-a-air-vin-bouquet-6122"
    #attributes: Doctrine\ORM\PersistentCollection {#8823 …}
    #variants: Doctrine\ORM\PersistentCollection {#8836 …}
    #options: Doctrine\ORM\PersistentCollection {#8827 …}
    #associations: Doctrine\ORM\PersistentCollection {#8825 …}
    #createdAt: DateTime @1758632577 {#8809
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#8810
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8830 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8831
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8813}
        #id: 2566
        #name: "Tire Bouchon à Air Vin Bouquet"
        #slug: "tire-bouchon-a-air-vin-bouquet-6122"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Simple et rapide.</li>\n
          <li>Sans efforts.</li>\n
          <li><strong>Ne doit pas &ecirc;tre utilis&eacute; avec des vins effervescents ou du Champagne.</strong></li>\n
          </ul></div><h1>Descriptif Tire Bouchon à Air Vin Bouquet</h1><div class="col is-12">Le Tire Bouchon &agrave; Air Vin Bouquet est&nbsp;&eacute;quip&eacute; d'une aiguille creuse permettant d'injecter de l'air dans la bouteille afin d'extraite le bouchon par surpression. Quelques actions de pompage suffisent &agrave; produire suffisament de pression &agrave; l'int&eacute;rieur de la bouteille pour que le bouchon soit &eacute;jecter. Cet ustensile ne doit pas &ecirc;tre utilis&eacute; avec des vins effervescents ou du Champagne.</div><h1>Caractéristiques Tire Bouchon à Air Vin Bouquet</h1><div class="col is-12">- Diam&egrave;tre : 4,7 cm.<br />- Hauteur : 19,3 cm.</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 {#8833 …}
    #channels: Doctrine\ORM\PersistentCollection {#8821 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8817 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8819 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Tire Bouchon à Air Vin Bouquet"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30330
  -props: [
    "product" => App\Entity\Product\Product {#8813
      #id: 2566
      #code: "tire-bouchon-a-air-vin-bouquet-6122"
      #attributes: Doctrine\ORM\PersistentCollection {#8823 …}
      #variants: Doctrine\ORM\PersistentCollection {#8836 …}
      #options: Doctrine\ORM\PersistentCollection {#8827 …}
      #associations: Doctrine\ORM\PersistentCollection {#8825 …}
      #createdAt: DateTime @1758632577 {#8809
        date: 2025-09-23 21:02:57.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632577 {#8810
        date: 2025-09-23 21:02:57.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8830 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8831
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8813}
          #id: 2566
          #name: "Tire Bouchon à Air Vin Bouquet"
          #slug: "tire-bouchon-a-air-vin-bouquet-6122"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Simple et rapide.</li>\n
            <li>Sans efforts.</li>\n
            <li><strong>Ne doit pas &ecirc;tre utilis&eacute; avec des vins effervescents ou du Champagne.</strong></li>\n
            </ul></div><h1>Descriptif Tire Bouchon à Air Vin Bouquet</h1><div class="col is-12">Le Tire Bouchon &agrave; Air Vin Bouquet est&nbsp;&eacute;quip&eacute; d'une aiguille creuse permettant d'injecter de l'air dans la bouteille afin d'extraite le bouchon par surpression. Quelques actions de pompage suffisent &agrave; produire suffisament de pression &agrave; l'int&eacute;rieur de la bouteille pour que le bouchon soit &eacute;jecter. Cet ustensile ne doit pas &ecirc;tre utilis&eacute; avec des vins effervescents ou du Champagne.</div><h1>Caractéristiques Tire Bouchon à Air Vin Bouquet</h1><div class="col is-12">- Diam&egrave;tre : 4,7 cm.<br />- Hauteur : 19,3 cm.</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 {#8833 …}
      #channels: Doctrine\ORM\PersistentCollection {#8821 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8817 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8819 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.71 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30385
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30314 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30323 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30384 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8837 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8847
    #collection: Doctrine\Common\Collections\ArrayCollection {#8848 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8846 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38341 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38343 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30385
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30314 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30323 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30384 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Tire Bouchon à Air Vin Bouquet"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8847
    #collection: Doctrine\Common\Collections\ArrayCollection {#8848 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8846 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38341 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38343 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30391
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30385
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30314 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30323 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30384 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8837 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8847
      #collection: Doctrine\Common\Collections\ArrayCollection {#8848 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8846 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38341 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38343 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30441
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30432 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30439 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30440 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8837 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30444
  +variant: App\Entity\Product\ProductVariant {#8837 …}
  +price: "16,00\u{A0}"
  +originalPrice: "16,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9260 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12690 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9257 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30441
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30432 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30439 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30440 …}
    +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 102.0 MiB 3.96 ms
Input props
[
  "product" => App\Entity\Product\Product {#8853
    #id: 2721
    #code: "gourde-traveller-sigg-alu-7004"
    #attributes: Doctrine\ORM\PersistentCollection {#8860 …}
    #variants: Doctrine\ORM\PersistentCollection {#8873 …}
    #options: Doctrine\ORM\PersistentCollection {#8864 …}
    #associations: Doctrine\ORM\PersistentCollection {#8862 …}
    #createdAt: DateTime @1758632636 {#8849
      date: 2025-09-23 21:03:56.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632636 {#8850
      date: 2025-09-23 21:03:56.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8867 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8868
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8853}
        #id: 2721
        #name: "Gourde Traveller Sigg Alu"
        #slug: "gourde-traveller-sigg-alu-7004"
        #description: """
          <div class="col is-12"><div>\n
          <ul>\n
          <li>L&eacute;g&egrave;re et incassable.</li>\n
          <li>Recyclable.</li>\n
          <li>Sans produit chimique dangereux pour la sant&eacute;.</li>\n
          <li><strong>Fabriqu&eacute;e en Suisse.</strong></li>\n
          </ul>\n
          </div>\n
          <ul>\n
          </ul></div><h1>Descriptif Gourde Traveller Sigg Alu</h1><div class="col is-12">Mod&egrave;le embl&eacute;matique, la Gourde Traveller Sigg Alu a une forme reconnaissable entre 1000. Fabriqu&eacute;e &agrave; partir d'une galette d'aluminium, elle est form&eacute;e d'une seule pi&egrave;ce, sans soudure ! Elle b&eacute;n&eacute;ficie de tout le savoir faire plus que centenaire de la soci&eacute;t&eacute; Sigg. Cette gourde d'hydratation allie l&eacute;g&egrave;ret&eacute; et robustesse. Elle conviendra aussi bien aux sportifs qu'aux non sportifs. En randonn&eacute;e, pour un pique-nique ou pour une utilisation quotidienne, la Gourde Traveller Sigg Alu&nbsp;sera toujours &agrave; port&eacute;e de main. Son bouchon viss&eacute; avec anneau est tr&egrave;s facile &agrave; manipuler et garantit une parfaite &eacute;tanch&eacute;it&eacute;. Le goulot est particuli&egrave;rement ergonomique et confortable. Agr&eacute;able au toucher, la peinture ext&eacute;rieure r&eacute;siste particuli&egrave;rement bien aux uvs, et aux chocs. A utiliser pour boissons froides ou temp&eacute;r&eacute;es.<br /><br />Si vous cherchez une alternative aux bouteilles en plastique, avec la gourde Traveler Sigg, vous l'avez trouv&eacute;e ! Si on compare l'empreinte carbone de cette gourde avec une bouteille en plastique, elle &eacute;met 140 fois moins de co2 sur une dur&eacute;e de 5 ans. Sans compter que tout a &eacute;t&eacute; pens&eacute; pour une parfaite s&eacute;curit&eacute; alimentaire. L'eau n'est jamais en contact avec l'aluminium car l'int&eacute;rieur est enti&egrave;rement rev&ecirc;tu d'un rev&ecirc;tement "eco-neutre" sans BPA, sans COV et sans phtalates garantissant un go&ucirc;t neutre. Ce rev&ecirc;tement r&eacute;siste en outre aux acides de fruits comme aux boissons isotoniques. Bien mieux qu'une bouteille en plastique ! De plus, elle est enti&egrave;rement recyclable.&nbsp;<br /><br />\n
          <div>Avec ses nombreux coloris disponibles alliant classe et gaiet&eacute;, vous trouverez facilement une gourde Traveler Sigg &agrave; votre go&ucirc;t !<br />\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Gourde Aluminium Traveller SIGG</div>\n
          </div></div><h1>Caractéristiques Gourde Traveller Sigg Alu</h1><div class="col is-12">- Aluminium 1000 serie pure &agrave; 99% ( l&eacute;ger, r&eacute;sistant &agrave; la corrosion, inalt&eacute;rable, r&eacute;sistant aux UV, r&eacute;duction de l'empreinte carbone due au transport )<br />- Rev&ecirc;tement int&eacute;rieur en polyester pour un go&ucirc;t neutre sans BPA, COV, phtalates et autres composants toxiques.<br />- Compatible avec les boissons gazeuses.<br />- Peinture ext&eacute;rieure et d&eacute;coration de grande qualit&eacute;, durable et r&eacute;sistante aux UV, &agrave; la transpiration et au savon\n
          <div>- Bonchon en polypropyl&egrave;ne &agrave; vis pour une &eacute;tanch&eacute;it&eacute; parfaite.<br />- Goulot avec finition arrondie pour la s&eacute;curit&eacute; et le confort d'utilisation</div>\n
          <div>- Contenance : 0,6 litre.<br />- Diam&egrave;tre : 7 cm.<br />- Hauteur : 22 cm.<br />- Poids : 107 grammes<br />- Fabrication Suisse.<br /><br />\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Pr&eacute;cautions d'utilisation : Ne pas placer au cong&eacute;lateur, cependant la gourde peut &ecirc;tre plac&eacute;e au r&eacute;frig&eacute;rateur. Ne pas placer au four &agrave; micro ondes. Lavez toujours votre bouteille SIGG &agrave; la main. Rincez votre bouteille et son bouchon &agrave; l'eau chaude apr&egrave;s chaque utilisation. Laissez les s&eacute;cher et conservez les s&eacute;par&eacute;ment (bouteille et bouchon).</div>\n
          <div>- Pr&eacute;cautions d'utilisation : Peut &ecirc;tre plac&eacute;e au r&eacute;frig&eacute;rateur mais pas au cong&eacute;lateur. Ne pas placer au four &agrave; micro ondes et lave vaisselle. Lavez toujours votre bouteille SIGG &agrave; la main. Rincez votre bouteille et son bouchon &agrave; l'eau chaude apr&egrave;s chaque utilisation. Laissez les s&eacute;cher et conservez les s&eacute;par&eacute;ment (bouteille et bouchon).</div>\n
          </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 {#8870 …}
    #channels: Doctrine\ORM\PersistentCollection {#8858 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8854 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8856 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30321
  +product: App\Entity\Product\Product {#8853
    #id: 2721
    #code: "gourde-traveller-sigg-alu-7004"
    #attributes: Doctrine\ORM\PersistentCollection {#8860 …}
    #variants: Doctrine\ORM\PersistentCollection {#8873 …}
    #options: Doctrine\ORM\PersistentCollection {#8864 …}
    #associations: Doctrine\ORM\PersistentCollection {#8862 …}
    #createdAt: DateTime @1758632636 {#8849
      date: 2025-09-23 21:03:56.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632636 {#8850
      date: 2025-09-23 21:03:56.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8867 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8868
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8853}
        #id: 2721
        #name: "Gourde Traveller Sigg Alu"
        #slug: "gourde-traveller-sigg-alu-7004"
        #description: """
          <div class="col is-12"><div>\n
          <ul>\n
          <li>L&eacute;g&egrave;re et incassable.</li>\n
          <li>Recyclable.</li>\n
          <li>Sans produit chimique dangereux pour la sant&eacute;.</li>\n
          <li><strong>Fabriqu&eacute;e en Suisse.</strong></li>\n
          </ul>\n
          </div>\n
          <ul>\n
          </ul></div><h1>Descriptif Gourde Traveller Sigg Alu</h1><div class="col is-12">Mod&egrave;le embl&eacute;matique, la Gourde Traveller Sigg Alu a une forme reconnaissable entre 1000. Fabriqu&eacute;e &agrave; partir d'une galette d'aluminium, elle est form&eacute;e d'une seule pi&egrave;ce, sans soudure ! Elle b&eacute;n&eacute;ficie de tout le savoir faire plus que centenaire de la soci&eacute;t&eacute; Sigg. Cette gourde d'hydratation allie l&eacute;g&egrave;ret&eacute; et robustesse. Elle conviendra aussi bien aux sportifs qu'aux non sportifs. En randonn&eacute;e, pour un pique-nique ou pour une utilisation quotidienne, la Gourde Traveller Sigg Alu&nbsp;sera toujours &agrave; port&eacute;e de main. Son bouchon viss&eacute; avec anneau est tr&egrave;s facile &agrave; manipuler et garantit une parfaite &eacute;tanch&eacute;it&eacute;. Le goulot est particuli&egrave;rement ergonomique et confortable. Agr&eacute;able au toucher, la peinture ext&eacute;rieure r&eacute;siste particuli&egrave;rement bien aux uvs, et aux chocs. A utiliser pour boissons froides ou temp&eacute;r&eacute;es.<br /><br />Si vous cherchez une alternative aux bouteilles en plastique, avec la gourde Traveler Sigg, vous l'avez trouv&eacute;e ! Si on compare l'empreinte carbone de cette gourde avec une bouteille en plastique, elle &eacute;met 140 fois moins de co2 sur une dur&eacute;e de 5 ans. Sans compter que tout a &eacute;t&eacute; pens&eacute; pour une parfaite s&eacute;curit&eacute; alimentaire. L'eau n'est jamais en contact avec l'aluminium car l'int&eacute;rieur est enti&egrave;rement rev&ecirc;tu d'un rev&ecirc;tement "eco-neutre" sans BPA, sans COV et sans phtalates garantissant un go&ucirc;t neutre. Ce rev&ecirc;tement r&eacute;siste en outre aux acides de fruits comme aux boissons isotoniques. Bien mieux qu'une bouteille en plastique ! De plus, elle est enti&egrave;rement recyclable.&nbsp;<br /><br />\n
          <div>Avec ses nombreux coloris disponibles alliant classe et gaiet&eacute;, vous trouverez facilement une gourde Traveler Sigg &agrave; votre go&ucirc;t !<br />\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Gourde Aluminium Traveller SIGG</div>\n
          </div></div><h1>Caractéristiques Gourde Traveller Sigg Alu</h1><div class="col is-12">- Aluminium 1000 serie pure &agrave; 99% ( l&eacute;ger, r&eacute;sistant &agrave; la corrosion, inalt&eacute;rable, r&eacute;sistant aux UV, r&eacute;duction de l'empreinte carbone due au transport )<br />- Rev&ecirc;tement int&eacute;rieur en polyester pour un go&ucirc;t neutre sans BPA, COV, phtalates et autres composants toxiques.<br />- Compatible avec les boissons gazeuses.<br />- Peinture ext&eacute;rieure et d&eacute;coration de grande qualit&eacute;, durable et r&eacute;sistante aux UV, &agrave; la transpiration et au savon\n
          <div>- Bonchon en polypropyl&egrave;ne &agrave; vis pour une &eacute;tanch&eacute;it&eacute; parfaite.<br />- Goulot avec finition arrondie pour la s&eacute;curit&eacute; et le confort d'utilisation</div>\n
          <div>- Contenance : 0,6 litre.<br />- Diam&egrave;tre : 7 cm.<br />- Hauteur : 22 cm.<br />- Poids : 107 grammes<br />- Fabrication Suisse.<br /><br />\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Pr&eacute;cautions d'utilisation : Ne pas placer au cong&eacute;lateur, cependant la gourde peut &ecirc;tre plac&eacute;e au r&eacute;frig&eacute;rateur. Ne pas placer au four &agrave; micro ondes. Lavez toujours votre bouteille SIGG &agrave; la main. Rincez votre bouteille et son bouchon &agrave; l'eau chaude apr&egrave;s chaque utilisation. Laissez les s&eacute;cher et conservez les s&eacute;par&eacute;ment (bouteille et bouchon).</div>\n
          <div>- Pr&eacute;cautions d'utilisation : Peut &ecirc;tre plac&eacute;e au r&eacute;frig&eacute;rateur mais pas au cong&eacute;lateur. Ne pas placer au four &agrave; micro ondes et lave vaisselle. Lavez toujours votre bouteille SIGG &agrave; la main. Rincez votre bouteille et son bouchon &agrave; l'eau chaude apr&egrave;s chaque utilisation. Laissez les s&eacute;cher et conservez les s&eacute;par&eacute;ment (bouteille et bouchon).</div>\n
          </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 {#8870 …}
    #channels: Doctrine\ORM\PersistentCollection {#8858 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8854 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8856 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8874 …}
  +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 {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.85 ms
Input props
[
  "product" => App\Entity\Product\Product {#8853
    #id: 2721
    #code: "gourde-traveller-sigg-alu-7004"
    #attributes: Doctrine\ORM\PersistentCollection {#8860 …}
    #variants: Doctrine\ORM\PersistentCollection {#8873 …}
    #options: Doctrine\ORM\PersistentCollection {#8864 …}
    #associations: Doctrine\ORM\PersistentCollection {#8862 …}
    #createdAt: DateTime @1758632636 {#8849
      date: 2025-09-23 21:03:56.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632636 {#8850
      date: 2025-09-23 21:03:56.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8867 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8868
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8853}
        #id: 2721
        #name: "Gourde Traveller Sigg Alu"
        #slug: "gourde-traveller-sigg-alu-7004"
        #description: """
          <div class="col is-12"><div>\n
          <ul>\n
          <li>L&eacute;g&egrave;re et incassable.</li>\n
          <li>Recyclable.</li>\n
          <li>Sans produit chimique dangereux pour la sant&eacute;.</li>\n
          <li><strong>Fabriqu&eacute;e en Suisse.</strong></li>\n
          </ul>\n
          </div>\n
          <ul>\n
          </ul></div><h1>Descriptif Gourde Traveller Sigg Alu</h1><div class="col is-12">Mod&egrave;le embl&eacute;matique, la Gourde Traveller Sigg Alu a une forme reconnaissable entre 1000. Fabriqu&eacute;e &agrave; partir d'une galette d'aluminium, elle est form&eacute;e d'une seule pi&egrave;ce, sans soudure ! Elle b&eacute;n&eacute;ficie de tout le savoir faire plus que centenaire de la soci&eacute;t&eacute; Sigg. Cette gourde d'hydratation allie l&eacute;g&egrave;ret&eacute; et robustesse. Elle conviendra aussi bien aux sportifs qu'aux non sportifs. En randonn&eacute;e, pour un pique-nique ou pour une utilisation quotidienne, la Gourde Traveller Sigg Alu&nbsp;sera toujours &agrave; port&eacute;e de main. Son bouchon viss&eacute; avec anneau est tr&egrave;s facile &agrave; manipuler et garantit une parfaite &eacute;tanch&eacute;it&eacute;. Le goulot est particuli&egrave;rement ergonomique et confortable. Agr&eacute;able au toucher, la peinture ext&eacute;rieure r&eacute;siste particuli&egrave;rement bien aux uvs, et aux chocs. A utiliser pour boissons froides ou temp&eacute;r&eacute;es.<br /><br />Si vous cherchez une alternative aux bouteilles en plastique, avec la gourde Traveler Sigg, vous l'avez trouv&eacute;e ! Si on compare l'empreinte carbone de cette gourde avec une bouteille en plastique, elle &eacute;met 140 fois moins de co2 sur une dur&eacute;e de 5 ans. Sans compter que tout a &eacute;t&eacute; pens&eacute; pour une parfaite s&eacute;curit&eacute; alimentaire. L'eau n'est jamais en contact avec l'aluminium car l'int&eacute;rieur est enti&egrave;rement rev&ecirc;tu d'un rev&ecirc;tement "eco-neutre" sans BPA, sans COV et sans phtalates garantissant un go&ucirc;t neutre. Ce rev&ecirc;tement r&eacute;siste en outre aux acides de fruits comme aux boissons isotoniques. Bien mieux qu'une bouteille en plastique ! De plus, elle est enti&egrave;rement recyclable.&nbsp;<br /><br />\n
          <div>Avec ses nombreux coloris disponibles alliant classe et gaiet&eacute;, vous trouverez facilement une gourde Traveler Sigg &agrave; votre go&ucirc;t !<br />\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Gourde Aluminium Traveller SIGG</div>\n
          </div></div><h1>Caractéristiques Gourde Traveller Sigg Alu</h1><div class="col is-12">- Aluminium 1000 serie pure &agrave; 99% ( l&eacute;ger, r&eacute;sistant &agrave; la corrosion, inalt&eacute;rable, r&eacute;sistant aux UV, r&eacute;duction de l'empreinte carbone due au transport )<br />- Rev&ecirc;tement int&eacute;rieur en polyester pour un go&ucirc;t neutre sans BPA, COV, phtalates et autres composants toxiques.<br />- Compatible avec les boissons gazeuses.<br />- Peinture ext&eacute;rieure et d&eacute;coration de grande qualit&eacute;, durable et r&eacute;sistante aux UV, &agrave; la transpiration et au savon\n
          <div>- Bonchon en polypropyl&egrave;ne &agrave; vis pour une &eacute;tanch&eacute;it&eacute; parfaite.<br />- Goulot avec finition arrondie pour la s&eacute;curit&eacute; et le confort d'utilisation</div>\n
          <div>- Contenance : 0,6 litre.<br />- Diam&egrave;tre : 7 cm.<br />- Hauteur : 22 cm.<br />- Poids : 107 grammes<br />- Fabrication Suisse.<br /><br />\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Pr&eacute;cautions d'utilisation : Ne pas placer au cong&eacute;lateur, cependant la gourde peut &ecirc;tre plac&eacute;e au r&eacute;frig&eacute;rateur. Ne pas placer au four &agrave; micro ondes. Lavez toujours votre bouteille SIGG &agrave; la main. Rincez votre bouteille et son bouchon &agrave; l'eau chaude apr&egrave;s chaque utilisation. Laissez les s&eacute;cher et conservez les s&eacute;par&eacute;ment (bouteille et bouchon).</div>\n
          <div>- Pr&eacute;cautions d'utilisation : Peut &ecirc;tre plac&eacute;e au r&eacute;frig&eacute;rateur mais pas au cong&eacute;lateur. Ne pas placer au four &agrave; micro ondes et lave vaisselle. Lavez toujours votre bouteille SIGG &agrave; la main. Rincez votre bouteille et son bouchon &agrave; l'eau chaude apr&egrave;s chaque utilisation. Laissez les s&eacute;cher et conservez les s&eacute;par&eacute;ment (bouteille et bouchon).</div>\n
          </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 {#8870 …}
    #channels: Doctrine\ORM\PersistentCollection {#8858 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8854 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8856 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Gourde Traveller Sigg Alu"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30561
  -props: [
    "product" => App\Entity\Product\Product {#8853
      #id: 2721
      #code: "gourde-traveller-sigg-alu-7004"
      #attributes: Doctrine\ORM\PersistentCollection {#8860 …}
      #variants: Doctrine\ORM\PersistentCollection {#8873 …}
      #options: Doctrine\ORM\PersistentCollection {#8864 …}
      #associations: Doctrine\ORM\PersistentCollection {#8862 …}
      #createdAt: DateTime @1758632636 {#8849
        date: 2025-09-23 21:03:56.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632636 {#8850
        date: 2025-09-23 21:03:56.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8867 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8868
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8853}
          #id: 2721
          #name: "Gourde Traveller Sigg Alu"
          #slug: "gourde-traveller-sigg-alu-7004"
          #description: """
            <div class="col is-12"><div>\n
            <ul>\n
            <li>L&eacute;g&egrave;re et incassable.</li>\n
            <li>Recyclable.</li>\n
            <li>Sans produit chimique dangereux pour la sant&eacute;.</li>\n
            <li><strong>Fabriqu&eacute;e en Suisse.</strong></li>\n
            </ul>\n
            </div>\n
            <ul>\n
            </ul></div><h1>Descriptif Gourde Traveller Sigg Alu</h1><div class="col is-12">Mod&egrave;le embl&eacute;matique, la Gourde Traveller Sigg Alu a une forme reconnaissable entre 1000. Fabriqu&eacute;e &agrave; partir d'une galette d'aluminium, elle est form&eacute;e d'une seule pi&egrave;ce, sans soudure ! Elle b&eacute;n&eacute;ficie de tout le savoir faire plus que centenaire de la soci&eacute;t&eacute; Sigg. Cette gourde d'hydratation allie l&eacute;g&egrave;ret&eacute; et robustesse. Elle conviendra aussi bien aux sportifs qu'aux non sportifs. En randonn&eacute;e, pour un pique-nique ou pour une utilisation quotidienne, la Gourde Traveller Sigg Alu&nbsp;sera toujours &agrave; port&eacute;e de main. Son bouchon viss&eacute; avec anneau est tr&egrave;s facile &agrave; manipuler et garantit une parfaite &eacute;tanch&eacute;it&eacute;. Le goulot est particuli&egrave;rement ergonomique et confortable. Agr&eacute;able au toucher, la peinture ext&eacute;rieure r&eacute;siste particuli&egrave;rement bien aux uvs, et aux chocs. A utiliser pour boissons froides ou temp&eacute;r&eacute;es.<br /><br />Si vous cherchez une alternative aux bouteilles en plastique, avec la gourde Traveler Sigg, vous l'avez trouv&eacute;e ! Si on compare l'empreinte carbone de cette gourde avec une bouteille en plastique, elle &eacute;met 140 fois moins de co2 sur une dur&eacute;e de 5 ans. Sans compter que tout a &eacute;t&eacute; pens&eacute; pour une parfaite s&eacute;curit&eacute; alimentaire. L'eau n'est jamais en contact avec l'aluminium car l'int&eacute;rieur est enti&egrave;rement rev&ecirc;tu d'un rev&ecirc;tement "eco-neutre" sans BPA, sans COV et sans phtalates garantissant un go&ucirc;t neutre. Ce rev&ecirc;tement r&eacute;siste en outre aux acides de fruits comme aux boissons isotoniques. Bien mieux qu'une bouteille en plastique ! De plus, elle est enti&egrave;rement recyclable.&nbsp;<br /><br />\n
            <div>Avec ses nombreux coloris disponibles alliant classe et gaiet&eacute;, vous trouverez facilement une gourde Traveler Sigg &agrave; votre go&ucirc;t !<br />\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Gourde Aluminium Traveller SIGG</div>\n
            </div></div><h1>Caractéristiques Gourde Traveller Sigg Alu</h1><div class="col is-12">- Aluminium 1000 serie pure &agrave; 99% ( l&eacute;ger, r&eacute;sistant &agrave; la corrosion, inalt&eacute;rable, r&eacute;sistant aux UV, r&eacute;duction de l'empreinte carbone due au transport )<br />- Rev&ecirc;tement int&eacute;rieur en polyester pour un go&ucirc;t neutre sans BPA, COV, phtalates et autres composants toxiques.<br />- Compatible avec les boissons gazeuses.<br />- Peinture ext&eacute;rieure et d&eacute;coration de grande qualit&eacute;, durable et r&eacute;sistante aux UV, &agrave; la transpiration et au savon\n
            <div>- Bonchon en polypropyl&egrave;ne &agrave; vis pour une &eacute;tanch&eacute;it&eacute; parfaite.<br />- Goulot avec finition arrondie pour la s&eacute;curit&eacute; et le confort d'utilisation</div>\n
            <div>- Contenance : 0,6 litre.<br />- Diam&egrave;tre : 7 cm.<br />- Hauteur : 22 cm.<br />- Poids : 107 grammes<br />- Fabrication Suisse.<br /><br />\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Pr&eacute;cautions d'utilisation : Ne pas placer au cong&eacute;lateur, cependant la gourde peut &ecirc;tre plac&eacute;e au r&eacute;frig&eacute;rateur. Ne pas placer au four &agrave; micro ondes. Lavez toujours votre bouteille SIGG &agrave; la main. Rincez votre bouteille et son bouchon &agrave; l'eau chaude apr&egrave;s chaque utilisation. Laissez les s&eacute;cher et conservez les s&eacute;par&eacute;ment (bouteille et bouchon).</div>\n
            <div>- Pr&eacute;cautions d'utilisation : Peut &ecirc;tre plac&eacute;e au r&eacute;frig&eacute;rateur mais pas au cong&eacute;lateur. Ne pas placer au four &agrave; micro ondes et lave vaisselle. Lavez toujours votre bouteille SIGG &agrave; la main. Rincez votre bouteille et son bouchon &agrave; l'eau chaude apr&egrave;s chaque utilisation. Laissez les s&eacute;cher et conservez les s&eacute;par&eacute;ment (bouteille et bouchon).</div>\n
            </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 {#8870 …}
      #channels: Doctrine\ORM\PersistentCollection {#8858 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8854 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8856 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.74 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30610
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30545 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30554 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30609 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8874 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8884
    #collection: Doctrine\Common\Collections\ArrayCollection {#8885 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8883 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38355 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38357 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30610
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30545 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30554 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30609 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Gourde Traveller Sigg Alu"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8884
    #collection: Doctrine\Common\Collections\ArrayCollection {#8885 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8883 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38355 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38357 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30616
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30610
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30545 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30554 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30609 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8874 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8884
      #collection: Doctrine\Common\Collections\ArrayCollection {#8885 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8883 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38355 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38357 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30666
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30657 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30664 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30665 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8874 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30669
  +variant: App\Entity\Product\ProductVariant {#8874 …}
  +price: "17,00\u{A0}"
  +originalPrice: "17,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9260 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12690 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9257 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30666
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30657 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30664 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30665 …}
    +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 102.0 MiB 3.99 ms
Input props
[
  "product" => App\Entity\Product\Product {#8890
    #id: 2568
    #code: "tire-bouchon-andree-jardin-7086"
    #attributes: Doctrine\ORM\PersistentCollection {#8897 …}
    #variants: Doctrine\ORM\PersistentCollection {#8910 …}
    #options: Doctrine\ORM\PersistentCollection {#8901 …}
    #associations: Doctrine\ORM\PersistentCollection {#8899 …}
    #createdAt: DateTime @1758632577 {#8886
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#8887
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8904 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8905
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8890}
        #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 {#8907 …}
    #channels: Doctrine\ORM\PersistentCollection {#8895 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8891 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8893 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30552
  +product: App\Entity\Product\Product {#8890
    #id: 2568
    #code: "tire-bouchon-andree-jardin-7086"
    #attributes: Doctrine\ORM\PersistentCollection {#8897 …}
    #variants: Doctrine\ORM\PersistentCollection {#8910 …}
    #options: Doctrine\ORM\PersistentCollection {#8901 …}
    #associations: Doctrine\ORM\PersistentCollection {#8899 …}
    #createdAt: DateTime @1758632577 {#8886
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#8887
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8904 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8905
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8890}
        #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 {#8907 …}
    #channels: Doctrine\ORM\PersistentCollection {#8895 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8891 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8893 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8911 …}
  +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 {#28272
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28305 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28298 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.89 ms
Input props
[
  "product" => App\Entity\Product\Product {#8890
    #id: 2568
    #code: "tire-bouchon-andree-jardin-7086"
    #attributes: Doctrine\ORM\PersistentCollection {#8897 …}
    #variants: Doctrine\ORM\PersistentCollection {#8910 …}
    #options: Doctrine\ORM\PersistentCollection {#8901 …}
    #associations: Doctrine\ORM\PersistentCollection {#8899 …}
    #createdAt: DateTime @1758632577 {#8886
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632577 {#8887
      date: 2025-09-23 21:02:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8904 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8905
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8890}
        #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 {#8907 …}
    #channels: Doctrine\ORM\PersistentCollection {#8895 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8891 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8893 …}
    #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 {#30786
  -props: [
    "product" => App\Entity\Product\Product {#8890
      #id: 2568
      #code: "tire-bouchon-andree-jardin-7086"
      #attributes: Doctrine\ORM\PersistentCollection {#8897 …}
      #variants: Doctrine\ORM\PersistentCollection {#8910 …}
      #options: Doctrine\ORM\PersistentCollection {#8901 …}
      #associations: Doctrine\ORM\PersistentCollection {#8899 …}
      #createdAt: DateTime @1758632577 {#8886
        date: 2025-09-23 21:02:57.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632577 {#8887
        date: 2025-09-23 21:02:57.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8904 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8905
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8890}
          #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 {#8907 …}
      #channels: Doctrine\ORM\PersistentCollection {#8895 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8815 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8891 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8893 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.71 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30841
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30770 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30779 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30840 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8911 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8921
    #collection: Doctrine\Common\Collections\ArrayCollection {#8922 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8920 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38369 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38371 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30841
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30770 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30779 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30840 …}
    +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 {#8921
    #collection: Doctrine\Common\Collections\ArrayCollection {#8922 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8920 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38369 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38371 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30847
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30841
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30770 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30779 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30840 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8911 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8921
      #collection: Doctrine\Common\Collections\ArrayCollection {#8922 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8920 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38369 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38371 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30897
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30888 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30895 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30896 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8911 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30900
  +variant: App\Entity\Product\ProductVariant {#8911 …}
  +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 {#9260 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12690 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9257 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30897
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30888 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30895 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30896 …}
    +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 104.0 MiB 2.03 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27985
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12755 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28007 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12765 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31217
  +cart: App\Entity\Order\Order {#13669 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27985
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12755 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28007 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12765 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}