Components

12 Twig Components
44 Render Count
68 ms Render Time
114.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
sylius_shop:product:card
"Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
@SyliusUi/components/default.html.twig
9 40.84ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 9.09ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 7.36ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.44ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.13ms
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.97ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 14.37ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.09ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.87ms
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.02ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 114.0 MiB 1.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13256
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13249 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13255 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13254 …}
    +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 {#13876
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13147 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13256
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13249 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13255 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13254 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 114.0 MiB 0.71 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13953
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13949 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13951 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13952 …}
    +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 {#13962
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13953
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13949 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13951 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13952 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 114.0 MiB 4.97 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14044
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14023 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14043 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14042 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#14059
  +cart: App\Entity\Order\Order {#14126 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14044
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14023 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14043 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14042 …}
    +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 114.0 MiB 14.37 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14312
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14300 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14306 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14298 …}
    +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 {#14321
  #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 {#14312
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14300 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14306 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14298 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 114.0 MiB 1.09 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28028
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28024 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28025 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28027 …}
    +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 {#28037
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28028
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28024 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28025 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28027 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 114.0 MiB 0.87 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28141
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28137 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28138 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28140 …}
    +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 {#28149
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28141
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28137 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28138 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28140 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 114.0 MiB 2.05 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28226
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28222 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28223 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28225 …}
    +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 {#28234
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28226
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28222 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28223 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28225 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 8.47 ms
Input props
[
  "product" => App\Entity\Product\Product {#7949
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8635 …}
    #variants: Doctrine\ORM\PersistentCollection {#8776 …}
    #options: Doctrine\ORM\PersistentCollection {#8763 …}
    #associations: Doctrine\ORM\PersistentCollection {#8703 …}
    #createdAt: DateTime @1758632748 {#8058
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#7959
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8762 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8765
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7949}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8768 …}
    #channels: Doctrine\ORM\PersistentCollection {#8337 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8059 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8338 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28759
  +product: App\Entity\Product\Product {#7949
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8635 …}
    #variants: Doctrine\ORM\PersistentCollection {#8776 …}
    #options: Doctrine\ORM\PersistentCollection {#8763 …}
    #associations: Doctrine\ORM\PersistentCollection {#8703 …}
    #createdAt: DateTime @1758632748 {#8058
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#7959
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8762 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8765
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7949}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8768 …}
    #channels: Doctrine\ORM\PersistentCollection {#8337 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8059 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8338 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8779 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 1.94 ms
Input props
[
  "product" => App\Entity\Product\Product {#7949
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8635 …}
    #variants: Doctrine\ORM\PersistentCollection {#8776 …}
    #options: Doctrine\ORM\PersistentCollection {#8763 …}
    #associations: Doctrine\ORM\PersistentCollection {#8703 …}
    #createdAt: DateTime @1758632748 {#8058
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#7959
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8762 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8765
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7949}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8768 …}
    #channels: Doctrine\ORM\PersistentCollection {#8337 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8059 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8338 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Paris bois d'Olivier Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28919
  -props: [
    "product" => App\Entity\Product\Product {#7949
      #id: 3066
      #code: "moulin-paris-bois-d-olivier-peugeot-7542"
      #attributes: Doctrine\ORM\PersistentCollection {#8635 …}
      #variants: Doctrine\ORM\PersistentCollection {#8776 …}
      #options: Doctrine\ORM\PersistentCollection {#8763 …}
      #associations: Doctrine\ORM\PersistentCollection {#8703 …}
      #createdAt: DateTime @1758632748 {#8058
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#7959
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8762 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8765
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#7949}
          #id: 3066
          #name: "Moulin Paris bois d'Olivier Peugeot"
          #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
            <li>Toucher velout&eacute;.</li>\n
            <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8768 …}
      #channels: Doctrine\ORM\PersistentCollection {#8337 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8059 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8338 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 1.42 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28999
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28995 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28996 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28998 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8779 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9050
    #collection: Doctrine\Common\Collections\ArrayCollection {#9049 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8896 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38191 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38243 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28999
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28995 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28996 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28998 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Paris bois d'Olivier Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9050
    #collection: Doctrine\Common\Collections\ArrayCollection {#9049 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8896 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38191 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38243 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29003
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28999
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28995 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28996 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28998 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8779 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9050
      #collection: Doctrine\Common\Collections\ArrayCollection {#9049 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8896 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38191 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38243 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.38 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29071
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29061 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29069 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29070 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8779 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29080
  +variant: App\Entity\Product\ProductVariant {#8779 …}
  +price: "62,00\u{A0}"
  +originalPrice: "69,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9717 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13147 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9714 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29071
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29061 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29069 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29070 …}
    +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 114.0 MiB 4.15 ms
Input props
[
  "product" => App\Entity\Product\Product {#9054
    #id: 3100
    #code: "moulin-peugeot-fidji-noir-mat-4379"
    #attributes: Doctrine\ORM\PersistentCollection {#9061 …}
    #variants: Doctrine\ORM\PersistentCollection {#9077 …}
    #options: Doctrine\ORM\PersistentCollection {#9065 …}
    #associations: Doctrine\ORM\PersistentCollection {#9063 …}
    #createdAt: DateTime @1758632754 {#9048
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9051
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9068 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9069
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9054}
        #id: 3100
        #name: "Moulin Peugeot Fidji noir mat"
        #slug: "moulin-peugeot-fidji-noir-mat-4379"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>T&ecirc;te inox</li>\n
          <li>Corps bois.</li>\n
          </ul></div><h1>Description Moulin Peugeot Fidji noir mat</h1><div class="col is-12">Corps bois vernis. T&ecirc;te inox. &nbsp;Syst&egrave;me de fermeture par vis grav&eacute;e poivre ou sel. Tailles de&nbsp;15 &agrave;&nbsp;20 cm.</div><h1>Description mécanisme Peugeot</h1><div class="col is-12"><p style="margin: 0px; padding: 0px; font-size: 12px; overflow: hidden;">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 {#9071 …}
    #channels: Doctrine\ORM\PersistentCollection {#9059 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9055 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9057 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28897
  +product: App\Entity\Product\Product {#9054
    #id: 3100
    #code: "moulin-peugeot-fidji-noir-mat-4379"
    #attributes: Doctrine\ORM\PersistentCollection {#9061 …}
    #variants: Doctrine\ORM\PersistentCollection {#9077 …}
    #options: Doctrine\ORM\PersistentCollection {#9065 …}
    #associations: Doctrine\ORM\PersistentCollection {#9063 …}
    #createdAt: DateTime @1758632754 {#9048
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9051
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9068 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9069
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9054}
        #id: 3100
        #name: "Moulin Peugeot Fidji noir mat"
        #slug: "moulin-peugeot-fidji-noir-mat-4379"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>T&ecirc;te inox</li>\n
          <li>Corps bois.</li>\n
          </ul></div><h1>Description Moulin Peugeot Fidji noir mat</h1><div class="col is-12">Corps bois vernis. T&ecirc;te inox. &nbsp;Syst&egrave;me de fermeture par vis grav&eacute;e poivre ou sel. Tailles de&nbsp;15 &agrave;&nbsp;20 cm.</div><h1>Description mécanisme Peugeot</h1><div class="col is-12"><p style="margin: 0px; padding: 0px; font-size: 12px; overflow: hidden;">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 {#9071 …}
    #channels: Doctrine\ORM\PersistentCollection {#9059 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9055 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9057 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9078 …}
  +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 {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.92 ms
Input props
[
  "product" => App\Entity\Product\Product {#9054
    #id: 3100
    #code: "moulin-peugeot-fidji-noir-mat-4379"
    #attributes: Doctrine\ORM\PersistentCollection {#9061 …}
    #variants: Doctrine\ORM\PersistentCollection {#9077 …}
    #options: Doctrine\ORM\PersistentCollection {#9065 …}
    #associations: Doctrine\ORM\PersistentCollection {#9063 …}
    #createdAt: DateTime @1758632754 {#9048
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9051
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9068 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9069
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9054}
        #id: 3100
        #name: "Moulin Peugeot Fidji noir mat"
        #slug: "moulin-peugeot-fidji-noir-mat-4379"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>T&ecirc;te inox</li>\n
          <li>Corps bois.</li>\n
          </ul></div><h1>Description Moulin Peugeot Fidji noir mat</h1><div class="col is-12">Corps bois vernis. T&ecirc;te inox. &nbsp;Syst&egrave;me de fermeture par vis grav&eacute;e poivre ou sel. Tailles de&nbsp;15 &agrave;&nbsp;20 cm.</div><h1>Description mécanisme Peugeot</h1><div class="col is-12"><p style="margin: 0px; padding: 0px; font-size: 12px; overflow: hidden;">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 {#9071 …}
    #channels: Doctrine\ORM\PersistentCollection {#9059 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9055 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9057 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Fidji noir mat"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29207
  -props: [
    "product" => App\Entity\Product\Product {#9054
      #id: 3100
      #code: "moulin-peugeot-fidji-noir-mat-4379"
      #attributes: Doctrine\ORM\PersistentCollection {#9061 …}
      #variants: Doctrine\ORM\PersistentCollection {#9077 …}
      #options: Doctrine\ORM\PersistentCollection {#9065 …}
      #associations: Doctrine\ORM\PersistentCollection {#9063 …}
      #createdAt: DateTime @1758632754 {#9048
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#9051
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9068 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9069
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9054}
          #id: 3100
          #name: "Moulin Peugeot Fidji noir mat"
          #slug: "moulin-peugeot-fidji-noir-mat-4379"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>T&ecirc;te inox</li>\n
            <li>Corps bois.</li>\n
            </ul></div><h1>Description Moulin Peugeot Fidji noir mat</h1><div class="col is-12">Corps bois vernis. T&ecirc;te inox. &nbsp;Syst&egrave;me de fermeture par vis grav&eacute;e poivre ou sel. Tailles de&nbsp;15 &agrave;&nbsp;20 cm.</div><h1>Description mécanisme Peugeot</h1><div class="col is-12"><p style="margin: 0px; padding: 0px; font-size: 12px; overflow: hidden;">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 {#9071 …}
      #channels: Doctrine\ORM\PersistentCollection {#9059 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9055 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9057 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.75 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29259
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29191 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29200 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29258 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9078 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9091
    #collection: Doctrine\Common\Collections\ArrayCollection {#9092 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9090 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38263 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38265 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29259
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29191 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29200 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29258 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Fidji noir mat"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9091
    #collection: Doctrine\Common\Collections\ArrayCollection {#9092 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9090 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38263 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38265 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29265
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29259
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29191 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29200 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29258 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9078 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9091
      #collection: Doctrine\Common\Collections\ArrayCollection {#9092 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9090 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38263 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38265 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29315
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29306 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29313 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29314 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9078 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29318
  +variant: App\Entity\Product\ProductVariant {#9078 …}
  +price: "62,00\u{A0}"
  +originalPrice: "69,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9717 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13147 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9714 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29315
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29306 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29313 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29314 …}
    +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 114.0 MiB 4.09 ms
Input props
[
  "product" => App\Entity\Product\Product {#9097
    #id: 3118
    #code: "moulins-duo-paris-poivre-sel-peugeot-7368"
    #attributes: Doctrine\ORM\PersistentCollection {#9104 …}
    #variants: Doctrine\ORM\PersistentCollection {#9120 …}
    #options: Doctrine\ORM\PersistentCollection {#9108 …}
    #associations: Doctrine\ORM\PersistentCollection {#9106 …}
    #createdAt: DateTime @1758632759 {#9093
      date: 2025-09-23 21:05:59.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632759 {#9094
      date: 2025-09-23 21:05:59.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9111 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9112
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9097}
        #id: 3118
        #name: "Moulins Duo Paris poivre & sel Peugeot"
        #slug: "moulins-duo-paris-poivre-sel-peugeot-7368"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canismes Peugeot garantis &agrave; vie.</li>\n
          <li>Hauteur : 18 cm.</li>\n
          <li><strong>Fabriqu&eacute;s en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulins Duo Paris poivre & sel Peugeot</h1><div class="col is-12">Lot compos&eacute; d'un moulin &agrave; poivre chocolat et d'un moulin &agrave; sel naturel de 18 cm de hauteur</div><h1>Caractéristiques Moulins Duo Paris poivre & sel Peugeot</h1><div class="col is-12">- 1 moulin &agrave; poivre chocolat de 18 cm de hauteur.<br />- 1 moulin &agrave; sel naturel de 18 cm de hauteur.<br />- Fabrication fran&ccedil;aise.</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 {#9114 …}
    #channels: Doctrine\ORM\PersistentCollection {#9102 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9098 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9100 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29198
  +product: App\Entity\Product\Product {#9097
    #id: 3118
    #code: "moulins-duo-paris-poivre-sel-peugeot-7368"
    #attributes: Doctrine\ORM\PersistentCollection {#9104 …}
    #variants: Doctrine\ORM\PersistentCollection {#9120 …}
    #options: Doctrine\ORM\PersistentCollection {#9108 …}
    #associations: Doctrine\ORM\PersistentCollection {#9106 …}
    #createdAt: DateTime @1758632759 {#9093
      date: 2025-09-23 21:05:59.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632759 {#9094
      date: 2025-09-23 21:05:59.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9111 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9112
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9097}
        #id: 3118
        #name: "Moulins Duo Paris poivre & sel Peugeot"
        #slug: "moulins-duo-paris-poivre-sel-peugeot-7368"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canismes Peugeot garantis &agrave; vie.</li>\n
          <li>Hauteur : 18 cm.</li>\n
          <li><strong>Fabriqu&eacute;s en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulins Duo Paris poivre & sel Peugeot</h1><div class="col is-12">Lot compos&eacute; d'un moulin &agrave; poivre chocolat et d'un moulin &agrave; sel naturel de 18 cm de hauteur</div><h1>Caractéristiques Moulins Duo Paris poivre & sel Peugeot</h1><div class="col is-12">- 1 moulin &agrave; poivre chocolat de 18 cm de hauteur.<br />- 1 moulin &agrave; sel naturel de 18 cm de hauteur.<br />- Fabrication fran&ccedil;aise.</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 {#9114 …}
    #channels: Doctrine\ORM\PersistentCollection {#9102 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9098 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9100 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9121 …}
  +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 {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.97 ms
Input props
[
  "product" => App\Entity\Product\Product {#9097
    #id: 3118
    #code: "moulins-duo-paris-poivre-sel-peugeot-7368"
    #attributes: Doctrine\ORM\PersistentCollection {#9104 …}
    #variants: Doctrine\ORM\PersistentCollection {#9120 …}
    #options: Doctrine\ORM\PersistentCollection {#9108 …}
    #associations: Doctrine\ORM\PersistentCollection {#9106 …}
    #createdAt: DateTime @1758632759 {#9093
      date: 2025-09-23 21:05:59.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632759 {#9094
      date: 2025-09-23 21:05:59.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9111 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9112
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9097}
        #id: 3118
        #name: "Moulins Duo Paris poivre & sel Peugeot"
        #slug: "moulins-duo-paris-poivre-sel-peugeot-7368"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canismes Peugeot garantis &agrave; vie.</li>\n
          <li>Hauteur : 18 cm.</li>\n
          <li><strong>Fabriqu&eacute;s en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulins Duo Paris poivre & sel Peugeot</h1><div class="col is-12">Lot compos&eacute; d'un moulin &agrave; poivre chocolat et d'un moulin &agrave; sel naturel de 18 cm de hauteur</div><h1>Caractéristiques Moulins Duo Paris poivre & sel Peugeot</h1><div class="col is-12">- 1 moulin &agrave; poivre chocolat de 18 cm de hauteur.<br />- 1 moulin &agrave; sel naturel de 18 cm de hauteur.<br />- Fabrication fran&ccedil;aise.</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 {#9114 …}
    #channels: Doctrine\ORM\PersistentCollection {#9102 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9098 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9100 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulins Duo Paris poivre & sel Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29435
  -props: [
    "product" => App\Entity\Product\Product {#9097
      #id: 3118
      #code: "moulins-duo-paris-poivre-sel-peugeot-7368"
      #attributes: Doctrine\ORM\PersistentCollection {#9104 …}
      #variants: Doctrine\ORM\PersistentCollection {#9120 …}
      #options: Doctrine\ORM\PersistentCollection {#9108 …}
      #associations: Doctrine\ORM\PersistentCollection {#9106 …}
      #createdAt: DateTime @1758632759 {#9093
        date: 2025-09-23 21:05:59.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632759 {#9094
        date: 2025-09-23 21:05:59.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9111 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9112
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9097}
          #id: 3118
          #name: "Moulins Duo Paris poivre & sel Peugeot"
          #slug: "moulins-duo-paris-poivre-sel-peugeot-7368"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canismes Peugeot garantis &agrave; vie.</li>\n
            <li>Hauteur : 18 cm.</li>\n
            <li><strong>Fabriqu&eacute;s en France.</strong></li>\n
            </ul></div><h1>Descriptif Moulins Duo Paris poivre & sel Peugeot</h1><div class="col is-12">Lot compos&eacute; d'un moulin &agrave; poivre chocolat et d'un moulin &agrave; sel naturel de 18 cm de hauteur</div><h1>Caractéristiques Moulins Duo Paris poivre & sel Peugeot</h1><div class="col is-12">- 1 moulin &agrave; poivre chocolat de 18 cm de hauteur.<br />- 1 moulin &agrave; sel naturel de 18 cm de hauteur.<br />- Fabrication fran&ccedil;aise.</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 {#9114 …}
      #channels: Doctrine\ORM\PersistentCollection {#9102 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9098 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9100 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29481
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29419 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29428 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29480 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9121 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9134
    #collection: Doctrine\Common\Collections\ArrayCollection {#9135 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9133 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38277 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38279 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29481
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29419 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29428 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29480 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulins Duo Paris poivre & sel Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9134
    #collection: Doctrine\Common\Collections\ArrayCollection {#9135 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9133 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38277 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38279 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29487
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29481
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29419 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29428 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29480 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9121 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9134
      #collection: Doctrine\Common\Collections\ArrayCollection {#9135 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9133 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38277 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38279 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29537
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29528 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29535 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29536 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9121 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29540
  +variant: App\Entity\Product\ProductVariant {#9121 …}
  +price: "64,00\u{A0}"
  +originalPrice: "64,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9717 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13147 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9714 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29537
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29528 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29535 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29536 …}
    +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 114.0 MiB 3.99 ms
Input props
[
  "product" => App\Entity\Product\Product {#9140
    #id: 3122
    #code: "moulin-a-graines-de-lin-isen-peugeot-5963"
    #attributes: Doctrine\ORM\PersistentCollection {#9147 …}
    #variants: Doctrine\ORM\PersistentCollection {#9163 …}
    #options: Doctrine\ORM\PersistentCollection {#9151 …}
    #associations: Doctrine\ORM\PersistentCollection {#9149 …}
    #createdAt: DateTime @1758632762 {#9136
      date: 2025-09-23 21:06:02.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632762 {#9137
      date: 2025-09-23 21:06:02.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9154 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9155
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9140}
        #id: 3122
        #name: "Moulin à Graines de Lin Isen Peugeot"
        #slug: "moulin-a-graines-de-lin-isen-peugeot-5963"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Sp&eacute;cialement con&ccedil;u pour moudre les graines de Lin.</li>\n
          <li>Garanti &agrave; vie.</li>\n
          <li>D&eacute;montage et nettoyage faciles.</li>\n
          </ul></div><h1>Descriptif Moulin à Graines de Lin Isen Peugeot</h1><div class="col is-12">Le moulin &agrave; graines de lin Peugeot a vu chacun de ses d&eacute;tails soigneusement pens&eacute;s : La cuill&egrave;re doseuse 5 gr ainsi que la tr&eacute;mie &agrave; ouverture d&eacute;licate v&eacute;ritable clin d'oeil aux moulins &agrave; caf&eacute; d'antan. Au coeur de ce moulin tourne un m&eacute;canisme in&eacute;dit et brevet&eacute; entrain&eacute; par une poign&eacute;e au design contemporain. Facilement d&eacute;montable et nettoyable, ce moulin est sp&eacute;cifiquement adapt&eacute; &agrave; la consistance et la duret&eacute; de la graine de Lin.</div><h1>Caractéristiques Moulin à Graines de Lin Isen Peugeot</h1><div class="col is-12">Sp&eacute;cifiquement adapt&eacute; &agrave; la consistance et &agrave; la duret&eacute; de la graine de lin.<br />M&eacute;canisme en r&eacute;sine plastique.<br />Facilement d&eacute;montable et nettoyable.<br />Hauteur : 13 cm<br />livr&eacute; avec une cuill&egrave;re inox doseuse 5 gr.<br />1 brosse de netoyage.<br />Garanti &agrave; vie.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9157 …}
    #channels: Doctrine\ORM\PersistentCollection {#9145 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9141 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9143 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29426
  +product: App\Entity\Product\Product {#9140
    #id: 3122
    #code: "moulin-a-graines-de-lin-isen-peugeot-5963"
    #attributes: Doctrine\ORM\PersistentCollection {#9147 …}
    #variants: Doctrine\ORM\PersistentCollection {#9163 …}
    #options: Doctrine\ORM\PersistentCollection {#9151 …}
    #associations: Doctrine\ORM\PersistentCollection {#9149 …}
    #createdAt: DateTime @1758632762 {#9136
      date: 2025-09-23 21:06:02.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632762 {#9137
      date: 2025-09-23 21:06:02.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9154 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9155
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9140}
        #id: 3122
        #name: "Moulin à Graines de Lin Isen Peugeot"
        #slug: "moulin-a-graines-de-lin-isen-peugeot-5963"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Sp&eacute;cialement con&ccedil;u pour moudre les graines de Lin.</li>\n
          <li>Garanti &agrave; vie.</li>\n
          <li>D&eacute;montage et nettoyage faciles.</li>\n
          </ul></div><h1>Descriptif Moulin à Graines de Lin Isen Peugeot</h1><div class="col is-12">Le moulin &agrave; graines de lin Peugeot a vu chacun de ses d&eacute;tails soigneusement pens&eacute;s : La cuill&egrave;re doseuse 5 gr ainsi que la tr&eacute;mie &agrave; ouverture d&eacute;licate v&eacute;ritable clin d'oeil aux moulins &agrave; caf&eacute; d'antan. Au coeur de ce moulin tourne un m&eacute;canisme in&eacute;dit et brevet&eacute; entrain&eacute; par une poign&eacute;e au design contemporain. Facilement d&eacute;montable et nettoyable, ce moulin est sp&eacute;cifiquement adapt&eacute; &agrave; la consistance et la duret&eacute; de la graine de Lin.</div><h1>Caractéristiques Moulin à Graines de Lin Isen Peugeot</h1><div class="col is-12">Sp&eacute;cifiquement adapt&eacute; &agrave; la consistance et &agrave; la duret&eacute; de la graine de lin.<br />M&eacute;canisme en r&eacute;sine plastique.<br />Facilement d&eacute;montable et nettoyable.<br />Hauteur : 13 cm<br />livr&eacute; avec une cuill&egrave;re inox doseuse 5 gr.<br />1 brosse de netoyage.<br />Garanti &agrave; vie.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9157 …}
    #channels: Doctrine\ORM\PersistentCollection {#9145 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9141 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9143 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9164 …}
  +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 {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.84 ms
Input props
[
  "product" => App\Entity\Product\Product {#9140
    #id: 3122
    #code: "moulin-a-graines-de-lin-isen-peugeot-5963"
    #attributes: Doctrine\ORM\PersistentCollection {#9147 …}
    #variants: Doctrine\ORM\PersistentCollection {#9163 …}
    #options: Doctrine\ORM\PersistentCollection {#9151 …}
    #associations: Doctrine\ORM\PersistentCollection {#9149 …}
    #createdAt: DateTime @1758632762 {#9136
      date: 2025-09-23 21:06:02.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632762 {#9137
      date: 2025-09-23 21:06:02.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9154 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9155
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9140}
        #id: 3122
        #name: "Moulin à Graines de Lin Isen Peugeot"
        #slug: "moulin-a-graines-de-lin-isen-peugeot-5963"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Sp&eacute;cialement con&ccedil;u pour moudre les graines de Lin.</li>\n
          <li>Garanti &agrave; vie.</li>\n
          <li>D&eacute;montage et nettoyage faciles.</li>\n
          </ul></div><h1>Descriptif Moulin à Graines de Lin Isen Peugeot</h1><div class="col is-12">Le moulin &agrave; graines de lin Peugeot a vu chacun de ses d&eacute;tails soigneusement pens&eacute;s : La cuill&egrave;re doseuse 5 gr ainsi que la tr&eacute;mie &agrave; ouverture d&eacute;licate v&eacute;ritable clin d'oeil aux moulins &agrave; caf&eacute; d'antan. Au coeur de ce moulin tourne un m&eacute;canisme in&eacute;dit et brevet&eacute; entrain&eacute; par une poign&eacute;e au design contemporain. Facilement d&eacute;montable et nettoyable, ce moulin est sp&eacute;cifiquement adapt&eacute; &agrave; la consistance et la duret&eacute; de la graine de Lin.</div><h1>Caractéristiques Moulin à Graines de Lin Isen Peugeot</h1><div class="col is-12">Sp&eacute;cifiquement adapt&eacute; &agrave; la consistance et &agrave; la duret&eacute; de la graine de lin.<br />M&eacute;canisme en r&eacute;sine plastique.<br />Facilement d&eacute;montable et nettoyable.<br />Hauteur : 13 cm<br />livr&eacute; avec une cuill&egrave;re inox doseuse 5 gr.<br />1 brosse de netoyage.<br />Garanti &agrave; vie.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9157 …}
    #channels: Doctrine\ORM\PersistentCollection {#9145 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9141 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9143 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin à Graines de Lin Isen Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29657
  -props: [
    "product" => App\Entity\Product\Product {#9140
      #id: 3122
      #code: "moulin-a-graines-de-lin-isen-peugeot-5963"
      #attributes: Doctrine\ORM\PersistentCollection {#9147 …}
      #variants: Doctrine\ORM\PersistentCollection {#9163 …}
      #options: Doctrine\ORM\PersistentCollection {#9151 …}
      #associations: Doctrine\ORM\PersistentCollection {#9149 …}
      #createdAt: DateTime @1758632762 {#9136
        date: 2025-09-23 21:06:02.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632762 {#9137
        date: 2025-09-23 21:06:02.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9154 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9155
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9140}
          #id: 3122
          #name: "Moulin à Graines de Lin Isen Peugeot"
          #slug: "moulin-a-graines-de-lin-isen-peugeot-5963"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Sp&eacute;cialement con&ccedil;u pour moudre les graines de Lin.</li>\n
            <li>Garanti &agrave; vie.</li>\n
            <li>D&eacute;montage et nettoyage faciles.</li>\n
            </ul></div><h1>Descriptif Moulin à Graines de Lin Isen Peugeot</h1><div class="col is-12">Le moulin &agrave; graines de lin Peugeot a vu chacun de ses d&eacute;tails soigneusement pens&eacute;s : La cuill&egrave;re doseuse 5 gr ainsi que la tr&eacute;mie &agrave; ouverture d&eacute;licate v&eacute;ritable clin d'oeil aux moulins &agrave; caf&eacute; d'antan. Au coeur de ce moulin tourne un m&eacute;canisme in&eacute;dit et brevet&eacute; entrain&eacute; par une poign&eacute;e au design contemporain. Facilement d&eacute;montable et nettoyable, ce moulin est sp&eacute;cifiquement adapt&eacute; &agrave; la consistance et la duret&eacute; de la graine de Lin.</div><h1>Caractéristiques Moulin à Graines de Lin Isen Peugeot</h1><div class="col is-12">Sp&eacute;cifiquement adapt&eacute; &agrave; la consistance et &agrave; la duret&eacute; de la graine de lin.<br />M&eacute;canisme en r&eacute;sine plastique.<br />Facilement d&eacute;montable et nettoyable.<br />Hauteur : 13 cm<br />livr&eacute; avec une cuill&egrave;re inox doseuse 5 gr.<br />1 brosse de netoyage.<br />Garanti &agrave; vie.&nbsp;</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9157 …}
      #channels: Doctrine\ORM\PersistentCollection {#9145 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9141 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9143 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29706
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29641 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29650 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29705 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9164 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9174
    #collection: Doctrine\Common\Collections\ArrayCollection {#9175 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9173 …}
    -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 {#29706
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29641 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29650 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29705 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin à Graines de Lin Isen Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9174
    #collection: Doctrine\Common\Collections\ArrayCollection {#9175 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9173 …}
    -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 {#29712
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29706
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29641 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29650 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29705 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9164 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9174
      #collection: Doctrine\Common\Collections\ArrayCollection {#9175 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9173 …}
      -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 114.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29762
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29760 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29761 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9164 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29765
  +variant: App\Entity\Product\ProductVariant {#9164 …}
  +price: "65,00\u{A0}"
  +originalPrice: "72,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9717 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13147 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9714 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29762
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29760 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29761 …}
    +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 114.0 MiB 4.02 ms
Input props
[
  "product" => App\Entity\Product\Product {#9180
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#9187 …}
    #variants: Doctrine\ORM\PersistentCollection {#9200 …}
    #options: Doctrine\ORM\PersistentCollection {#9191 …}
    #associations: Doctrine\ORM\PersistentCollection {#9189 …}
    #createdAt: DateTime @1758632747 {#9176
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9177
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9194 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9195
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9180}
        #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 {#9197 …}
    #channels: Doctrine\ORM\PersistentCollection {#9185 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9181 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9183 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29648
  +product: App\Entity\Product\Product {#9180
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#9187 …}
    #variants: Doctrine\ORM\PersistentCollection {#9200 …}
    #options: Doctrine\ORM\PersistentCollection {#9191 …}
    #associations: Doctrine\ORM\PersistentCollection {#9189 …}
    #createdAt: DateTime @1758632747 {#9176
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9177
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9194 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9195
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9180}
        #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 {#9197 …}
    #channels: Doctrine\ORM\PersistentCollection {#9185 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9181 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9183 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9201 …}
  +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 {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.88 ms
Input props
[
  "product" => App\Entity\Product\Product {#9180
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#9187 …}
    #variants: Doctrine\ORM\PersistentCollection {#9200 …}
    #options: Doctrine\ORM\PersistentCollection {#9191 …}
    #associations: Doctrine\ORM\PersistentCollection {#9189 …}
    #createdAt: DateTime @1758632747 {#9176
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9177
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9194 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9195
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9180}
        #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 {#9197 …}
    #channels: Doctrine\ORM\PersistentCollection {#9185 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9181 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9183 …}
    #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 {#29882
  -props: [
    "product" => App\Entity\Product\Product {#9180
      #id: 3041
      #code: "moulin-peugeot-paris-chocolat-u-select-331"
      #attributes: Doctrine\ORM\PersistentCollection {#9187 …}
      #variants: Doctrine\ORM\PersistentCollection {#9200 …}
      #options: Doctrine\ORM\PersistentCollection {#9191 …}
      #associations: Doctrine\ORM\PersistentCollection {#9189 …}
      #createdAt: DateTime @1758632747 {#9176
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#9177
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9194 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9195
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9180}
          #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 {#9197 …}
      #channels: Doctrine\ORM\PersistentCollection {#9185 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9181 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9183 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.76 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29934
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29866 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29875 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29933 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9201 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9211
    #collection: Doctrine\Common\Collections\ArrayCollection {#9212 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9210 …}
    -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 {#29934
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29866 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29875 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29933 …}
    +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 {#9211
    #collection: Doctrine\Common\Collections\ArrayCollection {#9212 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9210 …}
    -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 {#29940
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29934
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29866 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29875 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29933 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9201 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9211
      #collection: Doctrine\Common\Collections\ArrayCollection {#9212 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9210 …}
      -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 114.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29990
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29981 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29988 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29989 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9201 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29993
  +variant: App\Entity\Product\ProductVariant {#9201 …}
  +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 {#9717 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13147 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9714 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29990
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29981 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29988 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29989 …}
    +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 114.0 MiB 4.04 ms
Input props
[
  "product" => App\Entity\Product\Product {#9218
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#9225 …}
    #variants: Doctrine\ORM\PersistentCollection {#9238 …}
    #options: Doctrine\ORM\PersistentCollection {#9229 …}
    #associations: Doctrine\ORM\PersistentCollection {#9227 …}
    #createdAt: DateTime @1758632747 {#9216
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9215
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9232 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9233
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9218}
        #id: 3042
        #name: "Moulin Peugeot PARIS naturel U'Select"
        #slug: "moulin-peugeot-paris-naturel-u-select-508"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme iconique.</li>\n
          <li>Corps en bois labellis&eacute; PEFC</li>\n
          <li>Syst&egrave;me de pr&eacute;-r&eacute;glage Uselect.</li>\n
          <li>M&eacute;canisme poivre ou sel inox tr&egrave;s efficace garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; &agrave; Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Moulin Paris Peugeot, une icône !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div>\n
          <div>Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div></div><h1>Parlons du bois !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div>\n
          <div>Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div></div><h1>Un mécanisme réputé, garanti à vie !</h1><div class="col is-12">Au del&agrave; du design, ce qui fait la renomm&eacute; du moulin Peugeot Paris, c'est ses m&eacute;canismes. Il en existe 2 : un pour le poivre, un pour le sel. Tout en acier, ils sont constitu&eacute;s d&rsquo;une double rang&eacute;e de dents h&eacute;lico&iuml;dales qui guide les grains de poivre ou de sel et les bloquent lors du broyage. Les m&eacute;canismes b&eacute;n&eacute;ficient d&rsquo;un traitement brevet&eacute; qui prot&egrave;ge l&rsquo;acier de la corrosion tout en gardant leur tranchant et leur r&eacute;sistance &agrave; l&rsquo;usure. Peugeot est tellement s&ucirc;r de leur fiabilit&eacute; qu'ils sont garantis &agrave; vie ! Et on les prend rarement en d&eacute;faut !</div><h1>Quel poivre ou sel pour mon moulin Paris Peugeot ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div>\n
          <div>Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;<br /><br /></div>\n
          <div>Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.<br /><br /></div>\n
          <div>Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div></div><h1>Système u'Select, qu'est ce que c'est ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le syst&egrave;me U&rsquo;select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div>\n
          <div>Le syst&egrave;me u'Select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;<br /><br /></div>\n
          <div>Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !<br /><br /></div>\n
          <div>Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div>- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div>- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div>- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div></div><h1>Vous avez le choix !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me Uselect. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div>Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me u'Select. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div></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 {#9235 …}
    #channels: Doctrine\ORM\PersistentCollection {#9223 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9219 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9221 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29873
  +product: App\Entity\Product\Product {#9218
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#9225 …}
    #variants: Doctrine\ORM\PersistentCollection {#9238 …}
    #options: Doctrine\ORM\PersistentCollection {#9229 …}
    #associations: Doctrine\ORM\PersistentCollection {#9227 …}
    #createdAt: DateTime @1758632747 {#9216
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9215
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9232 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9233
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9218}
        #id: 3042
        #name: "Moulin Peugeot PARIS naturel U'Select"
        #slug: "moulin-peugeot-paris-naturel-u-select-508"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme iconique.</li>\n
          <li>Corps en bois labellis&eacute; PEFC</li>\n
          <li>Syst&egrave;me de pr&eacute;-r&eacute;glage Uselect.</li>\n
          <li>M&eacute;canisme poivre ou sel inox tr&egrave;s efficace garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; &agrave; Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Moulin Paris Peugeot, une icône !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div>\n
          <div>Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div></div><h1>Parlons du bois !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div>\n
          <div>Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div></div><h1>Un mécanisme réputé, garanti à vie !</h1><div class="col is-12">Au del&agrave; du design, ce qui fait la renomm&eacute; du moulin Peugeot Paris, c'est ses m&eacute;canismes. Il en existe 2 : un pour le poivre, un pour le sel. Tout en acier, ils sont constitu&eacute;s d&rsquo;une double rang&eacute;e de dents h&eacute;lico&iuml;dales qui guide les grains de poivre ou de sel et les bloquent lors du broyage. Les m&eacute;canismes b&eacute;n&eacute;ficient d&rsquo;un traitement brevet&eacute; qui prot&egrave;ge l&rsquo;acier de la corrosion tout en gardant leur tranchant et leur r&eacute;sistance &agrave; l&rsquo;usure. Peugeot est tellement s&ucirc;r de leur fiabilit&eacute; qu'ils sont garantis &agrave; vie ! Et on les prend rarement en d&eacute;faut !</div><h1>Quel poivre ou sel pour mon moulin Paris Peugeot ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div>\n
          <div>Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;<br /><br /></div>\n
          <div>Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.<br /><br /></div>\n
          <div>Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div></div><h1>Système u'Select, qu'est ce que c'est ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le syst&egrave;me U&rsquo;select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div>\n
          <div>Le syst&egrave;me u'Select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;<br /><br /></div>\n
          <div>Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !<br /><br /></div>\n
          <div>Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div>- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div>- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div>- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div></div><h1>Vous avez le choix !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me Uselect. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div>Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me u'Select. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div></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 {#9235 …}
    #channels: Doctrine\ORM\PersistentCollection {#9223 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9219 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9221 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9239 …}
  +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 {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.91 ms
Input props
[
  "product" => App\Entity\Product\Product {#9218
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#9225 …}
    #variants: Doctrine\ORM\PersistentCollection {#9238 …}
    #options: Doctrine\ORM\PersistentCollection {#9229 …}
    #associations: Doctrine\ORM\PersistentCollection {#9227 …}
    #createdAt: DateTime @1758632747 {#9216
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9215
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9232 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9233
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9218}
        #id: 3042
        #name: "Moulin Peugeot PARIS naturel U'Select"
        #slug: "moulin-peugeot-paris-naturel-u-select-508"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme iconique.</li>\n
          <li>Corps en bois labellis&eacute; PEFC</li>\n
          <li>Syst&egrave;me de pr&eacute;-r&eacute;glage Uselect.</li>\n
          <li>M&eacute;canisme poivre ou sel inox tr&egrave;s efficace garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; &agrave; Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Moulin Paris Peugeot, une icône !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div>\n
          <div>Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div></div><h1>Parlons du bois !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div>\n
          <div>Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div></div><h1>Un mécanisme réputé, garanti à vie !</h1><div class="col is-12">Au del&agrave; du design, ce qui fait la renomm&eacute; du moulin Peugeot Paris, c'est ses m&eacute;canismes. Il en existe 2 : un pour le poivre, un pour le sel. Tout en acier, ils sont constitu&eacute;s d&rsquo;une double rang&eacute;e de dents h&eacute;lico&iuml;dales qui guide les grains de poivre ou de sel et les bloquent lors du broyage. Les m&eacute;canismes b&eacute;n&eacute;ficient d&rsquo;un traitement brevet&eacute; qui prot&egrave;ge l&rsquo;acier de la corrosion tout en gardant leur tranchant et leur r&eacute;sistance &agrave; l&rsquo;usure. Peugeot est tellement s&ucirc;r de leur fiabilit&eacute; qu'ils sont garantis &agrave; vie ! Et on les prend rarement en d&eacute;faut !</div><h1>Quel poivre ou sel pour mon moulin Paris Peugeot ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div>\n
          <div>Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;<br /><br /></div>\n
          <div>Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.<br /><br /></div>\n
          <div>Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div></div><h1>Système u'Select, qu'est ce que c'est ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le syst&egrave;me U&rsquo;select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div>\n
          <div>Le syst&egrave;me u'Select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;<br /><br /></div>\n
          <div>Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !<br /><br /></div>\n
          <div>Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div>- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div>- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div>- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div></div><h1>Vous avez le choix !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me Uselect. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div>Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me u'Select. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div></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 {#9235 …}
    #channels: Doctrine\ORM\PersistentCollection {#9223 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9219 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9221 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot PARIS naturel U'Select"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30110
  -props: [
    "product" => App\Entity\Product\Product {#9218
      #id: 3042
      #code: "moulin-peugeot-paris-naturel-u-select-508"
      #attributes: Doctrine\ORM\PersistentCollection {#9225 …}
      #variants: Doctrine\ORM\PersistentCollection {#9238 …}
      #options: Doctrine\ORM\PersistentCollection {#9229 …}
      #associations: Doctrine\ORM\PersistentCollection {#9227 …}
      #createdAt: DateTime @1758632747 {#9216
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#9215
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9232 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9233
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9218}
          #id: 3042
          #name: "Moulin Peugeot PARIS naturel U'Select"
          #slug: "moulin-peugeot-paris-naturel-u-select-508"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Forme iconique.</li>\n
            <li>Corps en bois labellis&eacute; PEFC</li>\n
            <li>Syst&egrave;me de pr&eacute;-r&eacute;glage Uselect.</li>\n
            <li>M&eacute;canisme poivre ou sel inox tr&egrave;s efficace garanti &agrave; vie.</li>\n
            <li><strong>Fabriqu&eacute; &agrave; Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Moulin Paris Peugeot, une icône !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div>\n
            <div>Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div></div><h1>Parlons du bois !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div>\n
            <div>Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div></div><h1>Un mécanisme réputé, garanti à vie !</h1><div class="col is-12">Au del&agrave; du design, ce qui fait la renomm&eacute; du moulin Peugeot Paris, c'est ses m&eacute;canismes. Il en existe 2 : un pour le poivre, un pour le sel. Tout en acier, ils sont constitu&eacute;s d&rsquo;une double rang&eacute;e de dents h&eacute;lico&iuml;dales qui guide les grains de poivre ou de sel et les bloquent lors du broyage. Les m&eacute;canismes b&eacute;n&eacute;ficient d&rsquo;un traitement brevet&eacute; qui prot&egrave;ge l&rsquo;acier de la corrosion tout en gardant leur tranchant et leur r&eacute;sistance &agrave; l&rsquo;usure. Peugeot est tellement s&ucirc;r de leur fiabilit&eacute; qu'ils sont garantis &agrave; vie ! Et on les prend rarement en d&eacute;faut !</div><h1>Quel poivre ou sel pour mon moulin Paris Peugeot ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div>\n
            <div>Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;<br /><br /></div>\n
            <div>Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.<br /><br /></div>\n
            <div>Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div></div><h1>Système u'Select, qu'est ce que c'est ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le syst&egrave;me U&rsquo;select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div>\n
            <div>Le syst&egrave;me u'Select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;<br /><br /></div>\n
            <div>Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !<br /><br /></div>\n
            <div>Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
            <div>- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
            <div>- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
            <div>- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div></div><h1>Vous avez le choix !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me Uselect. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
            <div>Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me u'Select. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
            <div></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 {#9235 …}
      #channels: Doctrine\ORM\PersistentCollection {#9223 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9219 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9221 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.75 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30165
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30094 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30103 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30164 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9239 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9249
    #collection: Doctrine\Common\Collections\ArrayCollection {#9250 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9248 …}
    -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 {#30165
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30094 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30103 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30164 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot PARIS naturel U'Select"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9249
    #collection: Doctrine\Common\Collections\ArrayCollection {#9250 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9248 …}
    -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 {#30171
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30165
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30094 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30103 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30164 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9239 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9249
      #collection: Doctrine\Common\Collections\ArrayCollection {#9250 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9248 …}
      -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 114.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30221
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30212 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30219 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30220 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9239 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30224
  +variant: App\Entity\Product\ProductVariant {#9239 …}
  +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 {#9717 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13147 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9714 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30221
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30212 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30219 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30220 …}
    +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 114.0 MiB 3.96 ms
Input props
[
  "product" => App\Entity\Product\Product {#9256
    #id: 3061
    #code: "moulin-peugeot-paris-icone-noyer-6318"
    #attributes: Doctrine\ORM\PersistentCollection {#9263 …}
    #variants: Doctrine\ORM\PersistentCollection {#9276 …}
    #options: Doctrine\ORM\PersistentCollection {#9267 …}
    #associations: Doctrine\ORM\PersistentCollection {#9265 …}
    #createdAt: DateTime @1758632748 {#9254
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#9253
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9270 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9271
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9256}
        #id: 3061
        #name: "Moulin Peugeot Paris Icône Noyer"
        #slug: "moulin-peugeot-paris-icone-noyer-6318"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canismes U'select garantis &agrave; vie</li>\n
          <li>Remplissage facile.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">Version du mod&egrave;le Paris r&eacute;alis&eacute; dans des essences de bois pr&eacute;cieux (Noyer ou merisier) et int&eacute;grant la fonction de r&eacute;glage de la mouture u'select. Pr&eacute;sent&eacute; en coffret, et disponible poivre ou sel dans les tailles 18, 22, 30 cm.</div><h1>Caractéristiques Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">- M&eacute;canisme u'select.<br />- Poivre ou sel.<br />- M&eacute;canismes garantis &agrave; vie.<br />- Fabrication fran&ccedil;aise.</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 {#9273 …}
    #channels: Doctrine\ORM\PersistentCollection {#9261 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9257 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9259 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30101
  +product: App\Entity\Product\Product {#9256
    #id: 3061
    #code: "moulin-peugeot-paris-icone-noyer-6318"
    #attributes: Doctrine\ORM\PersistentCollection {#9263 …}
    #variants: Doctrine\ORM\PersistentCollection {#9276 …}
    #options: Doctrine\ORM\PersistentCollection {#9267 …}
    #associations: Doctrine\ORM\PersistentCollection {#9265 …}
    #createdAt: DateTime @1758632748 {#9254
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#9253
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9270 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9271
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9256}
        #id: 3061
        #name: "Moulin Peugeot Paris Icône Noyer"
        #slug: "moulin-peugeot-paris-icone-noyer-6318"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canismes U'select garantis &agrave; vie</li>\n
          <li>Remplissage facile.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">Version du mod&egrave;le Paris r&eacute;alis&eacute; dans des essences de bois pr&eacute;cieux (Noyer ou merisier) et int&eacute;grant la fonction de r&eacute;glage de la mouture u'select. Pr&eacute;sent&eacute; en coffret, et disponible poivre ou sel dans les tailles 18, 22, 30 cm.</div><h1>Caractéristiques Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">- M&eacute;canisme u'select.<br />- Poivre ou sel.<br />- M&eacute;canismes garantis &agrave; vie.<br />- Fabrication fran&ccedil;aise.</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 {#9273 …}
    #channels: Doctrine\ORM\PersistentCollection {#9261 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9257 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9259 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9277 …}
  +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 {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.81 ms
Input props
[
  "product" => App\Entity\Product\Product {#9256
    #id: 3061
    #code: "moulin-peugeot-paris-icone-noyer-6318"
    #attributes: Doctrine\ORM\PersistentCollection {#9263 …}
    #variants: Doctrine\ORM\PersistentCollection {#9276 …}
    #options: Doctrine\ORM\PersistentCollection {#9267 …}
    #associations: Doctrine\ORM\PersistentCollection {#9265 …}
    #createdAt: DateTime @1758632748 {#9254
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#9253
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9270 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9271
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9256}
        #id: 3061
        #name: "Moulin Peugeot Paris Icône Noyer"
        #slug: "moulin-peugeot-paris-icone-noyer-6318"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canismes U'select garantis &agrave; vie</li>\n
          <li>Remplissage facile.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">Version du mod&egrave;le Paris r&eacute;alis&eacute; dans des essences de bois pr&eacute;cieux (Noyer ou merisier) et int&eacute;grant la fonction de r&eacute;glage de la mouture u'select. Pr&eacute;sent&eacute; en coffret, et disponible poivre ou sel dans les tailles 18, 22, 30 cm.</div><h1>Caractéristiques Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">- M&eacute;canisme u'select.<br />- Poivre ou sel.<br />- M&eacute;canismes garantis &agrave; vie.<br />- Fabrication fran&ccedil;aise.</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 {#9273 …}
    #channels: Doctrine\ORM\PersistentCollection {#9261 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9257 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9259 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Paris Icône Noyer"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30341
  -props: [
    "product" => App\Entity\Product\Product {#9256
      #id: 3061
      #code: "moulin-peugeot-paris-icone-noyer-6318"
      #attributes: Doctrine\ORM\PersistentCollection {#9263 …}
      #variants: Doctrine\ORM\PersistentCollection {#9276 …}
      #options: Doctrine\ORM\PersistentCollection {#9267 …}
      #associations: Doctrine\ORM\PersistentCollection {#9265 …}
      #createdAt: DateTime @1758632748 {#9254
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#9253
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9270 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9271
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9256}
          #id: 3061
          #name: "Moulin Peugeot Paris Icône Noyer"
          #slug: "moulin-peugeot-paris-icone-noyer-6318"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canismes U'select garantis &agrave; vie</li>\n
            <li>Remplissage facile.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Descriptif Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">Version du mod&egrave;le Paris r&eacute;alis&eacute; dans des essences de bois pr&eacute;cieux (Noyer ou merisier) et int&eacute;grant la fonction de r&eacute;glage de la mouture u'select. Pr&eacute;sent&eacute; en coffret, et disponible poivre ou sel dans les tailles 18, 22, 30 cm.</div><h1>Caractéristiques Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">- M&eacute;canisme u'select.<br />- Poivre ou sel.<br />- M&eacute;canismes garantis &agrave; vie.<br />- Fabrication fran&ccedil;aise.</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 {#9273 …}
      #channels: Doctrine\ORM\PersistentCollection {#9261 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9257 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9259 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.74 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30390
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30325 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30334 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30389 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9277 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9287
    #collection: Doctrine\Common\Collections\ArrayCollection {#9288 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9286 …}
    -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 {#30390
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30325 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30334 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30389 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Paris Icône Noyer"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9287
    #collection: Doctrine\Common\Collections\ArrayCollection {#9288 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9286 …}
    -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 {#30396
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30390
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30325 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30334 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30389 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9277 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9287
      #collection: Doctrine\Common\Collections\ArrayCollection {#9288 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9286 …}
      -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 114.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30446
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30437 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30444 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30445 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9277 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30449
  +variant: App\Entity\Product\ProductVariant {#9277 …}
  +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 {#9717 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13147 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9714 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30446
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30437 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30444 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30445 …}
    +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 114.0 MiB 4.02 ms
Input props
[
  "product" => App\Entity\Product\Product {#9293
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#9300 …}
    #variants: Doctrine\ORM\PersistentCollection {#9313 …}
    #options: Doctrine\ORM\PersistentCollection {#9304 …}
    #associations: Doctrine\ORM\PersistentCollection {#9302 …}
    #createdAt: DateTime @1758632754 {#9289
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9290
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9307 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9308
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9293}
        #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 {#9310 …}
    #channels: Doctrine\ORM\PersistentCollection {#9298 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9294 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9296 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30332
  +product: App\Entity\Product\Product {#9293
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#9300 …}
    #variants: Doctrine\ORM\PersistentCollection {#9313 …}
    #options: Doctrine\ORM\PersistentCollection {#9304 …}
    #associations: Doctrine\ORM\PersistentCollection {#9302 …}
    #createdAt: DateTime @1758632754 {#9289
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9290
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9307 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9308
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9293}
        #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 {#9310 …}
    #channels: Doctrine\ORM\PersistentCollection {#9298 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9294 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9296 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9314 …}
  +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 {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.92 ms
Input props
[
  "product" => App\Entity\Product\Product {#9293
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#9300 …}
    #variants: Doctrine\ORM\PersistentCollection {#9313 …}
    #options: Doctrine\ORM\PersistentCollection {#9304 …}
    #associations: Doctrine\ORM\PersistentCollection {#9302 …}
    #createdAt: DateTime @1758632754 {#9289
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9290
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9307 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9308
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9293}
        #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 {#9310 …}
    #channels: Doctrine\ORM\PersistentCollection {#9298 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9294 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9296 …}
    #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 {#30566
  -props: [
    "product" => App\Entity\Product\Product {#9293
      #id: 3098
      #code: "moulin-a-poivre-peugeot-roellinger-2111"
      #attributes: Doctrine\ORM\PersistentCollection {#9300 …}
      #variants: Doctrine\ORM\PersistentCollection {#9313 …}
      #options: Doctrine\ORM\PersistentCollection {#9304 …}
      #associations: Doctrine\ORM\PersistentCollection {#9302 …}
      #createdAt: DateTime @1758632754 {#9289
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#9290
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9307 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9308
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9293}
          #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 {#9310 …}
      #channels: Doctrine\ORM\PersistentCollection {#9298 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9294 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9296 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30621
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30550 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30559 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30620 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9314 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9324
    #collection: Doctrine\Common\Collections\ArrayCollection {#9325 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9323 …}
    -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 {#30621
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30550 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30559 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30620 …}
    +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 {#9324
    #collection: Doctrine\Common\Collections\ArrayCollection {#9325 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9323 …}
    -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 {#30627
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30621
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30550 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30559 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30620 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9314 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9324
      #collection: Doctrine\Common\Collections\ArrayCollection {#9325 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9323 …}
      -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 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30677
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30668 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30675 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30676 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9314 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30680
  +variant: App\Entity\Product\ProductVariant {#9314 …}
  +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 {#9717 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13147 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9714 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30677
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30668 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30675 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30676 …}
    +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 114.0 MiB 4.10 ms
Input props
[
  "product" => App\Entity\Product\Product {#9330
    #id: 3058
    #code: "moulin-peugeot-fidji-olivier-5872"
    #attributes: Doctrine\ORM\PersistentCollection {#9337 …}
    #variants: Doctrine\ORM\PersistentCollection {#9350 …}
    #options: Doctrine\ORM\PersistentCollection {#9341 …}
    #associations: Doctrine\ORM\PersistentCollection {#9339 …}
    #createdAt: DateTime @1758632747 {#9326
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#9327
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9344 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9345
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9330}
        #id: 3058
        #name: "Moulin Peugeot Fidji Olivier"
        #slug: "moulin-peugeot-fidji-olivier-5872"
        #description: """
          <div class="col is-12"><!-- li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Tahoma} ul.ul1 {list-style-type: disc} --> \n
          <ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>T&ecirc;te inox</li>\n
          <li>Corps Olivier.</li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Fidji Olivier</h1><div class="col is-12">R&eacute;alis&eacute; en bois d'Olivier, le moulin Fidji Peugeot devient un objet unique. Les inimitables veines du bois aux lignes naturelles extraordinaires lui conf&egrave;rent toute sa pr&eacute;ciosit&eacute;. Il dispose d'une t&ecirc;te inox et d'un m&eacute;canisme garanti &agrave; vie.</div><h1>Caractéristiques Moulin Peugeot Fidji Olivier</h1><div class="col is-12">Corps en bois d'Olivier.<br />T&ecirc;te et vis inox.<br />M&eacute;canisme garanti &agrave; vie.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9347 …}
    #channels: Doctrine\ORM\PersistentCollection {#9335 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9331 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9333 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30557
  +product: App\Entity\Product\Product {#9330
    #id: 3058
    #code: "moulin-peugeot-fidji-olivier-5872"
    #attributes: Doctrine\ORM\PersistentCollection {#9337 …}
    #variants: Doctrine\ORM\PersistentCollection {#9350 …}
    #options: Doctrine\ORM\PersistentCollection {#9341 …}
    #associations: Doctrine\ORM\PersistentCollection {#9339 …}
    #createdAt: DateTime @1758632747 {#9326
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#9327
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9344 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9345
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9330}
        #id: 3058
        #name: "Moulin Peugeot Fidji Olivier"
        #slug: "moulin-peugeot-fidji-olivier-5872"
        #description: """
          <div class="col is-12"><!-- li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Tahoma} ul.ul1 {list-style-type: disc} --> \n
          <ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>T&ecirc;te inox</li>\n
          <li>Corps Olivier.</li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Fidji Olivier</h1><div class="col is-12">R&eacute;alis&eacute; en bois d'Olivier, le moulin Fidji Peugeot devient un objet unique. Les inimitables veines du bois aux lignes naturelles extraordinaires lui conf&egrave;rent toute sa pr&eacute;ciosit&eacute;. Il dispose d'une t&ecirc;te inox et d'un m&eacute;canisme garanti &agrave; vie.</div><h1>Caractéristiques Moulin Peugeot Fidji Olivier</h1><div class="col is-12">Corps en bois d'Olivier.<br />T&ecirc;te et vis inox.<br />M&eacute;canisme garanti &agrave; vie.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9347 …}
    #channels: Doctrine\ORM\PersistentCollection {#9335 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9331 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9333 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9351 …}
  +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 {#28291
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28324 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28317 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.89 ms
Input props
[
  "product" => App\Entity\Product\Product {#9330
    #id: 3058
    #code: "moulin-peugeot-fidji-olivier-5872"
    #attributes: Doctrine\ORM\PersistentCollection {#9337 …}
    #variants: Doctrine\ORM\PersistentCollection {#9350 …}
    #options: Doctrine\ORM\PersistentCollection {#9341 …}
    #associations: Doctrine\ORM\PersistentCollection {#9339 …}
    #createdAt: DateTime @1758632747 {#9326
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#9327
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9344 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9345
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9330}
        #id: 3058
        #name: "Moulin Peugeot Fidji Olivier"
        #slug: "moulin-peugeot-fidji-olivier-5872"
        #description: """
          <div class="col is-12"><!-- li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Tahoma} ul.ul1 {list-style-type: disc} --> \n
          <ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>T&ecirc;te inox</li>\n
          <li>Corps Olivier.</li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Fidji Olivier</h1><div class="col is-12">R&eacute;alis&eacute; en bois d'Olivier, le moulin Fidji Peugeot devient un objet unique. Les inimitables veines du bois aux lignes naturelles extraordinaires lui conf&egrave;rent toute sa pr&eacute;ciosit&eacute;. Il dispose d'une t&ecirc;te inox et d'un m&eacute;canisme garanti &agrave; vie.</div><h1>Caractéristiques Moulin Peugeot Fidji Olivier</h1><div class="col is-12">Corps en bois d'Olivier.<br />T&ecirc;te et vis inox.<br />M&eacute;canisme garanti &agrave; vie.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9347 …}
    #channels: Doctrine\ORM\PersistentCollection {#9335 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9331 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9333 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Fidji Olivier"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30797
  -props: [
    "product" => App\Entity\Product\Product {#9330
      #id: 3058
      #code: "moulin-peugeot-fidji-olivier-5872"
      #attributes: Doctrine\ORM\PersistentCollection {#9337 …}
      #variants: Doctrine\ORM\PersistentCollection {#9350 …}
      #options: Doctrine\ORM\PersistentCollection {#9341 …}
      #associations: Doctrine\ORM\PersistentCollection {#9339 …}
      #createdAt: DateTime @1758632747 {#9326
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#9327
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9344 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9345
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9330}
          #id: 3058
          #name: "Moulin Peugeot Fidji Olivier"
          #slug: "moulin-peugeot-fidji-olivier-5872"
          #description: """
            <div class="col is-12"><!-- li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Tahoma} ul.ul1 {list-style-type: disc} --> \n
            <ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>T&ecirc;te inox</li>\n
            <li>Corps Olivier.</li>\n
            </ul></div><h1>Descriptif Moulin Peugeot Fidji Olivier</h1><div class="col is-12">R&eacute;alis&eacute; en bois d'Olivier, le moulin Fidji Peugeot devient un objet unique. Les inimitables veines du bois aux lignes naturelles extraordinaires lui conf&egrave;rent toute sa pr&eacute;ciosit&eacute;. Il dispose d'une t&ecirc;te inox et d'un m&eacute;canisme garanti &agrave; vie.</div><h1>Caractéristiques Moulin Peugeot Fidji Olivier</h1><div class="col is-12">Corps en bois d'Olivier.<br />T&ecirc;te et vis inox.<br />M&eacute;canisme garanti &agrave; vie.&nbsp;</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9347 …}
      #channels: Doctrine\ORM\PersistentCollection {#9335 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9331 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9333 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.75 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30846
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30781 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30790 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30845 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9351 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9361
    #collection: Doctrine\Common\Collections\ArrayCollection {#9362 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9360 …}
    -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 {#30846
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30781 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30790 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30845 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Fidji Olivier"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9361
    #collection: Doctrine\Common\Collections\ArrayCollection {#9362 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9360 …}
    -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 {#30852
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30846
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30781 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30790 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30845 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9351 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9361
      #collection: Doctrine\Common\Collections\ArrayCollection {#9362 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9360 …}
      -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 114.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30902
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30893 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30900 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30901 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9351 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30905
  +variant: App\Entity\Product\ProductVariant {#9351 …}
  +price: "69,00\u{A0}"
  +originalPrice: "76,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9717 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13147 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9714 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30902
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30893 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30900 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30901 …}
    +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 114.0 MiB 2.02 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27990
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13212 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28012 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13222 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31224
  +cart: App\Entity\Order\Order {#14126 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27990
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13212 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28012 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13222 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}