Components

12 Twig Components
44 Render Count
66 ms Render Time
110.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
sylius_shop:product:card
"Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
@SyliusUi/components/default.html.twig
9 38.64ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 7.95ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 6.30ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.55ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.08ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.71ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.35ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 15.02ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.10ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.73ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 2.05ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.00ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 110.0 MiB 1.08 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12824
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12817 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12823 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12822 …}
    +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 {#13444
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12715 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12824
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12817 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12823 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12822 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 110.0 MiB 0.71 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13521
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13517 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13519 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13520 …}
    +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 {#13530
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13521
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13517 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13519 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13520 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 110.0 MiB 4.35 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13612
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13591 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13611 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13610 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#13627
  +cart: App\Entity\Order\Order {#13694 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13612
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13591 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13611 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13610 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  +template: "@SyliusShop/shared/components/header/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}
sylius_shop:common:taxon_menu Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent 110.0 MiB 15.02 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13880
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13868 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13874 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13866 …}
    +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 {#13889
  #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 {#13880
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13868 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13874 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13866 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 110.0 MiB 1.10 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28051
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28047 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28048 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28050 …}
    +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 {#28060
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28051
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28047 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28048 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28050 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 110.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28164
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28160 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28161 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28163 …}
    +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 {#28172
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28164
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28160 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28161 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28163 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 110.0 MiB 2.05 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28235
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28231 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28232 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28234 …}
    +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 {#28243
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28235
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28231 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28232 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28234 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 7.84 ms
Input props
[
  "product" => App\Entity\Product\Product {#8030
    #id: 2041
    #code: "moules-a-canneles-en-cuivre-526"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#6054 …}
    #options: Doctrine\ORM\PersistentCollection {#5357 …}
    #associations: Doctrine\ORM\PersistentCollection {#5114 …}
    #createdAt: DateTime @1758632447 {#7945
      date: 2025-09-23 21:00:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632447 {#8040
      date: 2025-09-23 21:00:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5359 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5366
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 2041
        #name: "Moules à cannelés en cuivre"
        #slug: "moules-a-canneles-en-cuivre-526"
        #description: """
          <div class="col is-12"><ul>\n
          <li>En cuivre, r&eacute;partition homog&egrave;ne de la chaleur.</li>\n
          <li>Etamage assurant un d&eacute;moulage parfait.&nbsp;</li>\n
          <li>Moule qualit&eacute; pro.&nbsp;</li>\n
          </ul></div><h1>Description moule à cannelé cuivre</h1><div class="col is-12"><p>Ces moules &agrave; cannel&eacute;s permettent de r&eacute;aliser de mani&egrave;re traditionnelle les c&eacute;l&egrave;bres cannel&eacute;s, sp&eacute;cialit&eacute; bordelaise. Le cuivre &eacute;tam&eacute; assure une parfaite convection de la chaleur qui permet une bonne caram&eacute;lisation des sucs et un go&ucirc;t d&eacute;licieux.</p></div><h1>Caractéristiques moule à cannelé cuivre</h1><div class="col is-12"><p>Ext&eacute;rieur cuivre. Int&eacute;rieur &eacute;tam&eacute;. Va au four. Lavage &agrave; la main. Fabriqu&eacute; au Portugal</p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#6070 …}
    #channels: Doctrine\ORM\PersistentCollection {#8309 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8321 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28769
  +product: App\Entity\Product\Product {#8030
    #id: 2041
    #code: "moules-a-canneles-en-cuivre-526"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#6054 …}
    #options: Doctrine\ORM\PersistentCollection {#5357 …}
    #associations: Doctrine\ORM\PersistentCollection {#5114 …}
    #createdAt: DateTime @1758632447 {#7945
      date: 2025-09-23 21:00:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632447 {#8040
      date: 2025-09-23 21:00:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5359 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5366
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 2041
        #name: "Moules à cannelés en cuivre"
        #slug: "moules-a-canneles-en-cuivre-526"
        #description: """
          <div class="col is-12"><ul>\n
          <li>En cuivre, r&eacute;partition homog&egrave;ne de la chaleur.</li>\n
          <li>Etamage assurant un d&eacute;moulage parfait.&nbsp;</li>\n
          <li>Moule qualit&eacute; pro.&nbsp;</li>\n
          </ul></div><h1>Description moule à cannelé cuivre</h1><div class="col is-12"><p>Ces moules &agrave; cannel&eacute;s permettent de r&eacute;aliser de mani&egrave;re traditionnelle les c&eacute;l&egrave;bres cannel&eacute;s, sp&eacute;cialit&eacute; bordelaise. Le cuivre &eacute;tam&eacute; assure une parfaite convection de la chaleur qui permet une bonne caram&eacute;lisation des sucs et un go&ucirc;t d&eacute;licieux.</p></div><h1>Caractéristiques moule à cannelé cuivre</h1><div class="col is-12"><p>Ext&eacute;rieur cuivre. Int&eacute;rieur &eacute;tam&eacute;. Va au four. Lavage &agrave; la main. Fabriqu&eacute; au Portugal</p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#6070 …}
    #channels: Doctrine\ORM\PersistentCollection {#8309 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8321 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#6061 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 1.65 ms
Input props
[
  "product" => App\Entity\Product\Product {#8030
    #id: 2041
    #code: "moules-a-canneles-en-cuivre-526"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#6054 …}
    #options: Doctrine\ORM\PersistentCollection {#5357 …}
    #associations: Doctrine\ORM\PersistentCollection {#5114 …}
    #createdAt: DateTime @1758632447 {#7945
      date: 2025-09-23 21:00:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632447 {#8040
      date: 2025-09-23 21:00:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5359 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5366
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 2041
        #name: "Moules à cannelés en cuivre"
        #slug: "moules-a-canneles-en-cuivre-526"
        #description: """
          <div class="col is-12"><ul>\n
          <li>En cuivre, r&eacute;partition homog&egrave;ne de la chaleur.</li>\n
          <li>Etamage assurant un d&eacute;moulage parfait.&nbsp;</li>\n
          <li>Moule qualit&eacute; pro.&nbsp;</li>\n
          </ul></div><h1>Description moule à cannelé cuivre</h1><div class="col is-12"><p>Ces moules &agrave; cannel&eacute;s permettent de r&eacute;aliser de mani&egrave;re traditionnelle les c&eacute;l&egrave;bres cannel&eacute;s, sp&eacute;cialit&eacute; bordelaise. Le cuivre &eacute;tam&eacute; assure une parfaite convection de la chaleur qui permet une bonne caram&eacute;lisation des sucs et un go&ucirc;t d&eacute;licieux.</p></div><h1>Caractéristiques moule à cannelé cuivre</h1><div class="col is-12"><p>Ext&eacute;rieur cuivre. Int&eacute;rieur &eacute;tam&eacute;. Va au four. Lavage &agrave; la main. Fabriqu&eacute; au Portugal</p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#6070 …}
    #channels: Doctrine\ORM\PersistentCollection {#8309 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8321 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moules à cannelés en cuivre"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28923
  -props: [
    "product" => App\Entity\Product\Product {#8030
      #id: 2041
      #code: "moules-a-canneles-en-cuivre-526"
      #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
      #variants: Doctrine\ORM\PersistentCollection {#6054 …}
      #options: Doctrine\ORM\PersistentCollection {#5357 …}
      #associations: Doctrine\ORM\PersistentCollection {#5114 …}
      #createdAt: DateTime @1758632447 {#7945
        date: 2025-09-23 21:00:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632447 {#8040
        date: 2025-09-23 21:00:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#5359 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#5366
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8030}
          #id: 2041
          #name: "Moules à cannelés en cuivre"
          #slug: "moules-a-canneles-en-cuivre-526"
          #description: """
            <div class="col is-12"><ul>\n
            <li>En cuivre, r&eacute;partition homog&egrave;ne de la chaleur.</li>\n
            <li>Etamage assurant un d&eacute;moulage parfait.&nbsp;</li>\n
            <li>Moule qualit&eacute; pro.&nbsp;</li>\n
            </ul></div><h1>Description moule à cannelé cuivre</h1><div class="col is-12"><p>Ces moules &agrave; cannel&eacute;s permettent de r&eacute;aliser de mani&egrave;re traditionnelle les c&eacute;l&egrave;bres cannel&eacute;s, sp&eacute;cialit&eacute; bordelaise. Le cuivre &eacute;tam&eacute; assure une parfaite convection de la chaleur qui permet une bonne caram&eacute;lisation des sucs et un go&ucirc;t d&eacute;licieux.</p></div><h1>Caractéristiques moule à cannelé cuivre</h1><div class="col is-12"><p>Ext&eacute;rieur cuivre. Int&eacute;rieur &eacute;tam&eacute;. Va au four. Lavage &agrave; la main. Fabriqu&eacute; au Portugal</p></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#6070 …}
      #channels: Doctrine\ORM\PersistentCollection {#8309 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8321 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 1.21 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28939
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28943 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28944 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28934 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#6061 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8528
    #collection: Doctrine\Common\Collections\ArrayCollection {#8240 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#6751 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38219 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38271 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28939
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28943 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28944 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28934 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moules à cannelés en cuivre"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8528
    #collection: Doctrine\Common\Collections\ArrayCollection {#8240 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#6751 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38219 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38271 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29010
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28939
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28943 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28944 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28934 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#6061 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8528
      #collection: Doctrine\Common\Collections\ArrayCollection {#8240 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#6751 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38219 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38271 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.37 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29076
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29066 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29074 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29075 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#6061 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29085
  +variant: App\Entity\Product\ProductVariant {#6061 …}
  +price: "7,00\u{A0}"
  +originalPrice: "7,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9285 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12715 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9282 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29076
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29066 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29074 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29075 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 3.69 ms
Input props
[
  "product" => App\Entity\Product\Product {#8009
    #id: 3073
    #code: "moulin-peugeot-baltic-2372"
    #attributes: Doctrine\ORM\PersistentCollection {#8286 …}
    #variants: Doctrine\ORM\PersistentCollection {#7996 …}
    #options: Doctrine\ORM\PersistentCollection {#8362 …}
    #associations: Doctrine\ORM\PersistentCollection {#8273 …}
    #createdAt: DateTime @1758632749 {#8238
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8004
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8264 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8331
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8009}
        #id: 3073
        #name: "Moulin Peugeot Baltic"
        #slug: "moulin-peugeot-baltic-2372"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;</li>\n
          </ul></div><h1>Caractéristiques Moulin Peugeot Baltic</h1><div class="col is-12">Le moulin PEUGEOT BALTIC compte parmi les plus petits mod&egrave;les de la collection PEUGEOT. Il&nbsp;a cependant tout pour se montrer &agrave; la hauteur des plus grandes tables : Ligne contemporaine et courbes douces, ergonomie parfaite. <br />Corps acrylique. Syst&egrave;me de fermeture par vis. Taille 8 cm.</div><h1>Description mécanisme moulin PEUGEOT</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. </p>\r\n
          <p><a href=""></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 {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#7994 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8017 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8013 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28990
  +product: App\Entity\Product\Product {#8009
    #id: 3073
    #code: "moulin-peugeot-baltic-2372"
    #attributes: Doctrine\ORM\PersistentCollection {#8286 …}
    #variants: Doctrine\ORM\PersistentCollection {#7996 …}
    #options: Doctrine\ORM\PersistentCollection {#8362 …}
    #associations: Doctrine\ORM\PersistentCollection {#8273 …}
    #createdAt: DateTime @1758632749 {#8238
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8004
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8264 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8331
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8009}
        #id: 3073
        #name: "Moulin Peugeot Baltic"
        #slug: "moulin-peugeot-baltic-2372"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;</li>\n
          </ul></div><h1>Caractéristiques Moulin Peugeot Baltic</h1><div class="col is-12">Le moulin PEUGEOT BALTIC compte parmi les plus petits mod&egrave;les de la collection PEUGEOT. Il&nbsp;a cependant tout pour se montrer &agrave; la hauteur des plus grandes tables : Ligne contemporaine et courbes douces, ergonomie parfaite. <br />Corps acrylique. Syst&egrave;me de fermeture par vis. Taille 8 cm.</div><h1>Description mécanisme moulin PEUGEOT</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. </p>\r\n
          <p><a href=""></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 {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#7994 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8017 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8013 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#7989 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.71 ms
Input props
[
  "product" => App\Entity\Product\Product {#8009
    #id: 3073
    #code: "moulin-peugeot-baltic-2372"
    #attributes: Doctrine\ORM\PersistentCollection {#8286 …}
    #variants: Doctrine\ORM\PersistentCollection {#7996 …}
    #options: Doctrine\ORM\PersistentCollection {#8362 …}
    #associations: Doctrine\ORM\PersistentCollection {#8273 …}
    #createdAt: DateTime @1758632749 {#8238
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8004
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8264 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8331
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8009}
        #id: 3073
        #name: "Moulin Peugeot Baltic"
        #slug: "moulin-peugeot-baltic-2372"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;</li>\n
          </ul></div><h1>Caractéristiques Moulin Peugeot Baltic</h1><div class="col is-12">Le moulin PEUGEOT BALTIC compte parmi les plus petits mod&egrave;les de la collection PEUGEOT. Il&nbsp;a cependant tout pour se montrer &agrave; la hauteur des plus grandes tables : Ligne contemporaine et courbes douces, ergonomie parfaite. <br />Corps acrylique. Syst&egrave;me de fermeture par vis. Taille 8 cm.</div><h1>Description mécanisme moulin PEUGEOT</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. </p>\r\n
          <p><a href=""></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 {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#7994 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8017 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8013 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Baltic"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29212
  -props: [
    "product" => App\Entity\Product\Product {#8009
      #id: 3073
      #code: "moulin-peugeot-baltic-2372"
      #attributes: Doctrine\ORM\PersistentCollection {#8286 …}
      #variants: Doctrine\ORM\PersistentCollection {#7996 …}
      #options: Doctrine\ORM\PersistentCollection {#8362 …}
      #associations: Doctrine\ORM\PersistentCollection {#8273 …}
      #createdAt: DateTime @1758632749 {#8238
        date: 2025-09-23 21:05:49.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632749 {#8004
        date: 2025-09-23 21:05:49.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8264 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8331
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8009}
          #id: 3073
          #name: "Moulin Peugeot Baltic"
          #slug: "moulin-peugeot-baltic-2372"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>R&eacute;glage de la mouture.</li>\n
            <li>Corps acrylique haute qualit&eacute;</li>\n
            </ul></div><h1>Caractéristiques Moulin Peugeot Baltic</h1><div class="col is-12">Le moulin PEUGEOT BALTIC compte parmi les plus petits mod&egrave;les de la collection PEUGEOT. Il&nbsp;a cependant tout pour se montrer &agrave; la hauteur des plus grandes tables : Ligne contemporaine et courbes douces, ergonomie parfaite. <br />Corps acrylique. Syst&egrave;me de fermeture par vis. Taille 8 cm.</div><h1>Description mécanisme moulin PEUGEOT</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. </p>\r\n
            <p><a href=""></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 {#8535 …}
      #channels: Doctrine\ORM\PersistentCollection {#7994 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8017 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8013 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29264
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29196 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29205 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29263 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#7989 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8426
    #collection: Doctrine\Common\Collections\ArrayCollection {#8425 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8416 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38291 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38293 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29264
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29196 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29205 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29263 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Baltic"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8426
    #collection: Doctrine\Common\Collections\ArrayCollection {#8425 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8416 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38291 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38293 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29270
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29264
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29196 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29205 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29263 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#7989 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8426
      #collection: Doctrine\Common\Collections\ArrayCollection {#8425 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8416 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38291 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38293 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29320
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29311 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29318 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29319 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#7989 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29323
  +variant: App\Entity\Product\ProductVariant {#7989 …}
  +price: "26,00\u{A0}"
  +originalPrice: "29,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9285 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12715 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9282 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29320
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29311 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29318 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29319 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 3.63 ms
Input props
[
  "product" => App\Entity\Product\Product {#8477
    #id: 3044
    #code: "moulin-peugeot-oleron-3776"
    #attributes: Doctrine\ORM\PersistentCollection {#8488 …}
    #variants: Doctrine\ORM\PersistentCollection {#8599 …}
    #options: Doctrine\ORM\PersistentCollection {#8585 …}
    #associations: Doctrine\ORM\PersistentCollection {#8490 …}
    #createdAt: DateTime @1758632747 {#8427
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8428
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8591 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8586
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8477}
        #id: 3044
        #name: "Moulin Peugeot Oleron"
        #slug: "moulin-peugeot-oleron-3776"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Esth&eacute;tique sobre convenant &agrave; tous les styles.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li>2 coloris au choix.</li>\n
          </ul></div><h1>Description Moulin Peugeot Oleron</h1><div class="col is-12">Le moulin Peugeot Ol&eacute;ron a un&nbsp;corps acrylique transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voquant le mouvement et jouant subtilement avec la lumi&egrave;re.&nbsp;Le moulin Peugeot Ol&eacute;ron propose&nbsp;3 m&eacute;canismes : poivre, sel sec et piment.&nbsp;\n
          <div></div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Une ligne de moulins dont le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Peugeot propose des m&eacute;canismes sp&eacute;cifiquement con&ccedil;us pour chaque &eacute;pice, la gamme Ol&eacute;ron offre 3 m&eacute;canismes : M&eacute;canisme &agrave; poivre, m&eacute;canisme &agrave; sel sec et m&eacute;canisme &agrave; piment.&nbsp;&nbsp;le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div></div><h1>Caractéristiques Moulin Peugeot Oleron</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>\n
          <div>Hauteur 15 cm. Corps acrylique. Haut bois. Vis inox. Garantie 2 ans. M&eacute;canismes poivre, sel sec, sel humide ou piment garantis &agrave; vie. R&eacute;glage de la mouture. Existe en bois naturel ou chocolat.</div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8595 …}
    #channels: Doctrine\ORM\PersistentCollection {#8486 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8483 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8479 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29203
  +product: App\Entity\Product\Product {#8477
    #id: 3044
    #code: "moulin-peugeot-oleron-3776"
    #attributes: Doctrine\ORM\PersistentCollection {#8488 …}
    #variants: Doctrine\ORM\PersistentCollection {#8599 …}
    #options: Doctrine\ORM\PersistentCollection {#8585 …}
    #associations: Doctrine\ORM\PersistentCollection {#8490 …}
    #createdAt: DateTime @1758632747 {#8427
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8428
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8591 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8586
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8477}
        #id: 3044
        #name: "Moulin Peugeot Oleron"
        #slug: "moulin-peugeot-oleron-3776"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Esth&eacute;tique sobre convenant &agrave; tous les styles.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li>2 coloris au choix.</li>\n
          </ul></div><h1>Description Moulin Peugeot Oleron</h1><div class="col is-12">Le moulin Peugeot Ol&eacute;ron a un&nbsp;corps acrylique transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voquant le mouvement et jouant subtilement avec la lumi&egrave;re.&nbsp;Le moulin Peugeot Ol&eacute;ron propose&nbsp;3 m&eacute;canismes : poivre, sel sec et piment.&nbsp;\n
          <div></div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Une ligne de moulins dont le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Peugeot propose des m&eacute;canismes sp&eacute;cifiquement con&ccedil;us pour chaque &eacute;pice, la gamme Ol&eacute;ron offre 3 m&eacute;canismes : M&eacute;canisme &agrave; poivre, m&eacute;canisme &agrave; sel sec et m&eacute;canisme &agrave; piment.&nbsp;&nbsp;le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div></div><h1>Caractéristiques Moulin Peugeot Oleron</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>\n
          <div>Hauteur 15 cm. Corps acrylique. Haut bois. Vis inox. Garantie 2 ans. M&eacute;canismes poivre, sel sec, sel humide ou piment garantis &agrave; vie. R&eacute;glage de la mouture. Existe en bois naturel ou chocolat.</div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8595 …}
    #channels: Doctrine\ORM\PersistentCollection {#8486 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8483 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8479 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8598 …}
  +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 {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.73 ms
Input props
[
  "product" => App\Entity\Product\Product {#8477
    #id: 3044
    #code: "moulin-peugeot-oleron-3776"
    #attributes: Doctrine\ORM\PersistentCollection {#8488 …}
    #variants: Doctrine\ORM\PersistentCollection {#8599 …}
    #options: Doctrine\ORM\PersistentCollection {#8585 …}
    #associations: Doctrine\ORM\PersistentCollection {#8490 …}
    #createdAt: DateTime @1758632747 {#8427
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8428
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8591 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8586
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8477}
        #id: 3044
        #name: "Moulin Peugeot Oleron"
        #slug: "moulin-peugeot-oleron-3776"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Esth&eacute;tique sobre convenant &agrave; tous les styles.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li>2 coloris au choix.</li>\n
          </ul></div><h1>Description Moulin Peugeot Oleron</h1><div class="col is-12">Le moulin Peugeot Ol&eacute;ron a un&nbsp;corps acrylique transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voquant le mouvement et jouant subtilement avec la lumi&egrave;re.&nbsp;Le moulin Peugeot Ol&eacute;ron propose&nbsp;3 m&eacute;canismes : poivre, sel sec et piment.&nbsp;\n
          <div></div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Une ligne de moulins dont le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Peugeot propose des m&eacute;canismes sp&eacute;cifiquement con&ccedil;us pour chaque &eacute;pice, la gamme Ol&eacute;ron offre 3 m&eacute;canismes : M&eacute;canisme &agrave; poivre, m&eacute;canisme &agrave; sel sec et m&eacute;canisme &agrave; piment.&nbsp;&nbsp;le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div></div><h1>Caractéristiques Moulin Peugeot Oleron</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>\n
          <div>Hauteur 15 cm. Corps acrylique. Haut bois. Vis inox. Garantie 2 ans. M&eacute;canismes poivre, sel sec, sel humide ou piment garantis &agrave; vie. R&eacute;glage de la mouture. Existe en bois naturel ou chocolat.</div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8595 …}
    #channels: Doctrine\ORM\PersistentCollection {#8486 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8483 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8479 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Oleron"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29440
  -props: [
    "product" => App\Entity\Product\Product {#8477
      #id: 3044
      #code: "moulin-peugeot-oleron-3776"
      #attributes: Doctrine\ORM\PersistentCollection {#8488 …}
      #variants: Doctrine\ORM\PersistentCollection {#8599 …}
      #options: Doctrine\ORM\PersistentCollection {#8585 …}
      #associations: Doctrine\ORM\PersistentCollection {#8490 …}
      #createdAt: DateTime @1758632747 {#8427
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8428
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8591 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8586
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8477}
          #id: 3044
          #name: "Moulin Peugeot Oleron"
          #slug: "moulin-peugeot-oleron-3776"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Esth&eacute;tique sobre convenant &agrave; tous les styles.</li>\n
            <li>M&eacute;canismes garantis &agrave; vie.</li>\n
            <li>2 coloris au choix.</li>\n
            </ul></div><h1>Description Moulin Peugeot Oleron</h1><div class="col is-12">Le moulin Peugeot Ol&eacute;ron a un&nbsp;corps acrylique transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voquant le mouvement et jouant subtilement avec la lumi&egrave;re.&nbsp;Le moulin Peugeot Ol&eacute;ron propose&nbsp;3 m&eacute;canismes : poivre, sel sec et piment.&nbsp;\n
            <div></div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Une ligne de moulins dont le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Peugeot propose des m&eacute;canismes sp&eacute;cifiquement con&ccedil;us pour chaque &eacute;pice, la gamme Ol&eacute;ron offre 3 m&eacute;canismes : M&eacute;canisme &agrave; poivre, m&eacute;canisme &agrave; sel sec et m&eacute;canisme &agrave; piment.&nbsp;&nbsp;le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div></div><h1>Caractéristiques Moulin Peugeot Oleron</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>\n
            <div>Hauteur 15 cm. Corps acrylique. Haut bois. Vis inox. Garantie 2 ans. M&eacute;canismes poivre, sel sec, sel humide ou piment garantis &agrave; vie. R&eacute;glage de la mouture. Existe en bois naturel ou chocolat.</div></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8595 …}
      #channels: Doctrine\ORM\PersistentCollection {#8486 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8483 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8479 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.57 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29492
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29424 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29433 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29491 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8598 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8608
    #collection: Doctrine\Common\Collections\ArrayCollection {#8613 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8607 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38305 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38307 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29492
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29424 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29433 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29491 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Oleron"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8608
    #collection: Doctrine\Common\Collections\ArrayCollection {#8613 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8607 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38305 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38307 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29498
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29492
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29424 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29433 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29491 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8598 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8608
      #collection: Doctrine\Common\Collections\ArrayCollection {#8613 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8607 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38305 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38307 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29548
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29539 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29546 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29547 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8598 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29551
  +variant: App\Entity\Product\ProductVariant {#8598 …}
  +price: "35,00\u{A0}"
  +originalPrice: "38,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9285 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12715 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9282 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29548
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29539 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29546 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29547 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 3.73 ms
Input props
[
  "product" => App\Entity\Product\Product {#8676
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#8683 …}
    #variants: Doctrine\ORM\PersistentCollection {#8696 …}
    #options: Doctrine\ORM\PersistentCollection {#8687 …}
    #associations: Doctrine\ORM\PersistentCollection {#8685 …}
    #createdAt: DateTime @1758632755 {#8611
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8673
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8690 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8691
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8676}
        #id: 3108
        #name: "Moulin Peugeot Ouessant"
        #slug: "moulin-peugeot-ouessant-4362"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8693 …}
    #channels: Doctrine\ORM\PersistentCollection {#8681 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8677 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8679 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29431
  +product: App\Entity\Product\Product {#8676
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#8683 …}
    #variants: Doctrine\ORM\PersistentCollection {#8696 …}
    #options: Doctrine\ORM\PersistentCollection {#8687 …}
    #associations: Doctrine\ORM\PersistentCollection {#8685 …}
    #createdAt: DateTime @1758632755 {#8611
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8673
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8690 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8691
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8676}
        #id: 3108
        #name: "Moulin Peugeot Ouessant"
        #slug: "moulin-peugeot-ouessant-4362"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8693 …}
    #channels: Doctrine\ORM\PersistentCollection {#8681 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8677 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8679 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8697 …}
  +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 {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.73 ms
Input props
[
  "product" => App\Entity\Product\Product {#8676
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#8683 …}
    #variants: Doctrine\ORM\PersistentCollection {#8696 …}
    #options: Doctrine\ORM\PersistentCollection {#8687 …}
    #associations: Doctrine\ORM\PersistentCollection {#8685 …}
    #createdAt: DateTime @1758632755 {#8611
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8673
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8690 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8691
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8676}
        #id: 3108
        #name: "Moulin Peugeot Ouessant"
        #slug: "moulin-peugeot-ouessant-4362"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8693 …}
    #channels: Doctrine\ORM\PersistentCollection {#8681 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8677 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8679 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Ouessant"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29668
  -props: [
    "product" => App\Entity\Product\Product {#8676
      #id: 3108
      #code: "moulin-peugeot-ouessant-4362"
      #attributes: Doctrine\ORM\PersistentCollection {#8683 …}
      #variants: Doctrine\ORM\PersistentCollection {#8696 …}
      #options: Doctrine\ORM\PersistentCollection {#8687 …}
      #associations: Doctrine\ORM\PersistentCollection {#8685 …}
      #createdAt: DateTime @1758632755 {#8611
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632755 {#8673
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8690 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8691
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8676}
          #id: 3108
          #name: "Moulin Peugeot Ouessant"
          #slug: "moulin-peugeot-ouessant-4362"
          #description: """
            <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
            <div>\n
            <ul>\n
            <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
            <li>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul>\n
            </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8693 …}
      #channels: Doctrine\ORM\PersistentCollection {#8681 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8677 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8679 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.59 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29652 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29661 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8697 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8707
    #collection: Doctrine\Common\Collections\ArrayCollection {#8708 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8706 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38319 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38321 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29652 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29661 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Ouessant"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8707
    #collection: Doctrine\Common\Collections\ArrayCollection {#8708 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8706 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38319 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38321 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29726
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29720
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29652 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29661 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29719 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8697 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8707
      #collection: Doctrine\Common\Collections\ArrayCollection {#8708 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8706 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38319 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38321 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29776
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29767 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29774 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29775 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8697 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29779
  +variant: App\Entity\Product\ProductVariant {#8697 …}
  +price: "38,00\u{A0}"
  +originalPrice: "42,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9285 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12715 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9282 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29776
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29767 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29774 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29775 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 3.72 ms
Input props
[
  "product" => App\Entity\Product\Product {#8727
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8734 …}
    #variants: Doctrine\ORM\PersistentCollection {#8747 …}
    #options: Doctrine\ORM\PersistentCollection {#8738 …}
    #associations: Doctrine\ORM\PersistentCollection {#8736 …}
    #createdAt: DateTime @1758632747 {#8710
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8709
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8741 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8742
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8727}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>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 /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></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 {#8744 …}
    #channels: Doctrine\ORM\PersistentCollection {#8732 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8728 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8730 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29659
  +product: App\Entity\Product\Product {#8727
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8734 …}
    #variants: Doctrine\ORM\PersistentCollection {#8747 …}
    #options: Doctrine\ORM\PersistentCollection {#8738 …}
    #associations: Doctrine\ORM\PersistentCollection {#8736 …}
    #createdAt: DateTime @1758632747 {#8710
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8709
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8741 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8742
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8727}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>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 /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></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 {#8744 …}
    #channels: Doctrine\ORM\PersistentCollection {#8732 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8728 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8730 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8748 …}
  +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 {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.73 ms
Input props
[
  "product" => App\Entity\Product\Product {#8727
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8734 …}
    #variants: Doctrine\ORM\PersistentCollection {#8747 …}
    #options: Doctrine\ORM\PersistentCollection {#8738 …}
    #associations: Doctrine\ORM\PersistentCollection {#8736 …}
    #createdAt: DateTime @1758632747 {#8710
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8709
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8741 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8742
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8727}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>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 /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></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 {#8744 …}
    #channels: Doctrine\ORM\PersistentCollection {#8732 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8728 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8730 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Bistro"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29896
  -props: [
    "product" => App\Entity\Product\Product {#8727
      #id: 3043
      #code: "moulin-peugeot-bistro-2682"
      #attributes: Doctrine\ORM\PersistentCollection {#8734 …}
      #variants: Doctrine\ORM\PersistentCollection {#8747 …}
      #options: Doctrine\ORM\PersistentCollection {#8738 …}
      #associations: Doctrine\ORM\PersistentCollection {#8736 …}
      #createdAt: DateTime @1758632747 {#8710
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8709
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8741 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8742
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8727}
          #id: 3043
          #name: "Moulin Peugeot Bistro"
          #slug: "moulin-peugeot-bistro-2682"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie</li>\n
            <li>Corps bois vernis</li>\n
            <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
            </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>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 /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></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 {#8744 …}
      #channels: Doctrine\ORM\PersistentCollection {#8732 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8728 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8730 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.59 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29951
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29880 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29889 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29950 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8748 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8758
    #collection: Doctrine\Common\Collections\ArrayCollection {#8759 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8757 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38333 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38335 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29951
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29880 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29889 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29950 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Bistro"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8758
    #collection: Doctrine\Common\Collections\ArrayCollection {#8759 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8757 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38333 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38335 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29957
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29951
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29880 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29889 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29950 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8748 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8758
      #collection: Doctrine\Common\Collections\ArrayCollection {#8759 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8757 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38333 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38335 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.19 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30007
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29998 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30005 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30006 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8748 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30010
  +variant: App\Entity\Product\ProductVariant {#8748 …}
  +price: "40,00\u{A0}"
  +originalPrice: "44,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9285 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12715 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9282 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30007
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29998 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30005 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30006 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 3.57 ms
Input props
[
  "product" => App\Entity\Product\Product {#8778
    #id: 673
    #code: "mandoline-kobra-de-buyer-1936"
    #attributes: Doctrine\ORM\PersistentCollection {#8788 …}
    #variants: Doctrine\ORM\PersistentCollection {#8801 …}
    #options: Doctrine\ORM\PersistentCollection {#8792 …}
    #associations: Doctrine\ORM\PersistentCollection {#8790 …}
    #createdAt: DateTime @1758632238 {#8761
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632238 {#8760
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8795 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8796
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8778}
        #id: 673
        #name: "Mandoline Kobra De Buyer"
        #slug: "mandoline-kobra-de-buyer-1936"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Lame en V,&nbsp; tranchant parfait. </li>\n
          <li>Simplicit&eacute; d'utilisation et de r&eacute;glage. </li>\n
          <li>Compacte, facile &agrave; ranger. </li>\n
          <li>Qualit&eacute; professionnelle. </li>\n
          <li><strong>Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</strong></li>\n
          </ul></div><h1>Description Mandoline Kobra De Buyer</h1><div class="col is-12">La mandoline Kobra De Buyer&nbsp;permet de trancher tous vos fruits et l&eacute;gumes avec une efficacit&eacute; redoutable. Son secret ? Une lame en V avec&nbsp;micro-dentelures et&nbsp;un angle de coupe&nbsp;sp&eacute;cialement &eacute;tudi&eacute;.<br />Elle est pratique &agrave; utiliser et en toute s&eacute;curit&eacute;&nbsp;gr&acirc;ce &agrave; sa hauteur de coupe r&eacute;glable (molette plac&eacute;e en bout de poign&eacute;e), sa poign&eacute;e ergonomique, ses pieds anti-d&eacute;rapants et son poussoir.<br />Elle se range facilement gr&acirc;ce &agrave; son encombrement optimis&eacute; et la possibilit&eacute; de clipser le poussoir sous le manche.</div><h1>Caractéristiques Mandoline Kobra De Buyer</h1><div class="col is-12">Acier inoxydable et polym&egrave;res composite. lame inox&nbsp;en V avec&nbsp;angle de coupe &agrave; 19,3&deg; optimis&eacute;. R&eacute;glage de la hauteur de coupe &nbsp;de 1 mm &agrave; 5 mm avec molette int&eacute;gr&eacute;e. Poign&eacute;e ergonomique pour une prise en main naturelle.&nbsp;&nbsp;Pieds anti-d&eacute;rapants. Va au lave vaisselle. Encombrement optimis&eacute; : 36,8 x 8 x 12,1 cm. Livr&eacute;e avec poussoir de s&eacute;curit&eacute;.<br /><br /><a target="_blank" href="http://www.cuisinstore.com/mandoline-ustensiles-de-cuisine-143.html"><font color="#ff6600"><strong>Nos conseils pour bien choisir sa mandoline</strong></font></a><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 {#8798 …}
    #channels: Doctrine\ORM\PersistentCollection {#8786 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8780 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8782 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8784 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29887
  +product: App\Entity\Product\Product {#8778
    #id: 673
    #code: "mandoline-kobra-de-buyer-1936"
    #attributes: Doctrine\ORM\PersistentCollection {#8788 …}
    #variants: Doctrine\ORM\PersistentCollection {#8801 …}
    #options: Doctrine\ORM\PersistentCollection {#8792 …}
    #associations: Doctrine\ORM\PersistentCollection {#8790 …}
    #createdAt: DateTime @1758632238 {#8761
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632238 {#8760
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8795 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8796
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8778}
        #id: 673
        #name: "Mandoline Kobra De Buyer"
        #slug: "mandoline-kobra-de-buyer-1936"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Lame en V,&nbsp; tranchant parfait. </li>\n
          <li>Simplicit&eacute; d'utilisation et de r&eacute;glage. </li>\n
          <li>Compacte, facile &agrave; ranger. </li>\n
          <li>Qualit&eacute; professionnelle. </li>\n
          <li><strong>Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</strong></li>\n
          </ul></div><h1>Description Mandoline Kobra De Buyer</h1><div class="col is-12">La mandoline Kobra De Buyer&nbsp;permet de trancher tous vos fruits et l&eacute;gumes avec une efficacit&eacute; redoutable. Son secret ? Une lame en V avec&nbsp;micro-dentelures et&nbsp;un angle de coupe&nbsp;sp&eacute;cialement &eacute;tudi&eacute;.<br />Elle est pratique &agrave; utiliser et en toute s&eacute;curit&eacute;&nbsp;gr&acirc;ce &agrave; sa hauteur de coupe r&eacute;glable (molette plac&eacute;e en bout de poign&eacute;e), sa poign&eacute;e ergonomique, ses pieds anti-d&eacute;rapants et son poussoir.<br />Elle se range facilement gr&acirc;ce &agrave; son encombrement optimis&eacute; et la possibilit&eacute; de clipser le poussoir sous le manche.</div><h1>Caractéristiques Mandoline Kobra De Buyer</h1><div class="col is-12">Acier inoxydable et polym&egrave;res composite. lame inox&nbsp;en V avec&nbsp;angle de coupe &agrave; 19,3&deg; optimis&eacute;. R&eacute;glage de la hauteur de coupe &nbsp;de 1 mm &agrave; 5 mm avec molette int&eacute;gr&eacute;e. Poign&eacute;e ergonomique pour une prise en main naturelle.&nbsp;&nbsp;Pieds anti-d&eacute;rapants. Va au lave vaisselle. Encombrement optimis&eacute; : 36,8 x 8 x 12,1 cm. Livr&eacute;e avec poussoir de s&eacute;curit&eacute;.<br /><br /><a target="_blank" href="http://www.cuisinstore.com/mandoline-ustensiles-de-cuisine-143.html"><font color="#ff6600"><strong>Nos conseils pour bien choisir sa mandoline</strong></font></a><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 {#8798 …}
    #channels: Doctrine\ORM\PersistentCollection {#8786 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8780 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8782 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8784 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8802 …}
  +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 {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.68 ms
Input props
[
  "product" => App\Entity\Product\Product {#8778
    #id: 673
    #code: "mandoline-kobra-de-buyer-1936"
    #attributes: Doctrine\ORM\PersistentCollection {#8788 …}
    #variants: Doctrine\ORM\PersistentCollection {#8801 …}
    #options: Doctrine\ORM\PersistentCollection {#8792 …}
    #associations: Doctrine\ORM\PersistentCollection {#8790 …}
    #createdAt: DateTime @1758632238 {#8761
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632238 {#8760
      date: 2025-09-23 20:57:18.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8795 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8796
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8778}
        #id: 673
        #name: "Mandoline Kobra De Buyer"
        #slug: "mandoline-kobra-de-buyer-1936"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Lame en V,&nbsp; tranchant parfait. </li>\n
          <li>Simplicit&eacute; d'utilisation et de r&eacute;glage. </li>\n
          <li>Compacte, facile &agrave; ranger. </li>\n
          <li>Qualit&eacute; professionnelle. </li>\n
          <li><strong>Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</strong></li>\n
          </ul></div><h1>Description Mandoline Kobra De Buyer</h1><div class="col is-12">La mandoline Kobra De Buyer&nbsp;permet de trancher tous vos fruits et l&eacute;gumes avec une efficacit&eacute; redoutable. Son secret ? Une lame en V avec&nbsp;micro-dentelures et&nbsp;un angle de coupe&nbsp;sp&eacute;cialement &eacute;tudi&eacute;.<br />Elle est pratique &agrave; utiliser et en toute s&eacute;curit&eacute;&nbsp;gr&acirc;ce &agrave; sa hauteur de coupe r&eacute;glable (molette plac&eacute;e en bout de poign&eacute;e), sa poign&eacute;e ergonomique, ses pieds anti-d&eacute;rapants et son poussoir.<br />Elle se range facilement gr&acirc;ce &agrave; son encombrement optimis&eacute; et la possibilit&eacute; de clipser le poussoir sous le manche.</div><h1>Caractéristiques Mandoline Kobra De Buyer</h1><div class="col is-12">Acier inoxydable et polym&egrave;res composite. lame inox&nbsp;en V avec&nbsp;angle de coupe &agrave; 19,3&deg; optimis&eacute;. R&eacute;glage de la hauteur de coupe &nbsp;de 1 mm &agrave; 5 mm avec molette int&eacute;gr&eacute;e. Poign&eacute;e ergonomique pour une prise en main naturelle.&nbsp;&nbsp;Pieds anti-d&eacute;rapants. Va au lave vaisselle. Encombrement optimis&eacute; : 36,8 x 8 x 12,1 cm. Livr&eacute;e avec poussoir de s&eacute;curit&eacute;.<br /><br /><a target="_blank" href="http://www.cuisinstore.com/mandoline-ustensiles-de-cuisine-143.html"><font color="#ff6600"><strong>Nos conseils pour bien choisir sa mandoline</strong></font></a><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 {#8798 …}
    #channels: Doctrine\ORM\PersistentCollection {#8786 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8780 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8782 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8784 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Mandoline Kobra De Buyer"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30127
  -props: [
    "product" => App\Entity\Product\Product {#8778
      #id: 673
      #code: "mandoline-kobra-de-buyer-1936"
      #attributes: Doctrine\ORM\PersistentCollection {#8788 …}
      #variants: Doctrine\ORM\PersistentCollection {#8801 …}
      #options: Doctrine\ORM\PersistentCollection {#8792 …}
      #associations: Doctrine\ORM\PersistentCollection {#8790 …}
      #createdAt: DateTime @1758632238 {#8761
        date: 2025-09-23 20:57:18.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632238 {#8760
        date: 2025-09-23 20:57:18.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8795 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8796
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8778}
          #id: 673
          #name: "Mandoline Kobra De Buyer"
          #slug: "mandoline-kobra-de-buyer-1936"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Lame en V,&nbsp; tranchant parfait. </li>\n
            <li>Simplicit&eacute; d'utilisation et de r&eacute;glage. </li>\n
            <li>Compacte, facile &agrave; ranger. </li>\n
            <li>Qualit&eacute; professionnelle. </li>\n
            <li><strong>Fabrication fran&ccedil;aise. Val d'Ajol (Vosges)</strong></li>\n
            </ul></div><h1>Description Mandoline Kobra De Buyer</h1><div class="col is-12">La mandoline Kobra De Buyer&nbsp;permet de trancher tous vos fruits et l&eacute;gumes avec une efficacit&eacute; redoutable. Son secret ? Une lame en V avec&nbsp;micro-dentelures et&nbsp;un angle de coupe&nbsp;sp&eacute;cialement &eacute;tudi&eacute;.<br />Elle est pratique &agrave; utiliser et en toute s&eacute;curit&eacute;&nbsp;gr&acirc;ce &agrave; sa hauteur de coupe r&eacute;glable (molette plac&eacute;e en bout de poign&eacute;e), sa poign&eacute;e ergonomique, ses pieds anti-d&eacute;rapants et son poussoir.<br />Elle se range facilement gr&acirc;ce &agrave; son encombrement optimis&eacute; et la possibilit&eacute; de clipser le poussoir sous le manche.</div><h1>Caractéristiques Mandoline Kobra De Buyer</h1><div class="col is-12">Acier inoxydable et polym&egrave;res composite. lame inox&nbsp;en V avec&nbsp;angle de coupe &agrave; 19,3&deg; optimis&eacute;. R&eacute;glage de la hauteur de coupe &nbsp;de 1 mm &agrave; 5 mm avec molette int&eacute;gr&eacute;e. Poign&eacute;e ergonomique pour une prise en main naturelle.&nbsp;&nbsp;Pieds anti-d&eacute;rapants. Va au lave vaisselle. Encombrement optimis&eacute; : 36,8 x 8 x 12,1 cm. Livr&eacute;e avec poussoir de s&eacute;curit&eacute;.<br /><br /><a target="_blank" href="http://www.cuisinstore.com/mandoline-ustensiles-de-cuisine-143.html"><font color="#ff6600"><strong>Nos conseils pour bien choisir sa mandoline</strong></font></a><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 {#8798 …}
      #channels: Doctrine\ORM\PersistentCollection {#8786 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8780 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8782 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8784 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30176
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30111 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30120 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8802 …}
  "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 {#38347 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38349 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30176
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30111 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30120 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Mandoline Kobra De Buyer"
  "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 {#38347 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38349 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30182
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30176
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30111 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30120 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30175 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8802 …}
    "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 {#38347 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38349 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30232
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30223 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30230 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30231 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8802 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30235
  +variant: App\Entity\Product\ProductVariant {#8802 …}
  +price: "52,00\u{A0}"
  +originalPrice: "59,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9285 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12715 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9282 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30232
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30223 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30230 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30231 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 4.09 ms
Input props
[
  "product" => App\Entity\Product\Product {#8818
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8825 …}
    #variants: Doctrine\ORM\PersistentCollection {#8838 …}
    #options: Doctrine\ORM\PersistentCollection {#8829 …}
    #associations: Doctrine\ORM\PersistentCollection {#8827 …}
    #createdAt: DateTime @1758632747 {#8814
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8815
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8832 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8833
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8818}
        #id: 3041
        #name: "Moulin Peugeot PARIS chocolat U'Select"
        #slug: "moulin-peugeot-paris-chocolat-u-select-331"
        #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>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot PARIS chocolat U'Select</h1><div class="col is-12"><p><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Le moulin Peugeot Paris sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur &nbsp;votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</span><br />Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel.</p></div><h1>Description mécanisme moulin PEUGEOT U'Select</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.</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 {#8835 …}
    #channels: Doctrine\ORM\PersistentCollection {#8823 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8819 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8821 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30118
  +product: App\Entity\Product\Product {#8818
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8825 …}
    #variants: Doctrine\ORM\PersistentCollection {#8838 …}
    #options: Doctrine\ORM\PersistentCollection {#8829 …}
    #associations: Doctrine\ORM\PersistentCollection {#8827 …}
    #createdAt: DateTime @1758632747 {#8814
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8815
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8832 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8833
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8818}
        #id: 3041
        #name: "Moulin Peugeot PARIS chocolat U'Select"
        #slug: "moulin-peugeot-paris-chocolat-u-select-331"
        #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>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot PARIS chocolat U'Select</h1><div class="col is-12"><p><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Le moulin Peugeot Paris sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur &nbsp;votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</span><br />Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel.</p></div><h1>Description mécanisme moulin PEUGEOT U'Select</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.</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 {#8835 …}
    #channels: Doctrine\ORM\PersistentCollection {#8823 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8819 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8821 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8839 …}
  +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 {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.94 ms
Input props
[
  "product" => App\Entity\Product\Product {#8818
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8825 …}
    #variants: Doctrine\ORM\PersistentCollection {#8838 …}
    #options: Doctrine\ORM\PersistentCollection {#8829 …}
    #associations: Doctrine\ORM\PersistentCollection {#8827 …}
    #createdAt: DateTime @1758632747 {#8814
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8815
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8832 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8833
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8818}
        #id: 3041
        #name: "Moulin Peugeot PARIS chocolat U'Select"
        #slug: "moulin-peugeot-paris-chocolat-u-select-331"
        #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>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot PARIS chocolat U'Select</h1><div class="col is-12"><p><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Le moulin Peugeot Paris sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur &nbsp;votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</span><br />Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel.</p></div><h1>Description mécanisme moulin PEUGEOT U'Select</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.</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 {#8835 …}
    #channels: Doctrine\ORM\PersistentCollection {#8823 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8819 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8821 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot PARIS chocolat U'Select"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30352
  -props: [
    "product" => App\Entity\Product\Product {#8818
      #id: 3041
      #code: "moulin-peugeot-paris-chocolat-u-select-331"
      #attributes: Doctrine\ORM\PersistentCollection {#8825 …}
      #variants: Doctrine\ORM\PersistentCollection {#8838 …}
      #options: Doctrine\ORM\PersistentCollection {#8829 …}
      #associations: Doctrine\ORM\PersistentCollection {#8827 …}
      #createdAt: DateTime @1758632747 {#8814
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8815
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8832 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8833
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8818}
          #id: 3041
          #name: "Moulin Peugeot PARIS chocolat U'Select"
          #slug: "moulin-peugeot-paris-chocolat-u-select-331"
          #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>Corps bois vernis</li>\n
            <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
            </ul></div><h1>Description Moulin Peugeot PARIS chocolat U'Select</h1><div class="col is-12"><p><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Le moulin Peugeot Paris sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur &nbsp;votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</span><br />Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel.</p></div><h1>Description mécanisme moulin PEUGEOT U'Select</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.</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 {#8835 …}
      #channels: Doctrine\ORM\PersistentCollection {#8823 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8819 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8821 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30404
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30336 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30345 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30403 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8839 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8849
    #collection: Doctrine\Common\Collections\ArrayCollection {#8850 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8848 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38361 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38363 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30404
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30336 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30345 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30403 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot PARIS chocolat U'Select"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8849
    #collection: Doctrine\Common\Collections\ArrayCollection {#8850 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8848 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38361 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38363 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30410
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30404
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30336 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30345 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30403 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8839 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8849
      #collection: Doctrine\Common\Collections\ArrayCollection {#8850 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8848 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38361 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38363 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30460
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30451 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30458 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30459 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8839 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30463
  +variant: App\Entity\Product\ProductVariant {#8839 …}
  +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 {#9285 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12715 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9282 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30460
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30451 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30458 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30459 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 4.35 ms
Input props
[
  "product" => App\Entity\Product\Product {#8855
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8862 …}
    #variants: Doctrine\ORM\PersistentCollection {#8875 …}
    #options: Doctrine\ORM\PersistentCollection {#8866 …}
    #associations: Doctrine\ORM\PersistentCollection {#8864 …}
    #createdAt: DateTime @1758632754 {#8851
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8852
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8869 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8870
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8855}
        #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 {#8872 …}
    #channels: Doctrine\ORM\PersistentCollection {#8860 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8856 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8858 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30343
  +product: App\Entity\Product\Product {#8855
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8862 …}
    #variants: Doctrine\ORM\PersistentCollection {#8875 …}
    #options: Doctrine\ORM\PersistentCollection {#8866 …}
    #associations: Doctrine\ORM\PersistentCollection {#8864 …}
    #createdAt: DateTime @1758632754 {#8851
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8852
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8869 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8870
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8855}
        #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 {#8872 …}
    #channels: Doctrine\ORM\PersistentCollection {#8860 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8856 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8858 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8876 …}
  +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 {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.92 ms
Input props
[
  "product" => App\Entity\Product\Product {#8855
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8862 …}
    #variants: Doctrine\ORM\PersistentCollection {#8875 …}
    #options: Doctrine\ORM\PersistentCollection {#8866 …}
    #associations: Doctrine\ORM\PersistentCollection {#8864 …}
    #createdAt: DateTime @1758632754 {#8851
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8852
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8869 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8870
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8855}
        #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 {#8872 …}
    #channels: Doctrine\ORM\PersistentCollection {#8860 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8856 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8858 …}
    #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 {#30580
  -props: [
    "product" => App\Entity\Product\Product {#8855
      #id: 3098
      #code: "moulin-a-poivre-peugeot-roellinger-2111"
      #attributes: Doctrine\ORM\PersistentCollection {#8862 …}
      #variants: Doctrine\ORM\PersistentCollection {#8875 …}
      #options: Doctrine\ORM\PersistentCollection {#8866 …}
      #associations: Doctrine\ORM\PersistentCollection {#8864 …}
      #createdAt: DateTime @1758632754 {#8851
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#8852
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8869 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8870
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8855}
          #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 {#8872 …}
      #channels: Doctrine\ORM\PersistentCollection {#8860 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7397 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8856 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8858 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.75 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30635
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30564 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30573 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30634 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8876 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8886
    #collection: Doctrine\Common\Collections\ArrayCollection {#8887 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8885 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38375 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38377 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30635
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30564 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30573 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30634 …}
    +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 {#8886
    #collection: Doctrine\Common\Collections\ArrayCollection {#8887 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8885 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38375 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38377 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30641
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30635
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30564 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30573 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30634 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8876 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8886
      #collection: Doctrine\Common\Collections\ArrayCollection {#8887 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8885 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38375 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38377 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.16 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30691
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30682 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30689 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30690 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8876 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30694
  +variant: App\Entity\Product\ProductVariant {#8876 …}
  +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 {#9285 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12715 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9282 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30691
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30682 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30689 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30690 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 110.0 MiB 4.01 ms
Input props
[
  "product" => App\Entity\Product\Product {#8909
    #id: 1812
    #code: "entonnoir-doseur-a-piston-1213"
    #attributes: Doctrine\ORM\PersistentCollection {#8919 …}
    #variants: Doctrine\ORM\PersistentCollection {#8932 …}
    #options: Doctrine\ORM\PersistentCollection {#8923 …}
    #associations: Doctrine\ORM\PersistentCollection {#8921 …}
    #createdAt: DateTime @1758632414 {#8889
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632414 {#8888
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8926 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8927
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8909}
        #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 {#8929 …}
    #channels: Doctrine\ORM\PersistentCollection {#8917 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8911 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8913 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8915 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30571
  +product: App\Entity\Product\Product {#8909
    #id: 1812
    #code: "entonnoir-doseur-a-piston-1213"
    #attributes: Doctrine\ORM\PersistentCollection {#8919 …}
    #variants: Doctrine\ORM\PersistentCollection {#8932 …}
    #options: Doctrine\ORM\PersistentCollection {#8923 …}
    #associations: Doctrine\ORM\PersistentCollection {#8921 …}
    #createdAt: DateTime @1758632414 {#8889
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632414 {#8888
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8926 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8927
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8909}
        #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 {#8929 …}
    #channels: Doctrine\ORM\PersistentCollection {#8917 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8911 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8913 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8915 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8933 …}
  +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 {#28300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28333 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28339 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28326 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
110.0 MiB 0.85 ms
Input props
[
  "product" => App\Entity\Product\Product {#8909
    #id: 1812
    #code: "entonnoir-doseur-a-piston-1213"
    #attributes: Doctrine\ORM\PersistentCollection {#8919 …}
    #variants: Doctrine\ORM\PersistentCollection {#8932 …}
    #options: Doctrine\ORM\PersistentCollection {#8923 …}
    #associations: Doctrine\ORM\PersistentCollection {#8921 …}
    #createdAt: DateTime @1758632414 {#8889
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632414 {#8888
      date: 2025-09-23 21:00:14.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8926 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8927
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8909}
        #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 {#8929 …}
    #channels: Doctrine\ORM\PersistentCollection {#8917 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8911 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8913 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8915 …}
    #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 {#30811
  -props: [
    "product" => App\Entity\Product\Product {#8909
      #id: 1812
      #code: "entonnoir-doseur-a-piston-1213"
      #attributes: Doctrine\ORM\PersistentCollection {#8919 …}
      #variants: Doctrine\ORM\PersistentCollection {#8932 …}
      #options: Doctrine\ORM\PersistentCollection {#8923 …}
      #associations: Doctrine\ORM\PersistentCollection {#8921 …}
      #createdAt: DateTime @1758632414 {#8889
        date: 2025-09-23 21:00:14.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632414 {#8888
        date: 2025-09-23 21:00:14.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8926 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8927
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8909}
          #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 {#8929 …}
      #channels: Doctrine\ORM\PersistentCollection {#8917 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8911 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8913 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8915 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
110.0 MiB 0.70 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30866
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30795 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30804 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30865 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8933 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#8946
    #collection: Doctrine\Common\Collections\ArrayCollection {#8947 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8945 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38389 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38391 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30866
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30795 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30804 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30865 …}
    +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 {#8946
    #collection: Doctrine\Common\Collections\ArrayCollection {#8947 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8945 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38389 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38391 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30872
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30866
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30795 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30804 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30865 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8933 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#8946
      #collection: Doctrine\Common\Collections\ArrayCollection {#8947 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8945 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38389 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38391 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 110.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30922
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30913 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30920 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30921 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8933 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30925
  +variant: App\Entity\Product\ProductVariant {#8933 …}
  +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 {#9285 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12715 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9282 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30922
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30913 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30920 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30921 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:cart:widget:offcanvas Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 110.0 MiB 2.00 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28013
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12780 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28035 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12790 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31232
  +cart: App\Entity\Order\Order {#13694 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28013
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12780 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28035 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12790 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}