Components

12 Twig Components
44 Render Count
64 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 37.72ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 8.30ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 6.39ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.42ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.12ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.69ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.38ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 14.53ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.94ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.66ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.85ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.09ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 102.0 MiB 1.12 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12861
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12854 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12860 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12859 …}
    +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 {#13481
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12752 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12861
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12854 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12860 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12859 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 102.0 MiB 0.69 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13558
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13554 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13556 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13557 …}
    +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 {#13567
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13558
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13554 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13556 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13557 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 102.0 MiB 4.38 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13649
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13628 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13648 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13647 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#13664
  +cart: App\Entity\Order\Order {#13731 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13649
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13628 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13648 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13647 …}
    +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 102.0 MiB 14.53 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13917
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13905 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13911 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13903 …}
    +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 {#13926
  #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 {#13917
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13905 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13911 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13903 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 102.0 MiB 0.94 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28086
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28082 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28083 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28085 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
  "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 {#28095
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28086
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28082 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28083 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28085 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 102.0 MiB 0.66 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28199
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28195 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28196 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28198 …}
    +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 {#28207
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28199
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28195 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28196 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28198 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 102.0 MiB 1.85 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28270
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28266 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28267 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28269 …}
    +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 {#28278
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28270
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28266 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28267 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28269 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 102.0 MiB 7.33 ms
Input props
[
  "product" => App\Entity\Product\Product {#8030
    #id: 647
    #code: "couteau-de-cuisine-chef-classic-ikon-wuesthof-2966"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#6057 …}
    #options: Doctrine\ORM\PersistentCollection {#5360 …}
    #associations: Doctrine\ORM\PersistentCollection {#5144 …}
    #createdAt: DateTime @1758632235 {#7945
      date: 2025-09-23 20:57:15.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632235 {#8040
      date: 2025-09-23 20:57:15.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5361 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5357
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 647
        #name: "Couteau de cuisine Chef Classic Ikon Wüsthof"
        #slug: "couteau-de-cuisine-chef-classic-ikon-wuesthof-2966"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forg&eacute; en une seule pi&egrave;ce, durabilit&eacute; et solidit&eacute;.</li>\n
          <li>Tranchant exceptionnel.</li>\n
          <li>Fabrication allemande.&nbsp;</li>\n
          </ul></div><h1>Description Couteau de cuisine Chef Classic Ikon Wüsthof</h1><div class="col is-12"><br />Le Couteau de cuisine Chef Classic Ikon W&uuml;sthof est le couteau le plus polyvalent de la gamme avec sa lame large et rigide. Parfaitement &eacute;quilibr&eacute; pour hacher et couper la viande (carr&eacute; d'agneau, poitrine fum&eacute;e...), le poisson (saumon, thon, espadon...), mais &eacute;galement pour &eacute;mincer les fines herbes ou pour tailler les l&eacute;gumes.</div><h1>Caractéristiques Couteau de cuisine Classic Ikon Wüsthof</h1><div class="col is-12"><br />Les couteaux de cuisine Wusthof Classic Ikon poss&egrave;dent une lame forg&eacute;e  dans une seule pi&egrave;ce d'un acier tremp&eacute; &agrave; haute teneur en carbone. Ces  caract&eacute;ristiques permettent d'obtenir un couteau avec une lame &agrave; la fois  solide, durable et au tranchant exceptionnel.<br />Les couteaux de  cuisine Wusthof Classic Ikon sont &eacute;quip&eacute;s d'un manche synth&eacute;tique rivet&eacute;  en 3 points. La construction du manche se fait sans soudure  garantissant une hygi&egrave;ne parfaite.<br />Les couteaux de cuisine Wusthof  Classic Ikon sont parfaitement &eacute;quilibr&eacute;s pour une utilisation  confortable, s&eacute;curisante et sans effort. Compatible lave vaisselle.(un lavage &agrave; la main conservera intacte l'efficacit&eacute; de votre couteau)</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 {#5369 …}
    #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 {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28804
  +product: App\Entity\Product\Product {#8030
    #id: 647
    #code: "couteau-de-cuisine-chef-classic-ikon-wuesthof-2966"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#6057 …}
    #options: Doctrine\ORM\PersistentCollection {#5360 …}
    #associations: Doctrine\ORM\PersistentCollection {#5144 …}
    #createdAt: DateTime @1758632235 {#7945
      date: 2025-09-23 20:57:15.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632235 {#8040
      date: 2025-09-23 20:57:15.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5361 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5357
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 647
        #name: "Couteau de cuisine Chef Classic Ikon Wüsthof"
        #slug: "couteau-de-cuisine-chef-classic-ikon-wuesthof-2966"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forg&eacute; en une seule pi&egrave;ce, durabilit&eacute; et solidit&eacute;.</li>\n
          <li>Tranchant exceptionnel.</li>\n
          <li>Fabrication allemande.&nbsp;</li>\n
          </ul></div><h1>Description Couteau de cuisine Chef Classic Ikon Wüsthof</h1><div class="col is-12"><br />Le Couteau de cuisine Chef Classic Ikon W&uuml;sthof est le couteau le plus polyvalent de la gamme avec sa lame large et rigide. Parfaitement &eacute;quilibr&eacute; pour hacher et couper la viande (carr&eacute; d'agneau, poitrine fum&eacute;e...), le poisson (saumon, thon, espadon...), mais &eacute;galement pour &eacute;mincer les fines herbes ou pour tailler les l&eacute;gumes.</div><h1>Caractéristiques Couteau de cuisine Classic Ikon Wüsthof</h1><div class="col is-12"><br />Les couteaux de cuisine Wusthof Classic Ikon poss&egrave;dent une lame forg&eacute;e  dans une seule pi&egrave;ce d'un acier tremp&eacute; &agrave; haute teneur en carbone. Ces  caract&eacute;ristiques permettent d'obtenir un couteau avec une lame &agrave; la fois  solide, durable et au tranchant exceptionnel.<br />Les couteaux de  cuisine Wusthof Classic Ikon sont &eacute;quip&eacute;s d'un manche synth&eacute;tique rivet&eacute;  en 3 points. La construction du manche se fait sans soudure  garantissant une hygi&egrave;ne parfaite.<br />Les couteaux de cuisine Wusthof  Classic Ikon sont parfaitement &eacute;quilibr&eacute;s pour une utilisation  confortable, s&eacute;curisante et sans effort. Compatible lave vaisselle.(un lavage &agrave; la main conservera intacte l'efficacit&eacute; de votre couteau)</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 {#5369 …}
    #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 {#8764 …}
  +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 {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 1.58 ms
Input props
[
  "product" => App\Entity\Product\Product {#8030
    #id: 647
    #code: "couteau-de-cuisine-chef-classic-ikon-wuesthof-2966"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#6057 …}
    #options: Doctrine\ORM\PersistentCollection {#5360 …}
    #associations: Doctrine\ORM\PersistentCollection {#5144 …}
    #createdAt: DateTime @1758632235 {#7945
      date: 2025-09-23 20:57:15.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632235 {#8040
      date: 2025-09-23 20:57:15.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5361 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5357
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 647
        #name: "Couteau de cuisine Chef Classic Ikon Wüsthof"
        #slug: "couteau-de-cuisine-chef-classic-ikon-wuesthof-2966"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forg&eacute; en une seule pi&egrave;ce, durabilit&eacute; et solidit&eacute;.</li>\n
          <li>Tranchant exceptionnel.</li>\n
          <li>Fabrication allemande.&nbsp;</li>\n
          </ul></div><h1>Description Couteau de cuisine Chef Classic Ikon Wüsthof</h1><div class="col is-12"><br />Le Couteau de cuisine Chef Classic Ikon W&uuml;sthof est le couteau le plus polyvalent de la gamme avec sa lame large et rigide. Parfaitement &eacute;quilibr&eacute; pour hacher et couper la viande (carr&eacute; d'agneau, poitrine fum&eacute;e...), le poisson (saumon, thon, espadon...), mais &eacute;galement pour &eacute;mincer les fines herbes ou pour tailler les l&eacute;gumes.</div><h1>Caractéristiques Couteau de cuisine Classic Ikon Wüsthof</h1><div class="col is-12"><br />Les couteaux de cuisine Wusthof Classic Ikon poss&egrave;dent une lame forg&eacute;e  dans une seule pi&egrave;ce d'un acier tremp&eacute; &agrave; haute teneur en carbone. Ces  caract&eacute;ristiques permettent d'obtenir un couteau avec une lame &agrave; la fois  solide, durable et au tranchant exceptionnel.<br />Les couteaux de  cuisine Wusthof Classic Ikon sont &eacute;quip&eacute;s d'un manche synth&eacute;tique rivet&eacute;  en 3 points. La construction du manche se fait sans soudure  garantissant une hygi&egrave;ne parfaite.<br />Les couteaux de cuisine Wusthof  Classic Ikon sont parfaitement &eacute;quilibr&eacute;s pour une utilisation  confortable, s&eacute;curisante et sans effort. Compatible lave vaisselle.(un lavage &agrave; la main conservera intacte l'efficacit&eacute; de votre couteau)</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 {#5369 …}
    #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" => "Couteau de cuisine Chef Classic Ikon Wüsthof"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28958
  -props: [
    "product" => App\Entity\Product\Product {#8030
      #id: 647
      #code: "couteau-de-cuisine-chef-classic-ikon-wuesthof-2966"
      #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
      #variants: Doctrine\ORM\PersistentCollection {#6057 …}
      #options: Doctrine\ORM\PersistentCollection {#5360 …}
      #associations: Doctrine\ORM\PersistentCollection {#5144 …}
      #createdAt: DateTime @1758632235 {#7945
        date: 2025-09-23 20:57:15.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632235 {#8040
        date: 2025-09-23 20:57:15.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#5361 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#5357
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8030}
          #id: 647
          #name: "Couteau de cuisine Chef Classic Ikon Wüsthof"
          #slug: "couteau-de-cuisine-chef-classic-ikon-wuesthof-2966"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Forg&eacute; en une seule pi&egrave;ce, durabilit&eacute; et solidit&eacute;.</li>\n
            <li>Tranchant exceptionnel.</li>\n
            <li>Fabrication allemande.&nbsp;</li>\n
            </ul></div><h1>Description Couteau de cuisine Chef Classic Ikon Wüsthof</h1><div class="col is-12"><br />Le Couteau de cuisine Chef Classic Ikon W&uuml;sthof est le couteau le plus polyvalent de la gamme avec sa lame large et rigide. Parfaitement &eacute;quilibr&eacute; pour hacher et couper la viande (carr&eacute; d'agneau, poitrine fum&eacute;e...), le poisson (saumon, thon, espadon...), mais &eacute;galement pour &eacute;mincer les fines herbes ou pour tailler les l&eacute;gumes.</div><h1>Caractéristiques Couteau de cuisine Classic Ikon Wüsthof</h1><div class="col is-12"><br />Les couteaux de cuisine Wusthof Classic Ikon poss&egrave;dent une lame forg&eacute;e  dans une seule pi&egrave;ce d'un acier tremp&eacute; &agrave; haute teneur en carbone. Ces  caract&eacute;ristiques permettent d'obtenir un couteau avec une lame &agrave; la fois  solide, durable et au tranchant exceptionnel.<br />Les couteaux de  cuisine Wusthof Classic Ikon sont &eacute;quip&eacute;s d'un manche synth&eacute;tique rivet&eacute;  en 3 points. La construction du manche se fait sans soudure  garantissant une hygi&egrave;ne parfaite.<br />Les couteaux de cuisine Wusthof  Classic Ikon sont parfaitement &eacute;quilibr&eacute;s pour une utilisation  confortable, s&eacute;curisante et sans effort. Compatible lave vaisselle.(un lavage &agrave; la main conservera intacte l'efficacit&eacute; de votre couteau)</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 {#5369 …}
      #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.12 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28970
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28969 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28974 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28973 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8764 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8774
    #collection: Doctrine\Common\Collections\ArrayCollection {#8775 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8773 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38278 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38330 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28970
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28969 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28974 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28973 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Couteau de cuisine Chef Classic Ikon Wüsthof"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8774
    #collection: Doctrine\Common\Collections\ArrayCollection {#8775 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8773 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38278 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38330 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29039
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28970
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28969 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28974 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28973 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8764 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8774
      #collection: Doctrine\Common\Collections\ArrayCollection {#8775 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8773 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38278 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38330 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.36 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29114
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29104 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29112 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29113 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8764 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29123
  +variant: App\Entity\Product\ProductVariant {#8764 …}
  +price: "108,00\u{A0}"
  +originalPrice: "108,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9322 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12752 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9319 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29114
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29104 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29112 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29113 …}
    +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.50 ms
Input props
[
  "product" => App\Entity\Product\Product {#8003
    #id: 3740
    #code: "panier-vapeur-xxl-pour-magimix-cook-expert-6140"
    #attributes: Doctrine\ORM\PersistentCollection {#7994 …}
    #variants: Doctrine\ORM\PersistentCollection {#8295 …}
    #options: Doctrine\ORM\PersistentCollection {#8273 …}
    #associations: Doctrine\ORM\PersistentCollection {#8286 …}
    #createdAt: DateTime @1758633071 {#8236
      date: 2025-09-23 21:11:11.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758633071 {#8240
      date: 2025-09-23 21:11:11.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8325 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8318
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8003}
        #id: 3740
        #name: "Panier vapeur XXL pour Magimix Cook Expert"
        #slug: "panier-vapeur-xxl-pour-magimix-cook-expert-6140"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pour transformer votre Cook Expert en un v&eacute;ritable cuit vapeur.</li>\n
          <li>Couvercle en verre.</li>\n
          <li>Avec bol inox fourni et livre de recettes.</li>\n
          </ul></div><h1>Description Panier vapeur XXL pour Magimix Cook Expert</h1><div class="col is-12">Le Panier vapeur XXL transforme votre Cook Expert en un v&eacute;ritable cuit vapeur. Combin&eacute; avec le panier interne, vous disposez ainsi d'une capacit&eacute; totale de 8 litres. Vous pouvez ainsi cuire des poissons entiers ou des l&eacute;gumes avec une cuisson multi-niveaux. Le bol additionnel permet de cuire du riz ou ou r&eacute;chauffer.</div><h1>Caractéristiques Panier vapeur XXL pour Magimix Cook Expert</h1><div class="col is-12">Capacit&eacute; 5,5 litres. Panier 100 % inox. Couvercle en verre. Livr&eacute; avec bol &agrave; riz multi-fonctions.livre de recettes.</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 {#8331 …}
    #channels: Doctrine\ORM\PersistentCollection {#8013 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8009 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7397 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8017 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29025
  +product: App\Entity\Product\Product {#8003
    #id: 3740
    #code: "panier-vapeur-xxl-pour-magimix-cook-expert-6140"
    #attributes: Doctrine\ORM\PersistentCollection {#7994 …}
    #variants: Doctrine\ORM\PersistentCollection {#8295 …}
    #options: Doctrine\ORM\PersistentCollection {#8273 …}
    #associations: Doctrine\ORM\PersistentCollection {#8286 …}
    #createdAt: DateTime @1758633071 {#8236
      date: 2025-09-23 21:11:11.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758633071 {#8240
      date: 2025-09-23 21:11:11.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8325 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8318
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8003}
        #id: 3740
        #name: "Panier vapeur XXL pour Magimix Cook Expert"
        #slug: "panier-vapeur-xxl-pour-magimix-cook-expert-6140"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pour transformer votre Cook Expert en un v&eacute;ritable cuit vapeur.</li>\n
          <li>Couvercle en verre.</li>\n
          <li>Avec bol inox fourni et livre de recettes.</li>\n
          </ul></div><h1>Description Panier vapeur XXL pour Magimix Cook Expert</h1><div class="col is-12">Le Panier vapeur XXL transforme votre Cook Expert en un v&eacute;ritable cuit vapeur. Combin&eacute; avec le panier interne, vous disposez ainsi d'une capacit&eacute; totale de 8 litres. Vous pouvez ainsi cuire des poissons entiers ou des l&eacute;gumes avec une cuisson multi-niveaux. Le bol additionnel permet de cuire du riz ou ou r&eacute;chauffer.</div><h1>Caractéristiques Panier vapeur XXL pour Magimix Cook Expert</h1><div class="col is-12">Capacit&eacute; 5,5 litres. Panier 100 % inox. Couvercle en verre. Livr&eacute; avec bol &agrave; riz multi-fonctions.livre de recettes.</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 {#8331 …}
    #channels: Doctrine\ORM\PersistentCollection {#8013 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8009 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7397 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8017 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#7990 …}
  +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 {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.72 ms
Input props
[
  "product" => App\Entity\Product\Product {#8003
    #id: 3740
    #code: "panier-vapeur-xxl-pour-magimix-cook-expert-6140"
    #attributes: Doctrine\ORM\PersistentCollection {#7994 …}
    #variants: Doctrine\ORM\PersistentCollection {#8295 …}
    #options: Doctrine\ORM\PersistentCollection {#8273 …}
    #associations: Doctrine\ORM\PersistentCollection {#8286 …}
    #createdAt: DateTime @1758633071 {#8236
      date: 2025-09-23 21:11:11.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758633071 {#8240
      date: 2025-09-23 21:11:11.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8325 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8318
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8003}
        #id: 3740
        #name: "Panier vapeur XXL pour Magimix Cook Expert"
        #slug: "panier-vapeur-xxl-pour-magimix-cook-expert-6140"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pour transformer votre Cook Expert en un v&eacute;ritable cuit vapeur.</li>\n
          <li>Couvercle en verre.</li>\n
          <li>Avec bol inox fourni et livre de recettes.</li>\n
          </ul></div><h1>Description Panier vapeur XXL pour Magimix Cook Expert</h1><div class="col is-12">Le Panier vapeur XXL transforme votre Cook Expert en un v&eacute;ritable cuit vapeur. Combin&eacute; avec le panier interne, vous disposez ainsi d'une capacit&eacute; totale de 8 litres. Vous pouvez ainsi cuire des poissons entiers ou des l&eacute;gumes avec une cuisson multi-niveaux. Le bol additionnel permet de cuire du riz ou ou r&eacute;chauffer.</div><h1>Caractéristiques Panier vapeur XXL pour Magimix Cook Expert</h1><div class="col is-12">Capacit&eacute; 5,5 litres. Panier 100 % inox. Couvercle en verre. Livr&eacute; avec bol &agrave; riz multi-fonctions.livre de recettes.</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 {#8331 …}
    #channels: Doctrine\ORM\PersistentCollection {#8013 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8009 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7397 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8017 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Panier vapeur XXL pour Magimix Cook Expert"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29250
  -props: [
    "product" => App\Entity\Product\Product {#8003
      #id: 3740
      #code: "panier-vapeur-xxl-pour-magimix-cook-expert-6140"
      #attributes: Doctrine\ORM\PersistentCollection {#7994 …}
      #variants: Doctrine\ORM\PersistentCollection {#8295 …}
      #options: Doctrine\ORM\PersistentCollection {#8273 …}
      #associations: Doctrine\ORM\PersistentCollection {#8286 …}
      #createdAt: DateTime @1758633071 {#8236
        date: 2025-09-23 21:11:11.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758633071 {#8240
        date: 2025-09-23 21:11:11.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8325 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8318
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8003}
          #id: 3740
          #name: "Panier vapeur XXL pour Magimix Cook Expert"
          #slug: "panier-vapeur-xxl-pour-magimix-cook-expert-6140"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Pour transformer votre Cook Expert en un v&eacute;ritable cuit vapeur.</li>\n
            <li>Couvercle en verre.</li>\n
            <li>Avec bol inox fourni et livre de recettes.</li>\n
            </ul></div><h1>Description Panier vapeur XXL pour Magimix Cook Expert</h1><div class="col is-12">Le Panier vapeur XXL transforme votre Cook Expert en un v&eacute;ritable cuit vapeur. Combin&eacute; avec le panier interne, vous disposez ainsi d'une capacit&eacute; totale de 8 litres. Vous pouvez ainsi cuire des poissons entiers ou des l&eacute;gumes avec une cuisson multi-niveaux. Le bol additionnel permet de cuire du riz ou ou r&eacute;chauffer.</div><h1>Caractéristiques Panier vapeur XXL pour Magimix Cook Expert</h1><div class="col is-12">Capacit&eacute; 5,5 litres. Panier 100 % inox. Couvercle en verre. Livr&eacute; avec bol &agrave; riz multi-fonctions.livre de recettes.</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 {#8331 …}
      #channels: Doctrine\ORM\PersistentCollection {#8013 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8009 …}
      #reviews: Doctrine\ORM\PersistentCollection {#7397 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8017 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.56 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29305
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29234 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29243 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29304 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#7990 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8419
    #collection: Doctrine\Common\Collections\ArrayCollection {#8416 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8418 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38350 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38352 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29305
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29234 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29243 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29304 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Panier vapeur XXL pour Magimix Cook Expert"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8419
    #collection: Doctrine\Common\Collections\ArrayCollection {#8416 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8418 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38350 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38352 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29311
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29305
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29234 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29243 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29304 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#7990 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8419
      #collection: Doctrine\Common\Collections\ArrayCollection {#8416 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8418 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38350 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38352 …}
    }
    "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 {#29361
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29352 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29359 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29360 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#7990 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29364
  +variant: App\Entity\Product\ProductVariant {#7990 …}
  +price: "199,00\u{A0}"
  +originalPrice: "225,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9322 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12752 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9319 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29361
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29352 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29359 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29360 …}
    +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.50 ms
Input props
[
  "product" => App\Entity\Product\Product {#8431
    #id: 3081
    #code: "moulin-electrique-peugeot-elis-sense-2987"
    #attributes: Doctrine\ORM\PersistentCollection {#8489 …}
    #variants: Doctrine\ORM\PersistentCollection {#8598 …}
    #options: Doctrine\ORM\PersistentCollection {#8584 …}
    #associations: Doctrine\ORM\PersistentCollection {#8493 …}
    #createdAt: DateTime @1758632751 {#8426
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8425
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8586 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8594
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8431}
        #id: 3081
        #name: "Moulin électrique PEUGEOT  Elis Sense"
        #slug: "moulin-electrique-peugeot-elis-sense-2987"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Mise en marche par effleurement.</li>\n
          <li>Fonctionne d'une seule main.</li>\n
          <li>Eclairage par led.</li>\n
          <li>Syst&egrave;me U'Select.</li>\n
          </ul></div><h1>Description moulin PEUGEOT électrique Elis sense</h1><div class="col is-12">Le moulin PEUGEOT &eacute;lectrique Elis sense est &eacute;quip&eacute; des m&eacute;canismes traditionnels PEUGEOT sel ou poivre dont l&rsquo;efficacit&eacute; n&rsquo;est plus &agrave;  prouver.&nbsp;Un simple effleurement suffit pour d&eacute;clencher le m&eacute;canisme pour moudre sel ou poivre  ce qui permet de tenir le moulin d&rsquo;une seule main, tr&egrave;s pratique lorsque l&rsquo;on  cuisine !<br />Le moulin PEUGEOT &eacute;lectrique Elis sense est muni &agrave; sa base d'un &eacute;clairage par led bleut&eacute;e permettant de voir la quantit&eacute; de condiment que l&rsquo;on ajoute.</div><h1>Caractéristiques moulin PEUGEOT électrique Elis Sense</h1><div class="col is-12">Corps inox.. Fonctionne avec 6 piles  1.5 v fournie. M&eacute;canisme USELECT (pr&eacute;r&eacute;glage de la mouture &agrave;  plusieurs positions) garanti &agrave; vie.  Hauteur 20 cm. LED lumineuse bleut&eacute;e. Livr&eacute; avec coupelle carr&eacute;e et 1 fiole de sel ou poivre avec entonnoir int&eacute;gr&eacute;.</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 {#8593 …}
    #channels: Doctrine\ORM\PersistentCollection {#8487 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8481 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8478 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29241
  +product: App\Entity\Product\Product {#8431
    #id: 3081
    #code: "moulin-electrique-peugeot-elis-sense-2987"
    #attributes: Doctrine\ORM\PersistentCollection {#8489 …}
    #variants: Doctrine\ORM\PersistentCollection {#8598 …}
    #options: Doctrine\ORM\PersistentCollection {#8584 …}
    #associations: Doctrine\ORM\PersistentCollection {#8493 …}
    #createdAt: DateTime @1758632751 {#8426
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8425
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8586 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8594
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8431}
        #id: 3081
        #name: "Moulin électrique PEUGEOT  Elis Sense"
        #slug: "moulin-electrique-peugeot-elis-sense-2987"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Mise en marche par effleurement.</li>\n
          <li>Fonctionne d'une seule main.</li>\n
          <li>Eclairage par led.</li>\n
          <li>Syst&egrave;me U'Select.</li>\n
          </ul></div><h1>Description moulin PEUGEOT électrique Elis sense</h1><div class="col is-12">Le moulin PEUGEOT &eacute;lectrique Elis sense est &eacute;quip&eacute; des m&eacute;canismes traditionnels PEUGEOT sel ou poivre dont l&rsquo;efficacit&eacute; n&rsquo;est plus &agrave;  prouver.&nbsp;Un simple effleurement suffit pour d&eacute;clencher le m&eacute;canisme pour moudre sel ou poivre  ce qui permet de tenir le moulin d&rsquo;une seule main, tr&egrave;s pratique lorsque l&rsquo;on  cuisine !<br />Le moulin PEUGEOT &eacute;lectrique Elis sense est muni &agrave; sa base d'un &eacute;clairage par led bleut&eacute;e permettant de voir la quantit&eacute; de condiment que l&rsquo;on ajoute.</div><h1>Caractéristiques moulin PEUGEOT électrique Elis Sense</h1><div class="col is-12">Corps inox.. Fonctionne avec 6 piles  1.5 v fournie. M&eacute;canisme USELECT (pr&eacute;r&eacute;glage de la mouture &agrave;  plusieurs positions) garanti &agrave; vie.  Hauteur 20 cm. LED lumineuse bleut&eacute;e. Livr&eacute; avec coupelle carr&eacute;e et 1 fiole de sel ou poivre avec entonnoir int&eacute;gr&eacute;.</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 {#8593 …}
    #channels: Doctrine\ORM\PersistentCollection {#8487 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8481 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8478 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8596 …}
  +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 {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.77 ms
Input props
[
  "product" => App\Entity\Product\Product {#8431
    #id: 3081
    #code: "moulin-electrique-peugeot-elis-sense-2987"
    #attributes: Doctrine\ORM\PersistentCollection {#8489 …}
    #variants: Doctrine\ORM\PersistentCollection {#8598 …}
    #options: Doctrine\ORM\PersistentCollection {#8584 …}
    #associations: Doctrine\ORM\PersistentCollection {#8493 …}
    #createdAt: DateTime @1758632751 {#8426
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8425
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8586 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8594
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8431}
        #id: 3081
        #name: "Moulin électrique PEUGEOT  Elis Sense"
        #slug: "moulin-electrique-peugeot-elis-sense-2987"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Mise en marche par effleurement.</li>\n
          <li>Fonctionne d'une seule main.</li>\n
          <li>Eclairage par led.</li>\n
          <li>Syst&egrave;me U'Select.</li>\n
          </ul></div><h1>Description moulin PEUGEOT électrique Elis sense</h1><div class="col is-12">Le moulin PEUGEOT &eacute;lectrique Elis sense est &eacute;quip&eacute; des m&eacute;canismes traditionnels PEUGEOT sel ou poivre dont l&rsquo;efficacit&eacute; n&rsquo;est plus &agrave;  prouver.&nbsp;Un simple effleurement suffit pour d&eacute;clencher le m&eacute;canisme pour moudre sel ou poivre  ce qui permet de tenir le moulin d&rsquo;une seule main, tr&egrave;s pratique lorsque l&rsquo;on  cuisine !<br />Le moulin PEUGEOT &eacute;lectrique Elis sense est muni &agrave; sa base d'un &eacute;clairage par led bleut&eacute;e permettant de voir la quantit&eacute; de condiment que l&rsquo;on ajoute.</div><h1>Caractéristiques moulin PEUGEOT électrique Elis Sense</h1><div class="col is-12">Corps inox.. Fonctionne avec 6 piles  1.5 v fournie. M&eacute;canisme USELECT (pr&eacute;r&eacute;glage de la mouture &agrave;  plusieurs positions) garanti &agrave; vie.  Hauteur 20 cm. LED lumineuse bleut&eacute;e. Livr&eacute; avec coupelle carr&eacute;e et 1 fiole de sel ou poivre avec entonnoir int&eacute;gr&eacute;.</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 {#8593 …}
    #channels: Doctrine\ORM\PersistentCollection {#8487 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8481 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8478 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin électrique PEUGEOT  Elis Sense"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29481
  -props: [
    "product" => App\Entity\Product\Product {#8431
      #id: 3081
      #code: "moulin-electrique-peugeot-elis-sense-2987"
      #attributes: Doctrine\ORM\PersistentCollection {#8489 …}
      #variants: Doctrine\ORM\PersistentCollection {#8598 …}
      #options: Doctrine\ORM\PersistentCollection {#8584 …}
      #associations: Doctrine\ORM\PersistentCollection {#8493 …}
      #createdAt: DateTime @1758632751 {#8426
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632751 {#8425
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8586 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8594
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8431}
          #id: 3081
          #name: "Moulin électrique PEUGEOT  Elis Sense"
          #slug: "moulin-electrique-peugeot-elis-sense-2987"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Mise en marche par effleurement.</li>\n
            <li>Fonctionne d'une seule main.</li>\n
            <li>Eclairage par led.</li>\n
            <li>Syst&egrave;me U'Select.</li>\n
            </ul></div><h1>Description moulin PEUGEOT électrique Elis sense</h1><div class="col is-12">Le moulin PEUGEOT &eacute;lectrique Elis sense est &eacute;quip&eacute; des m&eacute;canismes traditionnels PEUGEOT sel ou poivre dont l&rsquo;efficacit&eacute; n&rsquo;est plus &agrave;  prouver.&nbsp;Un simple effleurement suffit pour d&eacute;clencher le m&eacute;canisme pour moudre sel ou poivre  ce qui permet de tenir le moulin d&rsquo;une seule main, tr&egrave;s pratique lorsque l&rsquo;on  cuisine !<br />Le moulin PEUGEOT &eacute;lectrique Elis sense est muni &agrave; sa base d'un &eacute;clairage par led bleut&eacute;e permettant de voir la quantit&eacute; de condiment que l&rsquo;on ajoute.</div><h1>Caractéristiques moulin PEUGEOT électrique Elis Sense</h1><div class="col is-12">Corps inox.. Fonctionne avec 6 piles  1.5 v fournie. M&eacute;canisme USELECT (pr&eacute;r&eacute;glage de la mouture &agrave;  plusieurs positions) garanti &agrave; vie.  Hauteur 20 cm. LED lumineuse bleut&eacute;e. Livr&eacute; avec coupelle carr&eacute;e et 1 fiole de sel ou poivre avec entonnoir int&eacute;gr&eacute;.</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 {#8593 …}
      #channels: Doctrine\ORM\PersistentCollection {#8487 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8481 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8478 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29536
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29465 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29474 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29535 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8596 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8676
    #collection: Doctrine\Common\Collections\ArrayCollection {#8677 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8675 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38364 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38366 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29536
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29465 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29474 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29535 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin électrique PEUGEOT  Elis Sense"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8676
    #collection: Doctrine\Common\Collections\ArrayCollection {#8677 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8675 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38364 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38366 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29542
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29536
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29465 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29474 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29535 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8596 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8676
      #collection: Doctrine\Common\Collections\ArrayCollection {#8677 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8675 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38364 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38366 …}
    }
    "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 {#29592
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29583 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29590 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29591 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8596 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29595
  +variant: App\Entity\Product\ProductVariant {#8596 …}
  +price: "169,00\u{A0}"
  +originalPrice: "189,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9322 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12752 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9319 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29592
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29583 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29590 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29591 …}
    +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.40 ms
Input props
[
  "product" => App\Entity\Product\Product {#8696
    #id: 678
    #code: "mandoline-viper-de-buyer-3312"
    #attributes: Doctrine\ORM\PersistentCollection {#8706 …}
    #variants: Doctrine\ORM\PersistentCollection {#8719 …}
    #options: Doctrine\ORM\PersistentCollection {#8710 …}
    #associations: Doctrine\ORM\PersistentCollection {#8708 …}
    #createdAt: DateTime @1758632238 {#8679
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632238 {#8678
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8713 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8714
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8696}
        #id: 678
        #name: "Mandoline Viper DE BUYER"
        #slug: "mandoline-viper-de-buyer-3312"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Excellent rapport qualit&eacute;-prix.</li>\n
          <li>Facilit&eacute; d'utilisation.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</span></li>\n
          </ul></div><div class="col is-12"><strong>Accessoire Gravity</strong> <a rel="nofollow" href="https://www.cuisinstore.com/de-buyer-accessoire-rondelles-gravity-pour-mandoline-de-buyer-prd5994.html">En savoir Plus</a></div><h1>Description mandoline Viper DE BUYER</h1><div class="col is-12">La mandoline Viper DE BUYER coupe en tranches, cubes, losanges et juliennes gr&acirc;ce &agrave; son syst&egrave;me exclusif de poussoir rotatif. La mandoline Viper DE BUYER est dot&eacute;e d'une lame en V pour une coupe pr&eacute;cise et facile de tous vos fruits et l&eacute;gumes m&ecirc;me les plus mous.&nbsp;</div><h1>Caractéristiques mandoline Viper DE BUYER</h1><div class="col is-12">Chassis avec lame en V int&eacute;gr&eacute;e. M&eacute;canisme syst&egrave;me cube int&eacute;gr&eacute;. Plateau coupe tranche r&eacute;glable de 1 &agrave; 8 mm. Pieds anti-d&eacute;rapants repliables. 2 plateaux lame julienne 4 et 10 mm. Poussoir protecteur ergonomique avec contr&ocirc;le de rotation.</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 {#8716 …}
    #channels: Doctrine\ORM\PersistentCollection {#8704 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8698 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8700 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8702 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29472
  +product: App\Entity\Product\Product {#8696
    #id: 678
    #code: "mandoline-viper-de-buyer-3312"
    #attributes: Doctrine\ORM\PersistentCollection {#8706 …}
    #variants: Doctrine\ORM\PersistentCollection {#8719 …}
    #options: Doctrine\ORM\PersistentCollection {#8710 …}
    #associations: Doctrine\ORM\PersistentCollection {#8708 …}
    #createdAt: DateTime @1758632238 {#8679
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632238 {#8678
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8713 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8714
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8696}
        #id: 678
        #name: "Mandoline Viper DE BUYER"
        #slug: "mandoline-viper-de-buyer-3312"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Excellent rapport qualit&eacute;-prix.</li>\n
          <li>Facilit&eacute; d'utilisation.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</span></li>\n
          </ul></div><div class="col is-12"><strong>Accessoire Gravity</strong> <a rel="nofollow" href="https://www.cuisinstore.com/de-buyer-accessoire-rondelles-gravity-pour-mandoline-de-buyer-prd5994.html">En savoir Plus</a></div><h1>Description mandoline Viper DE BUYER</h1><div class="col is-12">La mandoline Viper DE BUYER coupe en tranches, cubes, losanges et juliennes gr&acirc;ce &agrave; son syst&egrave;me exclusif de poussoir rotatif. La mandoline Viper DE BUYER est dot&eacute;e d'une lame en V pour une coupe pr&eacute;cise et facile de tous vos fruits et l&eacute;gumes m&ecirc;me les plus mous.&nbsp;</div><h1>Caractéristiques mandoline Viper DE BUYER</h1><div class="col is-12">Chassis avec lame en V int&eacute;gr&eacute;e. M&eacute;canisme syst&egrave;me cube int&eacute;gr&eacute;. Plateau coupe tranche r&eacute;glable de 1 &agrave; 8 mm. Pieds anti-d&eacute;rapants repliables. 2 plateaux lame julienne 4 et 10 mm. Poussoir protecteur ergonomique avec contr&ocirc;le de rotation.</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 {#8716 …}
    #channels: Doctrine\ORM\PersistentCollection {#8704 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8698 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8700 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8702 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8720 …}
  +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 {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.68 ms
Input props
[
  "product" => App\Entity\Product\Product {#8696
    #id: 678
    #code: "mandoline-viper-de-buyer-3312"
    #attributes: Doctrine\ORM\PersistentCollection {#8706 …}
    #variants: Doctrine\ORM\PersistentCollection {#8719 …}
    #options: Doctrine\ORM\PersistentCollection {#8710 …}
    #associations: Doctrine\ORM\PersistentCollection {#8708 …}
    #createdAt: DateTime @1758632238 {#8679
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632238 {#8678
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8713 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8714
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8696}
        #id: 678
        #name: "Mandoline Viper DE BUYER"
        #slug: "mandoline-viper-de-buyer-3312"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Excellent rapport qualit&eacute;-prix.</li>\n
          <li>Facilit&eacute; d'utilisation.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</span></li>\n
          </ul></div><div class="col is-12"><strong>Accessoire Gravity</strong> <a rel="nofollow" href="https://www.cuisinstore.com/de-buyer-accessoire-rondelles-gravity-pour-mandoline-de-buyer-prd5994.html">En savoir Plus</a></div><h1>Description mandoline Viper DE BUYER</h1><div class="col is-12">La mandoline Viper DE BUYER coupe en tranches, cubes, losanges et juliennes gr&acirc;ce &agrave; son syst&egrave;me exclusif de poussoir rotatif. La mandoline Viper DE BUYER est dot&eacute;e d'une lame en V pour une coupe pr&eacute;cise et facile de tous vos fruits et l&eacute;gumes m&ecirc;me les plus mous.&nbsp;</div><h1>Caractéristiques mandoline Viper DE BUYER</h1><div class="col is-12">Chassis avec lame en V int&eacute;gr&eacute;e. M&eacute;canisme syst&egrave;me cube int&eacute;gr&eacute;. Plateau coupe tranche r&eacute;glable de 1 &agrave; 8 mm. Pieds anti-d&eacute;rapants repliables. 2 plateaux lame julienne 4 et 10 mm. Poussoir protecteur ergonomique avec contr&ocirc;le de rotation.</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 {#8716 …}
    #channels: Doctrine\ORM\PersistentCollection {#8704 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8698 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8700 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8702 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Mandoline Viper DE BUYER"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29712
  -props: [
    "product" => App\Entity\Product\Product {#8696
      #id: 678
      #code: "mandoline-viper-de-buyer-3312"
      #attributes: Doctrine\ORM\PersistentCollection {#8706 …}
      #variants: Doctrine\ORM\PersistentCollection {#8719 …}
      #options: Doctrine\ORM\PersistentCollection {#8710 …}
      #associations: Doctrine\ORM\PersistentCollection {#8708 …}
      #createdAt: DateTime @1758632238 {#8679
        date: 2025-09-23 20:57:18.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632238 {#8678
        date: 2025-09-23 20:57:18.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8713 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8714
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8696}
          #id: 678
          #name: "Mandoline Viper DE BUYER"
          #slug: "mandoline-viper-de-buyer-3312"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Excellent rapport qualit&eacute;-prix.</li>\n
            <li>Facilit&eacute; d'utilisation.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</span></li>\n
            </ul></div><div class="col is-12"><strong>Accessoire Gravity</strong> <a rel="nofollow" href="https://www.cuisinstore.com/de-buyer-accessoire-rondelles-gravity-pour-mandoline-de-buyer-prd5994.html">En savoir Plus</a></div><h1>Description mandoline Viper DE BUYER</h1><div class="col is-12">La mandoline Viper DE BUYER coupe en tranches, cubes, losanges et juliennes gr&acirc;ce &agrave; son syst&egrave;me exclusif de poussoir rotatif. La mandoline Viper DE BUYER est dot&eacute;e d'une lame en V pour une coupe pr&eacute;cise et facile de tous vos fruits et l&eacute;gumes m&ecirc;me les plus mous.&nbsp;</div><h1>Caractéristiques mandoline Viper DE BUYER</h1><div class="col is-12">Chassis avec lame en V int&eacute;gr&eacute;e. M&eacute;canisme syst&egrave;me cube int&eacute;gr&eacute;. Plateau coupe tranche r&eacute;glable de 1 &agrave; 8 mm. Pieds anti-d&eacute;rapants repliables. 2 plateaux lame julienne 4 et 10 mm. Poussoir protecteur ergonomique avec contr&ocirc;le de rotation.</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 {#8716 …}
      #channels: Doctrine\ORM\PersistentCollection {#8704 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8698 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8700 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8702 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.55 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29767
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29696 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29705 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29766 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8720 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8730
    #collection: Doctrine\Common\Collections\ArrayCollection {#8731 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8729 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38378 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38380 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29767
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29696 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29705 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29766 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Mandoline Viper DE BUYER"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8730
    #collection: Doctrine\Common\Collections\ArrayCollection {#8731 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8729 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38378 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38380 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29773
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29767
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29696 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29705 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29766 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8720 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8730
      #collection: Doctrine\Common\Collections\ArrayCollection {#8731 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8729 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38378 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38380 …}
    }
    "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 {#29823
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29814 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29821 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29822 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8720 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29826
  +variant: App\Entity\Product\ProductVariant {#8720 …}
  +price: "134,00\u{A0}"
  +originalPrice: "149,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9322 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12752 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9319 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29823
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29814 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29821 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29822 …}
    +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.01 ms
Input props
[
  "product" => App\Entity\Product\Product {#8778
    #id: 3107
    #code: "moulin-peugeot-daman-2011"
    #attributes: Doctrine\ORM\PersistentCollection {#8785 …}
    #variants: Doctrine\ORM\PersistentCollection {#8798 …}
    #options: Doctrine\ORM\PersistentCollection {#8789 …}
    #associations: Doctrine\ORM\PersistentCollection {#8787 …}
    #createdAt: DateTime @1758632755 {#8733
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8732
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8792 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8793
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8778}
        #id: 3107
        #name: "Moulin Peugeot Daman"
        #slug: "moulin-peugeot-daman-2011"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Syst&egrave;me&nbsp;USELECT. </li>\n
          <li>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
          </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles<br /><a href="&lt;/body"></a></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 {#8795 …}
    #channels: Doctrine\ORM\PersistentCollection {#8783 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8779 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8781 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29703
  +product: App\Entity\Product\Product {#8778
    #id: 3107
    #code: "moulin-peugeot-daman-2011"
    #attributes: Doctrine\ORM\PersistentCollection {#8785 …}
    #variants: Doctrine\ORM\PersistentCollection {#8798 …}
    #options: Doctrine\ORM\PersistentCollection {#8789 …}
    #associations: Doctrine\ORM\PersistentCollection {#8787 …}
    #createdAt: DateTime @1758632755 {#8733
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8732
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8792 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8793
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8778}
        #id: 3107
        #name: "Moulin Peugeot Daman"
        #slug: "moulin-peugeot-daman-2011"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Syst&egrave;me&nbsp;USELECT. </li>\n
          <li>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
          </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles<br /><a href="&lt;/body"></a></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 {#8795 …}
    #channels: Doctrine\ORM\PersistentCollection {#8783 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8779 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8781 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8799 …}
  +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 {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +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 {#8778
    #id: 3107
    #code: "moulin-peugeot-daman-2011"
    #attributes: Doctrine\ORM\PersistentCollection {#8785 …}
    #variants: Doctrine\ORM\PersistentCollection {#8798 …}
    #options: Doctrine\ORM\PersistentCollection {#8789 …}
    #associations: Doctrine\ORM\PersistentCollection {#8787 …}
    #createdAt: DateTime @1758632755 {#8733
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8732
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8792 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8793
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8778}
        #id: 3107
        #name: "Moulin Peugeot Daman"
        #slug: "moulin-peugeot-daman-2011"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Syst&egrave;me&nbsp;USELECT. </li>\n
          <li>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
          </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles<br /><a href="&lt;/body"></a></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 {#8795 …}
    #channels: Doctrine\ORM\PersistentCollection {#8783 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8779 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8781 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Daman"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29943
  -props: [
    "product" => App\Entity\Product\Product {#8778
      #id: 3107
      #code: "moulin-peugeot-daman-2011"
      #attributes: Doctrine\ORM\PersistentCollection {#8785 …}
      #variants: Doctrine\ORM\PersistentCollection {#8798 …}
      #options: Doctrine\ORM\PersistentCollection {#8789 …}
      #associations: Doctrine\ORM\PersistentCollection {#8787 …}
      #createdAt: DateTime @1758632755 {#8733
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632755 {#8732
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8792 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8793
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8778}
          #id: 3107
          #name: "Moulin Peugeot Daman"
          #slug: "moulin-peugeot-daman-2011"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie. </li>\n
            <li>Syst&egrave;me&nbsp;USELECT. </li>\n
            <li>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
            </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles<br /><a href="&lt;/body"></a></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 {#8795 …}
      #channels: Doctrine\ORM\PersistentCollection {#8783 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8779 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8781 …}
      #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 {#29998
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29927 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29936 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29997 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8799 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8812
    #collection: Doctrine\Common\Collections\ArrayCollection {#8813 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8811 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38392 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38394 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29998
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29927 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29936 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29997 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Daman"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8812
    #collection: Doctrine\Common\Collections\ArrayCollection {#8813 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8811 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38392 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38394 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30004
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29998
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29927 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29936 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29997 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8799 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8812
      #collection: Doctrine\Common\Collections\ArrayCollection {#8813 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8811 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38392 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38394 …}
    }
    "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 {#30054
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30045 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30052 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30053 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8799 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30057
  +variant: App\Entity\Product\ProductVariant {#8799 …}
  +price: "92,00\u{A0}"
  +originalPrice: "109,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9322 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12752 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9319 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30054
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30045 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30052 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30053 …}
    +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.04 ms
Input props
[
  "product" => App\Entity\Product\Product {#8818
    #id: 2579
    #code: "tire-bouchon-baltaz-peugeot-2127"
    #attributes: Doctrine\ORM\PersistentCollection {#8828 …}
    #variants: Doctrine\ORM\PersistentCollection {#8841 …}
    #options: Doctrine\ORM\PersistentCollection {#8832 …}
    #associations: Doctrine\ORM\PersistentCollection {#8830 …}
    #createdAt: DateTime @1758632578 {#8814
      date: 2025-09-23 21:02:58.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632578 {#8815
      date: 2025-09-23 21:02:58.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8835 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8836
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8818}
        #id: 2579
        #name: "Tire bouchon Baltaz Peugeot"
        #slug: "tire-bouchon-baltaz-peugeot-2127"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Ouvre vos bouteilles sans effort.</li>\n
          <li>Excellent rapport qualit&eacute;-prix.</li>\n
          <li>Garantie 10 ans.&nbsp;</li>\n
          </ul></div><h1>Description Tire bouchon Baltaz Peugeot</h1><div class="col is-12">Le tire bouchon Baltaz Peugeot d&eacute;bouche vos bouteilles sans effort et en quelques secondes. Il&nbsp;s'adapte &agrave; tous les goulots et permet de retirer tous les types de bouchon. Il&nbsp;peut &ecirc;tre facilement pos&eacute; sur une table, il tient seul sans support.</div><h1>Caractéristiques Tire bouchon Baltaz Peugeot</h1><div class="col is-12">Mati&egrave;re zamac. Poign&eacute;es soft touch. Dimensions : L 17.5 cm x H 13.5 cm. Livr&eacute; en coffret. Garantie 10 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 {#8838 …}
    #channels: Doctrine\ORM\PersistentCollection {#8826 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8820 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8822 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8824 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29934
  +product: App\Entity\Product\Product {#8818
    #id: 2579
    #code: "tire-bouchon-baltaz-peugeot-2127"
    #attributes: Doctrine\ORM\PersistentCollection {#8828 …}
    #variants: Doctrine\ORM\PersistentCollection {#8841 …}
    #options: Doctrine\ORM\PersistentCollection {#8832 …}
    #associations: Doctrine\ORM\PersistentCollection {#8830 …}
    #createdAt: DateTime @1758632578 {#8814
      date: 2025-09-23 21:02:58.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632578 {#8815
      date: 2025-09-23 21:02:58.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8835 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8836
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8818}
        #id: 2579
        #name: "Tire bouchon Baltaz Peugeot"
        #slug: "tire-bouchon-baltaz-peugeot-2127"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Ouvre vos bouteilles sans effort.</li>\n
          <li>Excellent rapport qualit&eacute;-prix.</li>\n
          <li>Garantie 10 ans.&nbsp;</li>\n
          </ul></div><h1>Description Tire bouchon Baltaz Peugeot</h1><div class="col is-12">Le tire bouchon Baltaz Peugeot d&eacute;bouche vos bouteilles sans effort et en quelques secondes. Il&nbsp;s'adapte &agrave; tous les goulots et permet de retirer tous les types de bouchon. Il&nbsp;peut &ecirc;tre facilement pos&eacute; sur une table, il tient seul sans support.</div><h1>Caractéristiques Tire bouchon Baltaz Peugeot</h1><div class="col is-12">Mati&egrave;re zamac. Poign&eacute;es soft touch. Dimensions : L 17.5 cm x H 13.5 cm. Livr&eacute; en coffret. Garantie 10 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 {#8838 …}
    #channels: Doctrine\ORM\PersistentCollection {#8826 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8820 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8822 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8824 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8842 …}
  +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 {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.96 ms
Input props
[
  "product" => App\Entity\Product\Product {#8818
    #id: 2579
    #code: "tire-bouchon-baltaz-peugeot-2127"
    #attributes: Doctrine\ORM\PersistentCollection {#8828 …}
    #variants: Doctrine\ORM\PersistentCollection {#8841 …}
    #options: Doctrine\ORM\PersistentCollection {#8832 …}
    #associations: Doctrine\ORM\PersistentCollection {#8830 …}
    #createdAt: DateTime @1758632578 {#8814
      date: 2025-09-23 21:02:58.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632578 {#8815
      date: 2025-09-23 21:02:58.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8835 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8836
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8818}
        #id: 2579
        #name: "Tire bouchon Baltaz Peugeot"
        #slug: "tire-bouchon-baltaz-peugeot-2127"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Ouvre vos bouteilles sans effort.</li>\n
          <li>Excellent rapport qualit&eacute;-prix.</li>\n
          <li>Garantie 10 ans.&nbsp;</li>\n
          </ul></div><h1>Description Tire bouchon Baltaz Peugeot</h1><div class="col is-12">Le tire bouchon Baltaz Peugeot d&eacute;bouche vos bouteilles sans effort et en quelques secondes. Il&nbsp;s'adapte &agrave; tous les goulots et permet de retirer tous les types de bouchon. Il&nbsp;peut &ecirc;tre facilement pos&eacute; sur une table, il tient seul sans support.</div><h1>Caractéristiques Tire bouchon Baltaz Peugeot</h1><div class="col is-12">Mati&egrave;re zamac. Poign&eacute;es soft touch. Dimensions : L 17.5 cm x H 13.5 cm. Livr&eacute; en coffret. Garantie 10 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 {#8838 …}
    #channels: Doctrine\ORM\PersistentCollection {#8826 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8820 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8822 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8824 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Tire bouchon Baltaz Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30174
  -props: [
    "product" => App\Entity\Product\Product {#8818
      #id: 2579
      #code: "tire-bouchon-baltaz-peugeot-2127"
      #attributes: Doctrine\ORM\PersistentCollection {#8828 …}
      #variants: Doctrine\ORM\PersistentCollection {#8841 …}
      #options: Doctrine\ORM\PersistentCollection {#8832 …}
      #associations: Doctrine\ORM\PersistentCollection {#8830 …}
      #createdAt: DateTime @1758632578 {#8814
        date: 2025-09-23 21:02:58.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632578 {#8815
        date: 2025-09-23 21:02:58.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8835 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8836
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8818}
          #id: 2579
          #name: "Tire bouchon Baltaz Peugeot"
          #slug: "tire-bouchon-baltaz-peugeot-2127"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Ouvre vos bouteilles sans effort.</li>\n
            <li>Excellent rapport qualit&eacute;-prix.</li>\n
            <li>Garantie 10 ans.&nbsp;</li>\n
            </ul></div><h1>Description Tire bouchon Baltaz Peugeot</h1><div class="col is-12">Le tire bouchon Baltaz Peugeot d&eacute;bouche vos bouteilles sans effort et en quelques secondes. Il&nbsp;s'adapte &agrave; tous les goulots et permet de retirer tous les types de bouchon. Il&nbsp;peut &ecirc;tre facilement pos&eacute; sur une table, il tient seul sans support.</div><h1>Caractéristiques Tire bouchon Baltaz Peugeot</h1><div class="col is-12">Mati&egrave;re zamac. Poign&eacute;es soft touch. Dimensions : L 17.5 cm x H 13.5 cm. Livr&eacute; en coffret. Garantie 10 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 {#8838 …}
      #channels: Doctrine\ORM\PersistentCollection {#8826 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8820 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8822 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8824 …}
      #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 {#30229
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30158 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30167 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30228 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8842 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8852
    #collection: Doctrine\Common\Collections\ArrayCollection {#8853 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8851 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38406 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38408 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30229
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30158 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30167 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30228 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Tire bouchon Baltaz Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8852
    #collection: Doctrine\Common\Collections\ArrayCollection {#8853 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8851 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38406 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38408 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30235
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30229
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30158 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30167 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30228 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8842 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8852
      #collection: Doctrine\Common\Collections\ArrayCollection {#8853 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8851 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38406 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38408 …}
    }
    "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 {#30285
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30276 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30283 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30284 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8842 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30288
  +variant: App\Entity\Product\ProductVariant {#8842 …}
  +price: "89,00\u{A0}"
  +originalPrice: "99,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9322 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12752 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9319 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30285
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30276 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30283 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30284 …}
    +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.07 ms
Input props
[
  "product" => App\Entity\Product\Product {#8858
    #id: 672
    #code: "mandoline-swing-plus-de-buyer-1501"
    #attributes: Doctrine\ORM\PersistentCollection {#8865 …}
    #variants: Doctrine\ORM\PersistentCollection {#8878 …}
    #options: Doctrine\ORM\PersistentCollection {#8869 …}
    #associations: Doctrine\ORM\PersistentCollection {#8867 …}
    #createdAt: DateTime @1758632238 {#8854
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632238 {#8855
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8872 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8873
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8858}
        #id: 672
        #name: "Mandoline Swing Plus De Buyer"
        #slug: "mandoline-swing-plus-de-buyer-1501"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Simplicit&eacute; d'utilisation.</li>\n
          <li>Poussoir ergonomique pour une s&eacute;curit&eacute; maximale.</li>\n
          <li>Compacte et pliable, facile &agrave; ranger.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</span></li>\n
          <li><span style="font-weight: bold;"><strong>Offre group&eacute;e avec Accessoire Gravity</strong><br /></span></li>\n
          </ul></div><div class="col is-12"><strong>Accessoire Gravity</strong>&nbsp; <a rel="nofollow" href="https://www.cuisinstore.com/de-buyer-accessoire-rondelles-gravity-pour-mandoline-de-buyer-prd5994.html">En Savoir Plus</a></div><h1>Description Mandoline Swing Plus De Buyer</h1><div class="col is-12">La mandoline swing Plus De Buyer permet de r&eacute;aliser en toute simplicit&eacute; de nombreuses pr&eacute;parations : coupes juliennes, rondelles lisses ou ondul&eacute;es, coupes gaufr&eacute;es.<br />La mise en place des lames et peignes est pratique: il suffit de les ins&eacute;rer sur le c&ocirc;t&eacute;.</div><h1>Caractéristiques Mandoline Swing Plus De Buyer</h1><div class="col is-12">Corps en acier inoxydable et polym&egrave;res composites. Lame horizontale micro lobes. Lame et peigne en aciers sp&eacute;ciaux tremp&eacute;s. Livr&eacute;e avec 1 double lame horizontale (lisse et ondul&eacute;e), 1 double peigne (4 et 10 mm)&nbsp;et 1 poussoir ergonomique. Hauteur de coupe r&eacute;glable de 0,5 &agrave; 10 mm (pas de 0,5 mm). Dimensions du produit 40 x 17 x 19,5 cm. Poids 1,2 kg. Garantie 2 ans.<br /></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 {#8875 …}
    #channels: Doctrine\ORM\PersistentCollection {#8863 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8698 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8859 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8861 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30165
  +product: App\Entity\Product\Product {#8858
    #id: 672
    #code: "mandoline-swing-plus-de-buyer-1501"
    #attributes: Doctrine\ORM\PersistentCollection {#8865 …}
    #variants: Doctrine\ORM\PersistentCollection {#8878 …}
    #options: Doctrine\ORM\PersistentCollection {#8869 …}
    #associations: Doctrine\ORM\PersistentCollection {#8867 …}
    #createdAt: DateTime @1758632238 {#8854
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632238 {#8855
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8872 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8873
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8858}
        #id: 672
        #name: "Mandoline Swing Plus De Buyer"
        #slug: "mandoline-swing-plus-de-buyer-1501"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Simplicit&eacute; d'utilisation.</li>\n
          <li>Poussoir ergonomique pour une s&eacute;curit&eacute; maximale.</li>\n
          <li>Compacte et pliable, facile &agrave; ranger.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</span></li>\n
          <li><span style="font-weight: bold;"><strong>Offre group&eacute;e avec Accessoire Gravity</strong><br /></span></li>\n
          </ul></div><div class="col is-12"><strong>Accessoire Gravity</strong>&nbsp; <a rel="nofollow" href="https://www.cuisinstore.com/de-buyer-accessoire-rondelles-gravity-pour-mandoline-de-buyer-prd5994.html">En Savoir Plus</a></div><h1>Description Mandoline Swing Plus De Buyer</h1><div class="col is-12">La mandoline swing Plus De Buyer permet de r&eacute;aliser en toute simplicit&eacute; de nombreuses pr&eacute;parations : coupes juliennes, rondelles lisses ou ondul&eacute;es, coupes gaufr&eacute;es.<br />La mise en place des lames et peignes est pratique: il suffit de les ins&eacute;rer sur le c&ocirc;t&eacute;.</div><h1>Caractéristiques Mandoline Swing Plus De Buyer</h1><div class="col is-12">Corps en acier inoxydable et polym&egrave;res composites. Lame horizontale micro lobes. Lame et peigne en aciers sp&eacute;ciaux tremp&eacute;s. Livr&eacute;e avec 1 double lame horizontale (lisse et ondul&eacute;e), 1 double peigne (4 et 10 mm)&nbsp;et 1 poussoir ergonomique. Hauteur de coupe r&eacute;glable de 0,5 &agrave; 10 mm (pas de 0,5 mm). Dimensions du produit 40 x 17 x 19,5 cm. Poids 1,2 kg. Garantie 2 ans.<br /></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 {#8875 …}
    #channels: Doctrine\ORM\PersistentCollection {#8863 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8698 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8859 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8861 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8879 …}
  +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 {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.94 ms
Input props
[
  "product" => App\Entity\Product\Product {#8858
    #id: 672
    #code: "mandoline-swing-plus-de-buyer-1501"
    #attributes: Doctrine\ORM\PersistentCollection {#8865 …}
    #variants: Doctrine\ORM\PersistentCollection {#8878 …}
    #options: Doctrine\ORM\PersistentCollection {#8869 …}
    #associations: Doctrine\ORM\PersistentCollection {#8867 …}
    #createdAt: DateTime @1758632238 {#8854
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632238 {#8855
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8872 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8873
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8858}
        #id: 672
        #name: "Mandoline Swing Plus De Buyer"
        #slug: "mandoline-swing-plus-de-buyer-1501"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Simplicit&eacute; d'utilisation.</li>\n
          <li>Poussoir ergonomique pour une s&eacute;curit&eacute; maximale.</li>\n
          <li>Compacte et pliable, facile &agrave; ranger.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</span></li>\n
          <li><span style="font-weight: bold;"><strong>Offre group&eacute;e avec Accessoire Gravity</strong><br /></span></li>\n
          </ul></div><div class="col is-12"><strong>Accessoire Gravity</strong>&nbsp; <a rel="nofollow" href="https://www.cuisinstore.com/de-buyer-accessoire-rondelles-gravity-pour-mandoline-de-buyer-prd5994.html">En Savoir Plus</a></div><h1>Description Mandoline Swing Plus De Buyer</h1><div class="col is-12">La mandoline swing Plus De Buyer permet de r&eacute;aliser en toute simplicit&eacute; de nombreuses pr&eacute;parations : coupes juliennes, rondelles lisses ou ondul&eacute;es, coupes gaufr&eacute;es.<br />La mise en place des lames et peignes est pratique: il suffit de les ins&eacute;rer sur le c&ocirc;t&eacute;.</div><h1>Caractéristiques Mandoline Swing Plus De Buyer</h1><div class="col is-12">Corps en acier inoxydable et polym&egrave;res composites. Lame horizontale micro lobes. Lame et peigne en aciers sp&eacute;ciaux tremp&eacute;s. Livr&eacute;e avec 1 double lame horizontale (lisse et ondul&eacute;e), 1 double peigne (4 et 10 mm)&nbsp;et 1 poussoir ergonomique. Hauteur de coupe r&eacute;glable de 0,5 &agrave; 10 mm (pas de 0,5 mm). Dimensions du produit 40 x 17 x 19,5 cm. Poids 1,2 kg. Garantie 2 ans.<br /></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 {#8875 …}
    #channels: Doctrine\ORM\PersistentCollection {#8863 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8698 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8859 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8861 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Mandoline Swing Plus De Buyer"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30405
  -props: [
    "product" => App\Entity\Product\Product {#8858
      #id: 672
      #code: "mandoline-swing-plus-de-buyer-1501"
      #attributes: Doctrine\ORM\PersistentCollection {#8865 …}
      #variants: Doctrine\ORM\PersistentCollection {#8878 …}
      #options: Doctrine\ORM\PersistentCollection {#8869 …}
      #associations: Doctrine\ORM\PersistentCollection {#8867 …}
      #createdAt: DateTime @1758632238 {#8854
        date: 2025-09-23 20:57:18.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632238 {#8855
        date: 2025-09-23 20:57:18.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8872 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8873
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8858}
          #id: 672
          #name: "Mandoline Swing Plus De Buyer"
          #slug: "mandoline-swing-plus-de-buyer-1501"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Simplicit&eacute; d'utilisation.</li>\n
            <li>Poussoir ergonomique pour une s&eacute;curit&eacute; maximale.</li>\n
            <li>Compacte et pliable, facile &agrave; ranger.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</span></li>\n
            <li><span style="font-weight: bold;"><strong>Offre group&eacute;e avec Accessoire Gravity</strong><br /></span></li>\n
            </ul></div><div class="col is-12"><strong>Accessoire Gravity</strong>&nbsp; <a rel="nofollow" href="https://www.cuisinstore.com/de-buyer-accessoire-rondelles-gravity-pour-mandoline-de-buyer-prd5994.html">En Savoir Plus</a></div><h1>Description Mandoline Swing Plus De Buyer</h1><div class="col is-12">La mandoline swing Plus De Buyer permet de r&eacute;aliser en toute simplicit&eacute; de nombreuses pr&eacute;parations : coupes juliennes, rondelles lisses ou ondul&eacute;es, coupes gaufr&eacute;es.<br />La mise en place des lames et peignes est pratique: il suffit de les ins&eacute;rer sur le c&ocirc;t&eacute;.</div><h1>Caractéristiques Mandoline Swing Plus De Buyer</h1><div class="col is-12">Corps en acier inoxydable et polym&egrave;res composites. Lame horizontale micro lobes. Lame et peigne en aciers sp&eacute;ciaux tremp&eacute;s. Livr&eacute;e avec 1 double lame horizontale (lisse et ondul&eacute;e), 1 double peigne (4 et 10 mm)&nbsp;et 1 poussoir ergonomique. Hauteur de coupe r&eacute;glable de 0,5 &agrave; 10 mm (pas de 0,5 mm). Dimensions du produit 40 x 17 x 19,5 cm. Poids 1,2 kg. Garantie 2 ans.<br /></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 {#8875 …}
      #channels: Doctrine\ORM\PersistentCollection {#8863 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8698 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8859 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8861 …}
      #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 {#30463
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30389 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30398 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8879 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8889
    #collection: Doctrine\Common\Collections\ArrayCollection {#8890 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8888 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38420 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38422 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30463
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30389 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30398 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Mandoline Swing Plus De Buyer"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8889
    #collection: Doctrine\Common\Collections\ArrayCollection {#8890 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8888 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38420 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38422 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30469
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30463
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30389 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30398 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30462 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8879 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8889
      #collection: Doctrine\Common\Collections\ArrayCollection {#8890 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8888 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38420 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38422 …}
    }
    "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 {#30519
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30510 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30517 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30518 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8879 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30522
  +variant: App\Entity\Product\ProductVariant {#8879 …}
  +price: "84,00\u{A0}"
  +originalPrice: "99,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9322 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12752 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9319 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30519
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30510 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30517 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30518 …}
    +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.09 ms
Input props
[
  "product" => App\Entity\Product\Product {#8895
    #id: 1812
    #code: "entonnoir-doseur-a-piston-1213"
    #attributes: Doctrine\ORM\PersistentCollection {#8905 …}
    #variants: Doctrine\ORM\PersistentCollection {#8918 …}
    #options: Doctrine\ORM\PersistentCollection {#8909 …}
    #associations: Doctrine\ORM\PersistentCollection {#8907 …}
    #createdAt: DateTime @1758632414 {#8891
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632414 {#8892
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8912 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8913
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8895}
        #id: 1812
        #name: "Entonnoir doseur à piston"
        #slug: "entonnoir-doseur-a-piston-1213"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Grande pr&eacute;cision.</li>\n
          <li>Range douille incorpor&eacute;.</li>\n
          <li>Livr&eacute; avec 3 douilles. &nbsp;</li>\n
          </ul></div><h1>Description entonnoir à piston</h1><div class="col is-12">L'entonnoir &agrave; piston permet de doser toutes vos pr&eacute;parations avec une grande pr&eacute;cision. Sa grande capacit&eacute; vous permettra de r&eacute;aliser facilement toutes vos pr&eacute;parations.</div><h1>Caractéristiques entonnoir à piston</h1><div class="col is-12">Entonnoir&nbsp;en inox 18/10. Base tr&egrave;s stable avec range douille incorpor&eacute;. D&eacute;montage facile pour le nettoyage. Livr&eacute; avec 3 douilles 4, 6 et 8 mm. Contenance de l'entonnoir 2 litres.<br /></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 {#8915 …}
    #channels: Doctrine\ORM\PersistentCollection {#8903 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8897 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8899 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8901 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30396
  +product: App\Entity\Product\Product {#8895
    #id: 1812
    #code: "entonnoir-doseur-a-piston-1213"
    #attributes: Doctrine\ORM\PersistentCollection {#8905 …}
    #variants: Doctrine\ORM\PersistentCollection {#8918 …}
    #options: Doctrine\ORM\PersistentCollection {#8909 …}
    #associations: Doctrine\ORM\PersistentCollection {#8907 …}
    #createdAt: DateTime @1758632414 {#8891
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632414 {#8892
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8912 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8913
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8895}
        #id: 1812
        #name: "Entonnoir doseur à piston"
        #slug: "entonnoir-doseur-a-piston-1213"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Grande pr&eacute;cision.</li>\n
          <li>Range douille incorpor&eacute;.</li>\n
          <li>Livr&eacute; avec 3 douilles. &nbsp;</li>\n
          </ul></div><h1>Description entonnoir à piston</h1><div class="col is-12">L'entonnoir &agrave; piston permet de doser toutes vos pr&eacute;parations avec une grande pr&eacute;cision. Sa grande capacit&eacute; vous permettra de r&eacute;aliser facilement toutes vos pr&eacute;parations.</div><h1>Caractéristiques entonnoir à piston</h1><div class="col is-12">Entonnoir&nbsp;en inox 18/10. Base tr&egrave;s stable avec range douille incorpor&eacute;. D&eacute;montage facile pour le nettoyage. Livr&eacute; avec 3 douilles 4, 6 et 8 mm. Contenance de l'entonnoir 2 litres.<br /></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 {#8915 …}
    #channels: Doctrine\ORM\PersistentCollection {#8903 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8897 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8899 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8901 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8919 …}
  +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 {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.91 ms
Input props
[
  "product" => App\Entity\Product\Product {#8895
    #id: 1812
    #code: "entonnoir-doseur-a-piston-1213"
    #attributes: Doctrine\ORM\PersistentCollection {#8905 …}
    #variants: Doctrine\ORM\PersistentCollection {#8918 …}
    #options: Doctrine\ORM\PersistentCollection {#8909 …}
    #associations: Doctrine\ORM\PersistentCollection {#8907 …}
    #createdAt: DateTime @1758632414 {#8891
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632414 {#8892
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8912 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8913
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8895}
        #id: 1812
        #name: "Entonnoir doseur à piston"
        #slug: "entonnoir-doseur-a-piston-1213"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Grande pr&eacute;cision.</li>\n
          <li>Range douille incorpor&eacute;.</li>\n
          <li>Livr&eacute; avec 3 douilles. &nbsp;</li>\n
          </ul></div><h1>Description entonnoir à piston</h1><div class="col is-12">L'entonnoir &agrave; piston permet de doser toutes vos pr&eacute;parations avec une grande pr&eacute;cision. Sa grande capacit&eacute; vous permettra de r&eacute;aliser facilement toutes vos pr&eacute;parations.</div><h1>Caractéristiques entonnoir à piston</h1><div class="col is-12">Entonnoir&nbsp;en inox 18/10. Base tr&egrave;s stable avec range douille incorpor&eacute;. D&eacute;montage facile pour le nettoyage. Livr&eacute; avec 3 douilles 4, 6 et 8 mm. Contenance de l'entonnoir 2 litres.<br /></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 {#8915 …}
    #channels: Doctrine\ORM\PersistentCollection {#8903 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8897 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8899 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8901 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Entonnoir doseur à piston"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30639
  -props: [
    "product" => App\Entity\Product\Product {#8895
      #id: 1812
      #code: "entonnoir-doseur-a-piston-1213"
      #attributes: Doctrine\ORM\PersistentCollection {#8905 …}
      #variants: Doctrine\ORM\PersistentCollection {#8918 …}
      #options: Doctrine\ORM\PersistentCollection {#8909 …}
      #associations: Doctrine\ORM\PersistentCollection {#8907 …}
      #createdAt: DateTime @1758632414 {#8891
        date: 2025-09-23 21:00:14.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632414 {#8892
        date: 2025-09-23 21:00:14.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8912 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8913
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8895}
          #id: 1812
          #name: "Entonnoir doseur à piston"
          #slug: "entonnoir-doseur-a-piston-1213"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Grande pr&eacute;cision.</li>\n
            <li>Range douille incorpor&eacute;.</li>\n
            <li>Livr&eacute; avec 3 douilles. &nbsp;</li>\n
            </ul></div><h1>Description entonnoir à piston</h1><div class="col is-12">L'entonnoir &agrave; piston permet de doser toutes vos pr&eacute;parations avec une grande pr&eacute;cision. Sa grande capacit&eacute; vous permettra de r&eacute;aliser facilement toutes vos pr&eacute;parations.</div><h1>Caractéristiques entonnoir à piston</h1><div class="col is-12">Entonnoir&nbsp;en inox 18/10. Base tr&egrave;s stable avec range douille incorpor&eacute;. D&eacute;montage facile pour le nettoyage. Livr&eacute; avec 3 douilles 4, 6 et 8 mm. Contenance de l'entonnoir 2 litres.<br /></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 {#8915 …}
      #channels: Doctrine\ORM\PersistentCollection {#8903 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8897 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8899 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8901 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.77 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30694
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30623 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30632 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30693 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8919 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8932
    #collection: Doctrine\Common\Collections\ArrayCollection {#8933 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8931 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38434 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38436 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30694
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30623 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30632 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30693 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Entonnoir doseur à piston"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8932
    #collection: Doctrine\Common\Collections\ArrayCollection {#8933 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8931 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38434 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38436 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30700
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30694
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30623 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30632 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30693 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8919 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8932
      #collection: Doctrine\Common\Collections\ArrayCollection {#8933 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8931 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38434 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38436 …}
    }
    "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 {#30750
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30741 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30749 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8919 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30753
  +variant: App\Entity\Product\ProductVariant {#8919 …}
  +price: "79,00\u{A0}"
  +originalPrice: "79,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9322 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12752 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9319 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30750
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30741 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30749 …}
    +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.77 ms
Input props
[
  "product" => App\Entity\Product\Product {#8938
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8945 …}
    #variants: Doctrine\ORM\PersistentCollection {#8958 …}
    #options: Doctrine\ORM\PersistentCollection {#8949 …}
    #associations: Doctrine\ORM\PersistentCollection {#8947 …}
    #createdAt: DateTime @1758632754 {#8934
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8935
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8952 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8953
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8938}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</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 {#8955 …}
    #channels: Doctrine\ORM\PersistentCollection {#8943 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8939 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8941 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30630
  +product: App\Entity\Product\Product {#8938
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8945 …}
    #variants: Doctrine\ORM\PersistentCollection {#8958 …}
    #options: Doctrine\ORM\PersistentCollection {#8949 …}
    #associations: Doctrine\ORM\PersistentCollection {#8947 …}
    #createdAt: DateTime @1758632754 {#8934
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8935
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8952 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8953
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8938}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</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 {#8955 …}
    #channels: Doctrine\ORM\PersistentCollection {#8943 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8939 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8941 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8975 …}
  +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 {#28335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28361 …}
    +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 {#8938
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8945 …}
    #variants: Doctrine\ORM\PersistentCollection {#8958 …}
    #options: Doctrine\ORM\PersistentCollection {#8949 …}
    #associations: Doctrine\ORM\PersistentCollection {#8947 …}
    #createdAt: DateTime @1758632754 {#8934
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8935
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8952 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8953
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8938}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</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 {#8955 …}
    #channels: Doctrine\ORM\PersistentCollection {#8943 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8939 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8941 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin à poivre Peugeot Roellinger"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30870
  -props: [
    "product" => App\Entity\Product\Product {#8938
      #id: 3098
      #code: "moulin-a-poivre-peugeot-roellinger-2111"
      #attributes: Doctrine\ORM\PersistentCollection {#8945 …}
      #variants: Doctrine\ORM\PersistentCollection {#8958 …}
      #options: Doctrine\ORM\PersistentCollection {#8949 …}
      #associations: Doctrine\ORM\PersistentCollection {#8947 …}
      #createdAt: DateTime @1758632754 {#8934
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#8935
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8952 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8953
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8938}
          #id: 3098
          #name: "Moulin à poivre Peugeot Roellinger"
          #slug: "moulin-a-poivre-peugeot-roellinger-2111"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie. </li>\n
            <li>Corp en bois verni. </li>\n
            <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</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 {#8955 …}
      #channels: Doctrine\ORM\PersistentCollection {#8943 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8477 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8939 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8941 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.62 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30925
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30854 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30863 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30924 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8975 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8985
    #collection: Doctrine\Common\Collections\ArrayCollection {#8986 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8984 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38448 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38450 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30925
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30854 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30863 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30924 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin à poivre Peugeot Roellinger"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8985
    #collection: Doctrine\Common\Collections\ArrayCollection {#8986 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8984 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38448 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38450 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30931
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30925
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30854 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30863 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30924 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8975 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8985
      #collection: Doctrine\Common\Collections\ArrayCollection {#8986 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8984 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38448 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38450 …}
    }
    "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 {#30981
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30972 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30979 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30980 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8975 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30984
  +variant: App\Entity\Product\ProductVariant {#8975 …}
  +price: "67,00\u{A0}"
  +originalPrice: "74,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9322 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12752 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9319 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30981
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30972 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30979 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30980 …}
    +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.09 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28048
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12817 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28070 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12827 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31291
  +cart: App\Entity\Order\Order {#13731 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28048
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12817 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28070 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12827 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}