GET https://sylius-cuisinstore.preprod.eu/fr_FR/taxons/boutique-black-friday-black-friday-moulins-peugeot-1729

Components

12 Twig Components
44 Render Count
80 ms Render Time
104.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
sylius_shop:product:card
"Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
@SyliusUi/components/default.html.twig
9 53.03ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 8.39ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 6.35ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.49ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.15ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.69ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.56ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 14.48ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.06ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.66ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.91ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.12ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 100.0 MiB 1.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12160
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12153 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12159 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12158 …}
    +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 {#12780
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12051 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12160
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12153 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12159 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12158 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 100.0 MiB 0.69 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12857
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12853 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12855 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12856 …}
    +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 {#12866
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12857
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12853 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12855 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12856 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 100.0 MiB 4.56 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12948
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12927 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12947 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12946 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#12963
  +cart: App\Entity\Order\Order {#13030 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12948
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12927 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12947 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12946 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  +template: "@SyliusShop/shared/components/header/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}
sylius_shop:common:taxon_menu Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent 100.0 MiB 14.48 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13216
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13204 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13210 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13202 …}
    +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 {#13225
  #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 {#13216
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13204 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13210 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13202 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 100.0 MiB 1.06 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27456
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27452 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27453 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27455 …}
    +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 {#27465
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27456
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27452 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27453 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27455 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 100.0 MiB 0.66 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27570
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27566 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27567 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27569 …}
    +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 {#27578
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27570
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27566 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27567 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27569 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 100.0 MiB 1.91 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27640
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27636 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27637 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27639 …}
    +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 {#27648
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27640
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27636 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27637 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27639 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 102.0 MiB 9.35 ms
Input props
[
  "product" => App\Entity\Product\Product {#7995
    #id: 2542
    #code: "moulin-a-cafe-peugeot-antique-5081"
    #attributes: Doctrine\ORM\PersistentCollection {#8174 …}
    #variants: Doctrine\ORM\PersistentCollection {#8397 …}
    #options: Doctrine\ORM\PersistentCollection {#8525 …}
    #associations: Doctrine\ORM\PersistentCollection {#8465 …}
    #createdAt: DateTime @1758632571 {#7725
      date: 2025-09-23 21:02:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632571 {#7770
      date: 2025-09-23 21:02:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8524 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8527
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7995}
        #id: 2542
        #name: "Moulin à café Peugeot Antique"
        #slug: "moulin-a-cafe-peugeot-antique-5081"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tiroir de r&eacute;cup&eacute;ration du caf&eacute; moulu.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin à café Peugeot Antique</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Peugeot Antique est &eacute;quip&eacute; d'un m&eacute;canisme r&eacute;glable permettant de moudre plus ou moins finement les grains de caf&eacute;. Ce r&eacute;glage permet ainsi de r&eacute;aliser au final toutes sortes de caf&eacute;, du caf&eacute; turc &agrave; la mouture tr&egrave;s &eacute;paisse jusqu&rsquo;&agrave; l&rsquo;expresso n&eacute;cessitant au contraire une mouture tr&egrave;s fine.</div><h1>Caractéristiques Moulin à café Peugeot Antique</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14.3999996185303px; background-color: #fafafa;">Corps bois de h&ecirc;tre vieilli.&nbsp;Couvercle inox. Tiroir servant de r&eacute;ceptacle au caf&eacute; moulu. M&eacute;canisme garanti &agrave; vie. Dimensions 15 cm x 15 cm. H 21 cm.</span></div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a>\n
          <div id="gtx-trans" style="position: absolute; left: 172px; top: -20.0028px;"></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 {#8530 …}
    #channels: Doctrine\ORM\PersistentCollection {#8033 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7754 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7993 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8036 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28174
  +product: App\Entity\Product\Product {#7995
    #id: 2542
    #code: "moulin-a-cafe-peugeot-antique-5081"
    #attributes: Doctrine\ORM\PersistentCollection {#8174 …}
    #variants: Doctrine\ORM\PersistentCollection {#8397 …}
    #options: Doctrine\ORM\PersistentCollection {#8525 …}
    #associations: Doctrine\ORM\PersistentCollection {#8465 …}
    #createdAt: DateTime @1758632571 {#7725
      date: 2025-09-23 21:02:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632571 {#7770
      date: 2025-09-23 21:02:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8524 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8527
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7995}
        #id: 2542
        #name: "Moulin à café Peugeot Antique"
        #slug: "moulin-a-cafe-peugeot-antique-5081"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tiroir de r&eacute;cup&eacute;ration du caf&eacute; moulu.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin à café Peugeot Antique</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Peugeot Antique est &eacute;quip&eacute; d'un m&eacute;canisme r&eacute;glable permettant de moudre plus ou moins finement les grains de caf&eacute;. Ce r&eacute;glage permet ainsi de r&eacute;aliser au final toutes sortes de caf&eacute;, du caf&eacute; turc &agrave; la mouture tr&egrave;s &eacute;paisse jusqu&rsquo;&agrave; l&rsquo;expresso n&eacute;cessitant au contraire une mouture tr&egrave;s fine.</div><h1>Caractéristiques Moulin à café Peugeot Antique</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14.3999996185303px; background-color: #fafafa;">Corps bois de h&ecirc;tre vieilli.&nbsp;Couvercle inox. Tiroir servant de r&eacute;ceptacle au caf&eacute; moulu. M&eacute;canisme garanti &agrave; vie. Dimensions 15 cm x 15 cm. H 21 cm.</span></div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a>\n
          <div id="gtx-trans" style="position: absolute; left: 172px; top: -20.0028px;"></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 {#8530 …}
    #channels: Doctrine\ORM\PersistentCollection {#8033 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7754 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7993 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8036 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#28440 …}
  +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 {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 2.05 ms
Input props
[
  "product" => App\Entity\Product\Product {#7995
    #id: 2542
    #code: "moulin-a-cafe-peugeot-antique-5081"
    #attributes: Doctrine\ORM\PersistentCollection {#8174 …}
    #variants: Doctrine\ORM\PersistentCollection {#8397 …}
    #options: Doctrine\ORM\PersistentCollection {#8525 …}
    #associations: Doctrine\ORM\PersistentCollection {#8465 …}
    #createdAt: DateTime @1758632571 {#7725
      date: 2025-09-23 21:02:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632571 {#7770
      date: 2025-09-23 21:02:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8524 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8527
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7995}
        #id: 2542
        #name: "Moulin à café Peugeot Antique"
        #slug: "moulin-a-cafe-peugeot-antique-5081"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tiroir de r&eacute;cup&eacute;ration du caf&eacute; moulu.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin à café Peugeot Antique</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Peugeot Antique est &eacute;quip&eacute; d'un m&eacute;canisme r&eacute;glable permettant de moudre plus ou moins finement les grains de caf&eacute;. Ce r&eacute;glage permet ainsi de r&eacute;aliser au final toutes sortes de caf&eacute;, du caf&eacute; turc &agrave; la mouture tr&egrave;s &eacute;paisse jusqu&rsquo;&agrave; l&rsquo;expresso n&eacute;cessitant au contraire une mouture tr&egrave;s fine.</div><h1>Caractéristiques Moulin à café Peugeot Antique</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14.3999996185303px; background-color: #fafafa;">Corps bois de h&ecirc;tre vieilli.&nbsp;Couvercle inox. Tiroir servant de r&eacute;ceptacle au caf&eacute; moulu. M&eacute;canisme garanti &agrave; vie. Dimensions 15 cm x 15 cm. H 21 cm.</span></div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a>\n
          <div id="gtx-trans" style="position: absolute; left: 172px; top: -20.0028px;"></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 {#8530 …}
    #channels: Doctrine\ORM\PersistentCollection {#8033 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7754 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7993 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8036 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin à café Peugeot Antique"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28851
  -props: [
    "product" => App\Entity\Product\Product {#7995
      #id: 2542
      #code: "moulin-a-cafe-peugeot-antique-5081"
      #attributes: Doctrine\ORM\PersistentCollection {#8174 …}
      #variants: Doctrine\ORM\PersistentCollection {#8397 …}
      #options: Doctrine\ORM\PersistentCollection {#8525 …}
      #associations: Doctrine\ORM\PersistentCollection {#8465 …}
      #createdAt: DateTime @1758632571 {#7725
        date: 2025-09-23 21:02:51.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632571 {#7770
        date: 2025-09-23 21:02:51.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8524 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8527
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#7995}
          #id: 2542
          #name: "Moulin à café Peugeot Antique"
          #slug: "moulin-a-cafe-peugeot-antique-5081"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Tiroir de r&eacute;cup&eacute;ration du caf&eacute; moulu.</li>\n
            <li>R&eacute;glage de la mouture.</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
            </ul>\n
            <ul style="margin: 0px 10px; padding: 10px;">\n
            </ul></div><h1>Description Moulin à café Peugeot Antique</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Peugeot Antique est &eacute;quip&eacute; d'un m&eacute;canisme r&eacute;glable permettant de moudre plus ou moins finement les grains de caf&eacute;. Ce r&eacute;glage permet ainsi de r&eacute;aliser au final toutes sortes de caf&eacute;, du caf&eacute; turc &agrave; la mouture tr&egrave;s &eacute;paisse jusqu&rsquo;&agrave; l&rsquo;expresso n&eacute;cessitant au contraire une mouture tr&egrave;s fine.</div><h1>Caractéristiques Moulin à café Peugeot Antique</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14.3999996185303px; background-color: #fafafa;">Corps bois de h&ecirc;tre vieilli.&nbsp;Couvercle inox. Tiroir servant de r&eacute;ceptacle au caf&eacute; moulu. M&eacute;canisme garanti &agrave; vie. Dimensions 15 cm x 15 cm. H 21 cm.</span></div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a>\n
            <div id="gtx-trans" style="position: absolute; left: 172px; top: -20.0028px;"></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 {#8530 …}
      #channels: Doctrine\ORM\PersistentCollection {#8033 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7754 …}
      #reviews: Doctrine\ORM\PersistentCollection {#7993 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8036 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 1.42 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28921
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28924 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28919 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28918 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28440 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28786
    #collection: Doctrine\Common\Collections\ArrayCollection {#28785 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28623 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38837 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38889 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28921
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28924 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28919 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28918 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin à café Peugeot Antique"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28786
    #collection: Doctrine\Common\Collections\ArrayCollection {#28785 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28623 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38837 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38889 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28929
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28921
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28924 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28919 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28918 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#28440 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#28786
      #collection: Doctrine\Common\Collections\ArrayCollection {#28785 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#28623 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38837 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38889 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.37 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28997
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28987 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28995 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28996 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28440 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29006
  +variant: App\Entity\Product\ProductVariant {#28440 …}
  +price: "159,00\u{A0}"
  +originalPrice: "184,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8147 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12051 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8131 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28997
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28987 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28995 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28996 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 102.0 MiB 4.64 ms
Input props
[
  "product" => App\Entity\Product\Product {#8536
    #id: 2550
    #code: "moulin-a-cafe-peugeot-nostalgie-1616"
    #attributes: Doctrine\ORM\PersistentCollection {#8546 …}
    #variants: Doctrine\ORM\PersistentCollection {#8548 …}
    #options: Doctrine\ORM\PersistentCollection {#8552 …}
    #associations: Doctrine\ORM\PersistentCollection {#8550 …}
    #createdAt: DateTime @1758632572 {#8534
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632572 {#8535
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8555 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8556
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8536}
        #id: 2550
        #name: "Moulin à café Peugeot Nostalgie"
        #slug: "moulin-a-cafe-peugeot-nostalgie-1616"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tiroir de r&eacute;cup&eacute;ration du caf&eacute; moulu.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
          </ul></div><h1>Description moulin à café Peugeot Nostalgie</h1><div class="col is-12"><p>Le moulin &agrave; caf&eacute; Peugeot Nostalgie&nbsp;est &eacute;quip&eacute; d'un m&eacute;canisme r&eacute;glable permettant de moudre plus ou moins finement les grains de caf&eacute;. Ce r&eacute;glage permet ainsi de r&eacute;aliser au final toutes sortes de caf&eacute;, du caf&eacute; turc &agrave; la mouture tr&egrave;s &eacute;paisse jusqu&rsquo;&agrave; l&rsquo;expresso n&eacute;cessitant au contraire une mouture tr&egrave;s fine.</p></div><h1>Caractéristiques moulin à café Peugeot Nostalgie</h1><div class="col is-12">Corps bois. Couleur ch&ecirc;ne rustique.&nbsp;Couvercle inox. Tiroir servant de r&eacute;ceptacle au caf&eacute; moulu. M&eacute;canisme garanti &agrave; vie. Dimensions 15 cm x 15 cm. H 22 cm.<br /><br /></div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></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 {#8558 …}
    #channels: Doctrine\ORM\PersistentCollection {#8544 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8538 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8540 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8542 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28829
  +product: App\Entity\Product\Product {#8536
    #id: 2550
    #code: "moulin-a-cafe-peugeot-nostalgie-1616"
    #attributes: Doctrine\ORM\PersistentCollection {#8546 …}
    #variants: Doctrine\ORM\PersistentCollection {#8548 …}
    #options: Doctrine\ORM\PersistentCollection {#8552 …}
    #associations: Doctrine\ORM\PersistentCollection {#8550 …}
    #createdAt: DateTime @1758632572 {#8534
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632572 {#8535
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8555 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8556
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8536}
        #id: 2550
        #name: "Moulin à café Peugeot Nostalgie"
        #slug: "moulin-a-cafe-peugeot-nostalgie-1616"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tiroir de r&eacute;cup&eacute;ration du caf&eacute; moulu.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
          </ul></div><h1>Description moulin à café Peugeot Nostalgie</h1><div class="col is-12"><p>Le moulin &agrave; caf&eacute; Peugeot Nostalgie&nbsp;est &eacute;quip&eacute; d'un m&eacute;canisme r&eacute;glable permettant de moudre plus ou moins finement les grains de caf&eacute;. Ce r&eacute;glage permet ainsi de r&eacute;aliser au final toutes sortes de caf&eacute;, du caf&eacute; turc &agrave; la mouture tr&egrave;s &eacute;paisse jusqu&rsquo;&agrave; l&rsquo;expresso n&eacute;cessitant au contraire une mouture tr&egrave;s fine.</p></div><h1>Caractéristiques moulin à café Peugeot Nostalgie</h1><div class="col is-12">Corps bois. Couleur ch&ecirc;ne rustique.&nbsp;Couvercle inox. Tiroir servant de r&eacute;ceptacle au caf&eacute; moulu. M&eacute;canisme garanti &agrave; vie. Dimensions 15 cm x 15 cm. H 22 cm.<br /><br /></div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></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 {#8558 …}
    #channels: Doctrine\ORM\PersistentCollection {#8544 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8538 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8540 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8542 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29079 …}
  +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 {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.79 ms
Input props
[
  "product" => App\Entity\Product\Product {#8536
    #id: 2550
    #code: "moulin-a-cafe-peugeot-nostalgie-1616"
    #attributes: Doctrine\ORM\PersistentCollection {#8546 …}
    #variants: Doctrine\ORM\PersistentCollection {#8548 …}
    #options: Doctrine\ORM\PersistentCollection {#8552 …}
    #associations: Doctrine\ORM\PersistentCollection {#8550 …}
    #createdAt: DateTime @1758632572 {#8534
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632572 {#8535
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8555 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8556
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8536}
        #id: 2550
        #name: "Moulin à café Peugeot Nostalgie"
        #slug: "moulin-a-cafe-peugeot-nostalgie-1616"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tiroir de r&eacute;cup&eacute;ration du caf&eacute; moulu.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
          </ul></div><h1>Description moulin à café Peugeot Nostalgie</h1><div class="col is-12"><p>Le moulin &agrave; caf&eacute; Peugeot Nostalgie&nbsp;est &eacute;quip&eacute; d'un m&eacute;canisme r&eacute;glable permettant de moudre plus ou moins finement les grains de caf&eacute;. Ce r&eacute;glage permet ainsi de r&eacute;aliser au final toutes sortes de caf&eacute;, du caf&eacute; turc &agrave; la mouture tr&egrave;s &eacute;paisse jusqu&rsquo;&agrave; l&rsquo;expresso n&eacute;cessitant au contraire une mouture tr&egrave;s fine.</p></div><h1>Caractéristiques moulin à café Peugeot Nostalgie</h1><div class="col is-12">Corps bois. Couleur ch&ecirc;ne rustique.&nbsp;Couvercle inox. Tiroir servant de r&eacute;ceptacle au caf&eacute; moulu. M&eacute;canisme garanti &agrave; vie. Dimensions 15 cm x 15 cm. H 22 cm.<br /><br /></div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></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 {#8558 …}
    #channels: Doctrine\ORM\PersistentCollection {#8544 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8538 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8540 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8542 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin à café Peugeot Nostalgie"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29150
  -props: [
    "product" => App\Entity\Product\Product {#8536
      #id: 2550
      #code: "moulin-a-cafe-peugeot-nostalgie-1616"
      #attributes: Doctrine\ORM\PersistentCollection {#8546 …}
      #variants: Doctrine\ORM\PersistentCollection {#8548 …}
      #options: Doctrine\ORM\PersistentCollection {#8552 …}
      #associations: Doctrine\ORM\PersistentCollection {#8550 …}
      #createdAt: DateTime @1758632572 {#8534
        date: 2025-09-23 21:02:52.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632572 {#8535
        date: 2025-09-23 21:02:52.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8555 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8556
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8536}
          #id: 2550
          #name: "Moulin à café Peugeot Nostalgie"
          #slug: "moulin-a-cafe-peugeot-nostalgie-1616"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Tiroir de r&eacute;cup&eacute;ration du caf&eacute; moulu.</li>\n
            <li>R&eacute;glage de la mouture.</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
            </ul></div><h1>Description moulin à café Peugeot Nostalgie</h1><div class="col is-12"><p>Le moulin &agrave; caf&eacute; Peugeot Nostalgie&nbsp;est &eacute;quip&eacute; d'un m&eacute;canisme r&eacute;glable permettant de moudre plus ou moins finement les grains de caf&eacute;. Ce r&eacute;glage permet ainsi de r&eacute;aliser au final toutes sortes de caf&eacute;, du caf&eacute; turc &agrave; la mouture tr&egrave;s &eacute;paisse jusqu&rsquo;&agrave; l&rsquo;expresso n&eacute;cessitant au contraire une mouture tr&egrave;s fine.</p></div><h1>Caractéristiques moulin à café Peugeot Nostalgie</h1><div class="col is-12">Corps bois. Couleur ch&ecirc;ne rustique.&nbsp;Couvercle inox. Tiroir servant de r&eacute;ceptacle au caf&eacute; moulu. M&eacute;canisme garanti &agrave; vie. Dimensions 15 cm x 15 cm. H 22 cm.<br /><br /></div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></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 {#8558 …}
      #channels: Doctrine\ORM\PersistentCollection {#8544 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8538 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8540 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8542 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29143
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29134 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29201 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29131 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29079 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29087
    #collection: Doctrine\Common\Collections\ArrayCollection {#29096 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29075 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38909 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38911 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29143
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29134 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29201 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29131 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin à café Peugeot Nostalgie"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29087
    #collection: Doctrine\Common\Collections\ArrayCollection {#29096 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29075 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38909 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38911 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29205
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29143
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29134 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29201 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29131 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29079 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29087
      #collection: Doctrine\Common\Collections\ArrayCollection {#29096 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29075 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38909 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38911 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29255
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29246 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29253 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29254 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29079 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29258
  +variant: App\Entity\Product\ProductVariant {#29079 …}
  +price: "116,00\u{A0}"
  +originalPrice: "129,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8147 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12051 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8131 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29255
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29246 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29253 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29254 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 102.0 MiB 5.22 ms
Input props
[
  "product" => App\Entity\Product\Product {#8562
    #id: 3039
    #code: "moulin-paris-antique-peugeot-5078"
    #attributes: Doctrine\ORM\PersistentCollection {#8572 …}
    #variants: Doctrine\ORM\PersistentCollection {#8574 …}
    #options: Doctrine\ORM\PersistentCollection {#8578 …}
    #associations: Doctrine\ORM\PersistentCollection {#8576 …}
    #createdAt: DateTime @1758632746 {#8560
      date: 2025-09-23 21:05:46.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632746 {#8561
      date: 2025-09-23 21:05:46.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8581 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8582
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8562}
        #id: 3039
        #name: "Moulin Paris Antique Peugeot"
        #slug: "moulin-paris-antique-peugeot-5078"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pi&egrave;ce unique travaill&eacute;e &agrave; la main.</li>\n
          <li>En bois de h&ecirc;tre.&nbsp;</li>\n
          <li>R&eacute;glage de mouture.</li>\n
          <li>M&eacute;canisme en acier garanti &agrave; vie.</li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Paris Antique Peugeot</h1><div class="col is-12">Le moulin Paris Antique Peugeot vous permet de pr&eacute;senter &eacute;l&eacute;gamment votre poivre et sel. Aux charmes d'autrefois, les moulins sont en bois de h&ecirc;tre patin&eacute; par le temps. Ce sont des pi&egrave;ces unique qui sont travaill&eacute;es &agrave; la main. Un r&eacute;glage de la mouture est possible gr&acirc;ce &agrave; l'&eacute;crou laiton grav&eacute;e.</div><h1>Caractéristiques Moulin Paris Antique Peugeot</h1><div class="col is-12">En bois de h&ecirc;tre vielli. Disponible pour poivre et sel.</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 {#8584 …}
    #channels: Doctrine\ORM\PersistentCollection {#8570 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8564 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8566 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8568 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29141
  +product: App\Entity\Product\Product {#8562
    #id: 3039
    #code: "moulin-paris-antique-peugeot-5078"
    #attributes: Doctrine\ORM\PersistentCollection {#8572 …}
    #variants: Doctrine\ORM\PersistentCollection {#8574 …}
    #options: Doctrine\ORM\PersistentCollection {#8578 …}
    #associations: Doctrine\ORM\PersistentCollection {#8576 …}
    #createdAt: DateTime @1758632746 {#8560
      date: 2025-09-23 21:05:46.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632746 {#8561
      date: 2025-09-23 21:05:46.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8581 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8582
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8562}
        #id: 3039
        #name: "Moulin Paris Antique Peugeot"
        #slug: "moulin-paris-antique-peugeot-5078"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pi&egrave;ce unique travaill&eacute;e &agrave; la main.</li>\n
          <li>En bois de h&ecirc;tre.&nbsp;</li>\n
          <li>R&eacute;glage de mouture.</li>\n
          <li>M&eacute;canisme en acier garanti &agrave; vie.</li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Paris Antique Peugeot</h1><div class="col is-12">Le moulin Paris Antique Peugeot vous permet de pr&eacute;senter &eacute;l&eacute;gamment votre poivre et sel. Aux charmes d'autrefois, les moulins sont en bois de h&ecirc;tre patin&eacute; par le temps. Ce sont des pi&egrave;ces unique qui sont travaill&eacute;es &agrave; la main. Un r&eacute;glage de la mouture est possible gr&acirc;ce &agrave; l'&eacute;crou laiton grav&eacute;e.</div><h1>Caractéristiques Moulin Paris Antique Peugeot</h1><div class="col is-12">En bois de h&ecirc;tre vielli. Disponible pour poivre et sel.</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 {#8584 …}
    #channels: Doctrine\ORM\PersistentCollection {#8570 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8564 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8566 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8568 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29321 …}
  +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 {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.82 ms
Input props
[
  "product" => App\Entity\Product\Product {#8562
    #id: 3039
    #code: "moulin-paris-antique-peugeot-5078"
    #attributes: Doctrine\ORM\PersistentCollection {#8572 …}
    #variants: Doctrine\ORM\PersistentCollection {#8574 …}
    #options: Doctrine\ORM\PersistentCollection {#8578 …}
    #associations: Doctrine\ORM\PersistentCollection {#8576 …}
    #createdAt: DateTime @1758632746 {#8560
      date: 2025-09-23 21:05:46.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632746 {#8561
      date: 2025-09-23 21:05:46.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8581 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8582
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8562}
        #id: 3039
        #name: "Moulin Paris Antique Peugeot"
        #slug: "moulin-paris-antique-peugeot-5078"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pi&egrave;ce unique travaill&eacute;e &agrave; la main.</li>\n
          <li>En bois de h&ecirc;tre.&nbsp;</li>\n
          <li>R&eacute;glage de mouture.</li>\n
          <li>M&eacute;canisme en acier garanti &agrave; vie.</li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Paris Antique Peugeot</h1><div class="col is-12">Le moulin Paris Antique Peugeot vous permet de pr&eacute;senter &eacute;l&eacute;gamment votre poivre et sel. Aux charmes d'autrefois, les moulins sont en bois de h&ecirc;tre patin&eacute; par le temps. Ce sont des pi&egrave;ces unique qui sont travaill&eacute;es &agrave; la main. Un r&eacute;glage de la mouture est possible gr&acirc;ce &agrave; l'&eacute;crou laiton grav&eacute;e.</div><h1>Caractéristiques Moulin Paris Antique Peugeot</h1><div class="col is-12">En bois de h&ecirc;tre vielli. Disponible pour poivre et sel.</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 {#8584 …}
    #channels: Doctrine\ORM\PersistentCollection {#8570 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8564 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8566 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8568 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Paris Antique Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29395
  -props: [
    "product" => App\Entity\Product\Product {#8562
      #id: 3039
      #code: "moulin-paris-antique-peugeot-5078"
      #attributes: Doctrine\ORM\PersistentCollection {#8572 …}
      #variants: Doctrine\ORM\PersistentCollection {#8574 …}
      #options: Doctrine\ORM\PersistentCollection {#8578 …}
      #associations: Doctrine\ORM\PersistentCollection {#8576 …}
      #createdAt: DateTime @1758632746 {#8560
        date: 2025-09-23 21:05:46.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632746 {#8561
        date: 2025-09-23 21:05:46.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8581 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8582
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8562}
          #id: 3039
          #name: "Moulin Paris Antique Peugeot"
          #slug: "moulin-paris-antique-peugeot-5078"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Pi&egrave;ce unique travaill&eacute;e &agrave; la main.</li>\n
            <li>En bois de h&ecirc;tre.&nbsp;</li>\n
            <li>R&eacute;glage de mouture.</li>\n
            <li>M&eacute;canisme en acier garanti &agrave; vie.</li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Description Moulin Paris Antique Peugeot</h1><div class="col is-12">Le moulin Paris Antique Peugeot vous permet de pr&eacute;senter &eacute;l&eacute;gamment votre poivre et sel. Aux charmes d'autrefois, les moulins sont en bois de h&ecirc;tre patin&eacute; par le temps. Ce sont des pi&egrave;ces unique qui sont travaill&eacute;es &agrave; la main. Un r&eacute;glage de la mouture est possible gr&acirc;ce &agrave; l'&eacute;crou laiton grav&eacute;e.</div><h1>Caractéristiques Moulin Paris Antique Peugeot</h1><div class="col is-12">En bois de h&ecirc;tre vielli. Disponible pour poivre et sel.</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 {#8584 …}
      #channels: Doctrine\ORM\PersistentCollection {#8570 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8564 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8566 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8568 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.71 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29479
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29379 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29446 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29376 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29321 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29329
    #collection: Doctrine\Common\Collections\ArrayCollection {#29341 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29317 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38923 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38925 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29479
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29379 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29446 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29376 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Paris Antique Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29329
    #collection: Doctrine\Common\Collections\ArrayCollection {#29341 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29317 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38923 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38925 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29480
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29479
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29379 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29446 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29376 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29321 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29329
      #collection: Doctrine\Common\Collections\ArrayCollection {#29341 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29317 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38923 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38925 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29533
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29524 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29531 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29532 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29321 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29536
  +variant: App\Entity\Product\ProductVariant {#29321 …}
  +price: "48,00\u{A0}"
  +originalPrice: "53,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8147 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12051 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8131 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29533
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29524 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29531 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29532 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 102.0 MiB 6.69 ms
Input props
[
  "product" => App\Entity\Product\Product {#8588
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8598 …}
    #variants: Doctrine\ORM\PersistentCollection {#8600 …}
    #options: Doctrine\ORM\PersistentCollection {#8604 …}
    #associations: Doctrine\ORM\PersistentCollection {#8602 …}
    #createdAt: DateTime @1758632747 {#8586
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8587
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8607 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8608
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8588}
        #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 {#8610 …}
    #channels: Doctrine\ORM\PersistentCollection {#8596 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8592 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8594 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29386
  +product: App\Entity\Product\Product {#8588
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8598 …}
    #variants: Doctrine\ORM\PersistentCollection {#8600 …}
    #options: Doctrine\ORM\PersistentCollection {#8604 …}
    #associations: Doctrine\ORM\PersistentCollection {#8602 …}
    #createdAt: DateTime @1758632747 {#8586
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8587
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8607 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8608
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8588}
        #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 {#8610 …}
    #channels: Doctrine\ORM\PersistentCollection {#8596 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8592 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8594 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29599 …}
  +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 {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 1.17 ms
Input props
[
  "product" => App\Entity\Product\Product {#8588
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8598 …}
    #variants: Doctrine\ORM\PersistentCollection {#8600 …}
    #options: Doctrine\ORM\PersistentCollection {#8604 …}
    #associations: Doctrine\ORM\PersistentCollection {#8602 …}
    #createdAt: DateTime @1758632747 {#8586
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8587
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8607 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8608
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8588}
        #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 {#8610 …}
    #channels: Doctrine\ORM\PersistentCollection {#8596 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8592 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8594 …}
    #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 {#29670
  -props: [
    "product" => App\Entity\Product\Product {#8588
      #id: 3041
      #code: "moulin-peugeot-paris-chocolat-u-select-331"
      #attributes: Doctrine\ORM\PersistentCollection {#8598 …}
      #variants: Doctrine\ORM\PersistentCollection {#8600 …}
      #options: Doctrine\ORM\PersistentCollection {#8604 …}
      #associations: Doctrine\ORM\PersistentCollection {#8602 …}
      #createdAt: DateTime @1758632747 {#8586
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8587
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8607 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8608
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8588}
          #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 {#8610 …}
      #channels: Doctrine\ORM\PersistentCollection {#8596 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8592 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8594 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.56 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29862
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29654 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29727 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29651 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29599 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29607
    #collection: Doctrine\Common\Collections\ArrayCollection {#29616 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29595 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38937 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38939 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29862
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29654 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29727 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29651 …}
    +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 {#29607
    #collection: Doctrine\Common\Collections\ArrayCollection {#29616 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29595 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38937 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38939 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29866
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29862
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29654 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29727 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29651 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29599 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29607
      #collection: Doctrine\Common\Collections\ArrayCollection {#29616 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29595 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38937 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38939 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29916
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29907 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29914 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29915 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29599 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29919
  +variant: App\Entity\Product\ProductVariant {#29599 …}
  +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 {#8147 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12051 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8131 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29916
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29907 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29914 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29915 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 102.0 MiB 5.97 ms
Input props
[
  "product" => App\Entity\Product\Product {#8614
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#8621 …}
    #variants: Doctrine\ORM\PersistentCollection {#8623 …}
    #options: Doctrine\ORM\PersistentCollection {#8627 …}
    #associations: Doctrine\ORM\PersistentCollection {#8625 …}
    #createdAt: DateTime @1758632747 {#8612
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8613
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8630 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8631
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8614}
        #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 {#8633 …}
    #channels: Doctrine\ORM\PersistentCollection {#8619 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8615 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8617 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29661
  +product: App\Entity\Product\Product {#8614
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#8621 …}
    #variants: Doctrine\ORM\PersistentCollection {#8623 …}
    #options: Doctrine\ORM\PersistentCollection {#8627 …}
    #associations: Doctrine\ORM\PersistentCollection {#8625 …}
    #createdAt: DateTime @1758632747 {#8612
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8613
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8630 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8631
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8614}
        #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 {#8633 …}
    #channels: Doctrine\ORM\PersistentCollection {#8619 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8615 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8617 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29982 …}
  +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 {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.70 ms
Input props
[
  "product" => App\Entity\Product\Product {#8614
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#8621 …}
    #variants: Doctrine\ORM\PersistentCollection {#8623 …}
    #options: Doctrine\ORM\PersistentCollection {#8627 …}
    #associations: Doctrine\ORM\PersistentCollection {#8625 …}
    #createdAt: DateTime @1758632747 {#8612
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8613
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8630 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8631
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8614}
        #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 {#8633 …}
    #channels: Doctrine\ORM\PersistentCollection {#8619 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8615 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8617 …}
    #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 {#30053
  -props: [
    "product" => App\Entity\Product\Product {#8614
      #id: 3042
      #code: "moulin-peugeot-paris-naturel-u-select-508"
      #attributes: Doctrine\ORM\PersistentCollection {#8621 …}
      #variants: Doctrine\ORM\PersistentCollection {#8623 …}
      #options: Doctrine\ORM\PersistentCollection {#8627 …}
      #associations: Doctrine\ORM\PersistentCollection {#8625 …}
      #createdAt: DateTime @1758632747 {#8612
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8613
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8630 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8631
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8614}
          #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 {#8633 …}
      #channels: Doctrine\ORM\PersistentCollection {#8619 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8615 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8617 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.63 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30226
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30037 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30113 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30034 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29982 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29990
    #collection: Doctrine\Common\Collections\ArrayCollection {#29999 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29978 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38951 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38953 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30226
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30037 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30113 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30034 …}
    +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 {#29990
    #collection: Doctrine\Common\Collections\ArrayCollection {#29999 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29978 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38951 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38953 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30229
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30226
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30037 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30113 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30034 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29982 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29990
      #collection: Doctrine\Common\Collections\ArrayCollection {#29999 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29978 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38951 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38953 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.17 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30280
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30271 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30278 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30279 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29982 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30283
  +variant: App\Entity\Product\ProductVariant {#29982 …}
  +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 {#8147 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12051 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8131 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30280
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30271 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30278 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30279 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 102.0 MiB 5.47 ms
Input props
[
  "product" => App\Entity\Product\Product {#8637
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8644 …}
    #variants: Doctrine\ORM\PersistentCollection {#8646 …}
    #options: Doctrine\ORM\PersistentCollection {#8650 …}
    #associations: Doctrine\ORM\PersistentCollection {#8648 …}
    #createdAt: DateTime @1758632747 {#8635
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8636
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8653 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8654
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8637}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8656 …}
    #channels: Doctrine\ORM\PersistentCollection {#8642 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8638 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8640 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30044
  +product: App\Entity\Product\Product {#8637
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8644 …}
    #variants: Doctrine\ORM\PersistentCollection {#8646 …}
    #options: Doctrine\ORM\PersistentCollection {#8650 …}
    #associations: Doctrine\ORM\PersistentCollection {#8648 …}
    #createdAt: DateTime @1758632747 {#8635
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8636
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8653 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8654
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8637}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8656 …}
    #channels: Doctrine\ORM\PersistentCollection {#8642 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8638 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8640 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30346 …}
  +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 {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.71 ms
Input props
[
  "product" => App\Entity\Product\Product {#8637
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8644 …}
    #variants: Doctrine\ORM\PersistentCollection {#8646 …}
    #options: Doctrine\ORM\PersistentCollection {#8650 …}
    #associations: Doctrine\ORM\PersistentCollection {#8648 …}
    #createdAt: DateTime @1758632747 {#8635
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8636
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8653 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8654
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8637}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8656 …}
    #channels: Doctrine\ORM\PersistentCollection {#8642 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8638 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8640 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Bistro"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30417
  -props: [
    "product" => App\Entity\Product\Product {#8637
      #id: 3043
      #code: "moulin-peugeot-bistro-2682"
      #attributes: Doctrine\ORM\PersistentCollection {#8644 …}
      #variants: Doctrine\ORM\PersistentCollection {#8646 …}
      #options: Doctrine\ORM\PersistentCollection {#8650 …}
      #associations: Doctrine\ORM\PersistentCollection {#8648 …}
      #createdAt: DateTime @1758632747 {#8635
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8636
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8653 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8654
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8637}
          #id: 3043
          #name: "Moulin Peugeot Bistro"
          #slug: "moulin-peugeot-bistro-2682"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie</li>\n
            <li>Corps bois vernis</li>\n
            <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
            </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8656 …}
      #channels: Doctrine\ORM\PersistentCollection {#8642 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8638 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8640 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.54 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30579
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30401 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30477 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30398 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30346 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30354
    #collection: Doctrine\Common\Collections\ArrayCollection {#30363 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30342 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38965 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38967 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30579
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30401 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30477 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30398 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Bistro"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30354
    #collection: Doctrine\Common\Collections\ArrayCollection {#30363 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30342 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38965 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38967 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30584
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30579
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30401 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30477 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30398 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30346 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30354
      #collection: Doctrine\Common\Collections\ArrayCollection {#30363 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30342 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38965 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38967 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30633
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30624 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30631 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30632 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30346 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30636
  +variant: App\Entity\Product\ProductVariant {#30346 …}
  +price: "40,00\u{A0}"
  +originalPrice: "44,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8147 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12051 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8131 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30633
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30624 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30631 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30632 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 102.0 MiB 4.79 ms
Input props
[
  "product" => App\Entity\Product\Product {#8660
    #id: 3044
    #code: "moulin-peugeot-oleron-3776"
    #attributes: Doctrine\ORM\PersistentCollection {#8667 …}
    #variants: Doctrine\ORM\PersistentCollection {#8669 …}
    #options: Doctrine\ORM\PersistentCollection {#8673 …}
    #associations: Doctrine\ORM\PersistentCollection {#8671 …}
    #createdAt: DateTime @1758632747 {#8658
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8659
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8676 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8677
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8660}
        #id: 3044
        #name: "Moulin Peugeot Oleron"
        #slug: "moulin-peugeot-oleron-3776"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Esth&eacute;tique sobre convenant &agrave; tous les styles.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li>2 coloris au choix.</li>\n
          </ul></div><h1>Description Moulin Peugeot Oleron</h1><div class="col is-12">Le moulin Peugeot Ol&eacute;ron a un&nbsp;corps acrylique transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voquant le mouvement et jouant subtilement avec la lumi&egrave;re.&nbsp;Le moulin Peugeot Ol&eacute;ron propose&nbsp;3 m&eacute;canismes : poivre, sel sec et piment.&nbsp;\n
          <div></div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Une ligne de moulins dont le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Peugeot propose des m&eacute;canismes sp&eacute;cifiquement con&ccedil;us pour chaque &eacute;pice, la gamme Ol&eacute;ron offre 3 m&eacute;canismes : M&eacute;canisme &agrave; poivre, m&eacute;canisme &agrave; sel sec et m&eacute;canisme &agrave; piment.&nbsp;&nbsp;le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div></div><h1>Caractéristiques Moulin Peugeot Oleron</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>\n
          <div>Hauteur 15 cm. Corps acrylique. Haut bois. Vis inox. Garantie 2 ans. M&eacute;canismes poivre, sel sec, sel humide ou piment garantis &agrave; vie. R&eacute;glage de la mouture. Existe en bois naturel ou chocolat.</div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8679 …}
    #channels: Doctrine\ORM\PersistentCollection {#8665 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8661 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8663 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30408
  +product: App\Entity\Product\Product {#8660
    #id: 3044
    #code: "moulin-peugeot-oleron-3776"
    #attributes: Doctrine\ORM\PersistentCollection {#8667 …}
    #variants: Doctrine\ORM\PersistentCollection {#8669 …}
    #options: Doctrine\ORM\PersistentCollection {#8673 …}
    #associations: Doctrine\ORM\PersistentCollection {#8671 …}
    #createdAt: DateTime @1758632747 {#8658
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8659
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8676 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8677
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8660}
        #id: 3044
        #name: "Moulin Peugeot Oleron"
        #slug: "moulin-peugeot-oleron-3776"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Esth&eacute;tique sobre convenant &agrave; tous les styles.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li>2 coloris au choix.</li>\n
          </ul></div><h1>Description Moulin Peugeot Oleron</h1><div class="col is-12">Le moulin Peugeot Ol&eacute;ron a un&nbsp;corps acrylique transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voquant le mouvement et jouant subtilement avec la lumi&egrave;re.&nbsp;Le moulin Peugeot Ol&eacute;ron propose&nbsp;3 m&eacute;canismes : poivre, sel sec et piment.&nbsp;\n
          <div></div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Une ligne de moulins dont le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Peugeot propose des m&eacute;canismes sp&eacute;cifiquement con&ccedil;us pour chaque &eacute;pice, la gamme Ol&eacute;ron offre 3 m&eacute;canismes : M&eacute;canisme &agrave; poivre, m&eacute;canisme &agrave; sel sec et m&eacute;canisme &agrave; piment.&nbsp;&nbsp;le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div></div><h1>Caractéristiques Moulin Peugeot Oleron</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>\n
          <div>Hauteur 15 cm. Corps acrylique. Haut bois. Vis inox. Garantie 2 ans. M&eacute;canismes poivre, sel sec, sel humide ou piment garantis &agrave; vie. R&eacute;glage de la mouture. Existe en bois naturel ou chocolat.</div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8679 …}
    #channels: Doctrine\ORM\PersistentCollection {#8665 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8661 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8663 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30699 …}
  +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 {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.62 ms
Input props
[
  "product" => App\Entity\Product\Product {#8660
    #id: 3044
    #code: "moulin-peugeot-oleron-3776"
    #attributes: Doctrine\ORM\PersistentCollection {#8667 …}
    #variants: Doctrine\ORM\PersistentCollection {#8669 …}
    #options: Doctrine\ORM\PersistentCollection {#8673 …}
    #associations: Doctrine\ORM\PersistentCollection {#8671 …}
    #createdAt: DateTime @1758632747 {#8658
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8659
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8676 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8677
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8660}
        #id: 3044
        #name: "Moulin Peugeot Oleron"
        #slug: "moulin-peugeot-oleron-3776"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Esth&eacute;tique sobre convenant &agrave; tous les styles.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li>2 coloris au choix.</li>\n
          </ul></div><h1>Description Moulin Peugeot Oleron</h1><div class="col is-12">Le moulin Peugeot Ol&eacute;ron a un&nbsp;corps acrylique transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voquant le mouvement et jouant subtilement avec la lumi&egrave;re.&nbsp;Le moulin Peugeot Ol&eacute;ron propose&nbsp;3 m&eacute;canismes : poivre, sel sec et piment.&nbsp;\n
          <div></div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Une ligne de moulins dont le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Peugeot propose des m&eacute;canismes sp&eacute;cifiquement con&ccedil;us pour chaque &eacute;pice, la gamme Ol&eacute;ron offre 3 m&eacute;canismes : M&eacute;canisme &agrave; poivre, m&eacute;canisme &agrave; sel sec et m&eacute;canisme &agrave; piment.&nbsp;&nbsp;le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div></div><h1>Caractéristiques Moulin Peugeot Oleron</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>\n
          <div>Hauteur 15 cm. Corps acrylique. Haut bois. Vis inox. Garantie 2 ans. M&eacute;canismes poivre, sel sec, sel humide ou piment garantis &agrave; vie. R&eacute;glage de la mouture. Existe en bois naturel ou chocolat.</div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8679 …}
    #channels: Doctrine\ORM\PersistentCollection {#8665 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8661 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8663 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Oleron"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30770
  -props: [
    "product" => App\Entity\Product\Product {#8660
      #id: 3044
      #code: "moulin-peugeot-oleron-3776"
      #attributes: Doctrine\ORM\PersistentCollection {#8667 …}
      #variants: Doctrine\ORM\PersistentCollection {#8669 …}
      #options: Doctrine\ORM\PersistentCollection {#8673 …}
      #associations: Doctrine\ORM\PersistentCollection {#8671 …}
      #createdAt: DateTime @1758632747 {#8658
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8659
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8676 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8677
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8660}
          #id: 3044
          #name: "Moulin Peugeot Oleron"
          #slug: "moulin-peugeot-oleron-3776"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Esth&eacute;tique sobre convenant &agrave; tous les styles.</li>\n
            <li>M&eacute;canismes garantis &agrave; vie.</li>\n
            <li>2 coloris au choix.</li>\n
            </ul></div><h1>Description Moulin Peugeot Oleron</h1><div class="col is-12">Le moulin Peugeot Ol&eacute;ron a un&nbsp;corps acrylique transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voquant le mouvement et jouant subtilement avec la lumi&egrave;re.&nbsp;Le moulin Peugeot Ol&eacute;ron propose&nbsp;3 m&eacute;canismes : poivre, sel sec et piment.&nbsp;\n
            <div></div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Une ligne de moulins dont le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Peugeot propose des m&eacute;canismes sp&eacute;cifiquement con&ccedil;us pour chaque &eacute;pice, la gamme Ol&eacute;ron offre 3 m&eacute;canismes : M&eacute;canisme &agrave; poivre, m&eacute;canisme &agrave; sel sec et m&eacute;canisme &agrave; piment.&nbsp;&nbsp;le corps transparent l&eacute;g&egrave;rement torsad&eacute; &eacute;voque le mouvement et joue subtilement avec la lumi&egrave;re.&nbsp;</div></div><h1>Caractéristiques Moulin Peugeot Oleron</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>\n
            <div>Hauteur 15 cm. Corps acrylique. Haut bois. Vis inox. Garantie 2 ans. M&eacute;canismes poivre, sel sec, sel humide ou piment garantis &agrave; vie. R&eacute;glage de la mouture. Existe en bois naturel ou chocolat.</div></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8679 …}
      #channels: Doctrine\ORM\PersistentCollection {#8665 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8661 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8663 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.53 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30904
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30754 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30827 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30751 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30699 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30707
    #collection: Doctrine\Common\Collections\ArrayCollection {#30716 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30695 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38979 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38981 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30904
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30754 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30827 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30751 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Oleron"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30707
    #collection: Doctrine\Common\Collections\ArrayCollection {#30716 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30695 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38979 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38981 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30905
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30904
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30754 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30827 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30751 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30699 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30707
      #collection: Doctrine\Common\Collections\ArrayCollection {#30716 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30695 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38979 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38981 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30958
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30949 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30956 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30957 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30699 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30961
  +variant: App\Entity\Product\ProductVariant {#30699 …}
  +price: "35,00\u{A0}"
  +originalPrice: "38,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8147 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12051 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8131 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30958
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30949 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30956 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30957 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 102.0 MiB 5.40 ms
Input props
[
  "product" => App\Entity\Product\Product {#8683
    #id: 3045
    #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
    #attributes: Doctrine\ORM\PersistentCollection {#4833 …}
    #variants: Doctrine\ORM\PersistentCollection {#4835 …}
    #options: Doctrine\ORM\PersistentCollection {#4840 …}
    #associations: Doctrine\ORM\PersistentCollection {#4829 …}
    #createdAt: DateTime @1758632747 {#8681
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8682
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4827 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4839
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8683}
        #id: 3045
        #name: "Moulin Peugeot Paris laqué noir U'Select"
        #slug: "moulin-peugeot-paris-laque-noir-u-select-4024"
        #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 laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <strong></strong> \n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; noir sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. 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.</div><h1>Caractéristiques Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4853 …}
    #channels: Doctrine\ORM\PersistentCollection {#8688 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8684 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8686 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30761
  +product: App\Entity\Product\Product {#8683
    #id: 3045
    #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
    #attributes: Doctrine\ORM\PersistentCollection {#4833 …}
    #variants: Doctrine\ORM\PersistentCollection {#4835 …}
    #options: Doctrine\ORM\PersistentCollection {#4840 …}
    #associations: Doctrine\ORM\PersistentCollection {#4829 …}
    #createdAt: DateTime @1758632747 {#8681
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8682
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4827 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4839
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8683}
        #id: 3045
        #name: "Moulin Peugeot Paris laqué noir U'Select"
        #slug: "moulin-peugeot-paris-laque-noir-u-select-4024"
        #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 laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <strong></strong> \n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; noir sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. 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.</div><h1>Caractéristiques Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4853 …}
    #channels: Doctrine\ORM\PersistentCollection {#8688 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8684 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8686 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#31024 …}
  +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 {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.83 ms
Input props
[
  "product" => App\Entity\Product\Product {#8683
    #id: 3045
    #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
    #attributes: Doctrine\ORM\PersistentCollection {#4833 …}
    #variants: Doctrine\ORM\PersistentCollection {#4835 …}
    #options: Doctrine\ORM\PersistentCollection {#4840 …}
    #associations: Doctrine\ORM\PersistentCollection {#4829 …}
    #createdAt: DateTime @1758632747 {#8681
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8682
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4827 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4839
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8683}
        #id: 3045
        #name: "Moulin Peugeot Paris laqué noir U'Select"
        #slug: "moulin-peugeot-paris-laque-noir-u-select-4024"
        #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 laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <strong></strong> \n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; noir sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. 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.</div><h1>Caractéristiques Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4853 …}
    #channels: Doctrine\ORM\PersistentCollection {#8688 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8684 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8686 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Paris laqué noir U'Select"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31095
  -props: [
    "product" => App\Entity\Product\Product {#8683
      #id: 3045
      #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
      #attributes: Doctrine\ORM\PersistentCollection {#4833 …}
      #variants: Doctrine\ORM\PersistentCollection {#4835 …}
      #options: Doctrine\ORM\PersistentCollection {#4840 …}
      #associations: Doctrine\ORM\PersistentCollection {#4829 …}
      #createdAt: DateTime @1758632747 {#8681
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8682
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#4827 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#4839
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8683}
          #id: 3045
          #name: "Moulin Peugeot Paris laqué noir U'Select"
          #slug: "moulin-peugeot-paris-laque-noir-u-select-4024"
          #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 laqu&eacute;.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul>\n
            <strong></strong> \n
            <ul>\n
            </ul></div><h1>Description Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; noir sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. 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.</div><h1>Caractéristiques Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#4853 …}
      #channels: Doctrine\ORM\PersistentCollection {#8688 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8684 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8686 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.53 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31240
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31079 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31152 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31076 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31024 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31032
    #collection: Doctrine\Common\Collections\ArrayCollection {#31041 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31020 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38993 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38995 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31240
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31079 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31152 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31076 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Paris laqué noir U'Select"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31032
    #collection: Doctrine\Common\Collections\ArrayCollection {#31041 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31020 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38993 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38995 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31244
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31240
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31079 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31152 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31076 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#31024 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#31032
      #collection: Doctrine\Common\Collections\ArrayCollection {#31041 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#31020 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38993 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38995 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31294
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31285 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31292 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31293 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31024 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31297
  +variant: App\Entity\Product\ProductVariant {#31024 …}
  +price: "42,00\u{A0}"
  +originalPrice: "46,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8147 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12051 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8131 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31294
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31285 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31292 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31293 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 102.0 MiB 5.51 ms
Input props
[
  "product" => App\Entity\Product\Product {#4847
    #id: 3046
    #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
    #attributes: Doctrine\ORM\PersistentCollection {#5147 …}
    #variants: Doctrine\ORM\PersistentCollection {#5146 …}
    #options: Doctrine\ORM\PersistentCollection {#5126 …}
    #associations: Doctrine\ORM\PersistentCollection {#5157 …}
    #createdAt: DateTime @1758632747 {#4849
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#4848
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5123 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5125
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4847}
        #id: 3046
        #name: "Moulin Peugeot Paris laqué blanc U'Select"
        #slug: "moulin-peugeot-paris-laque-blanc-u-select-4025"
        #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 laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; blanc sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. 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.</div><h1>Caractéristiques Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#5132 …}
    #channels: Doctrine\ORM\PersistentCollection {#4844 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4845 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4857 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#31086
  +product: App\Entity\Product\Product {#4847
    #id: 3046
    #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
    #attributes: Doctrine\ORM\PersistentCollection {#5147 …}
    #variants: Doctrine\ORM\PersistentCollection {#5146 …}
    #options: Doctrine\ORM\PersistentCollection {#5126 …}
    #associations: Doctrine\ORM\PersistentCollection {#5157 …}
    #createdAt: DateTime @1758632747 {#4849
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#4848
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5123 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5125
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4847}
        #id: 3046
        #name: "Moulin Peugeot Paris laqué blanc U'Select"
        #slug: "moulin-peugeot-paris-laque-blanc-u-select-4025"
        #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 laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; blanc sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. 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.</div><h1>Caractéristiques Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#5132 …}
    #channels: Doctrine\ORM\PersistentCollection {#4844 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4845 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4857 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#31360 …}
  +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 {#27705
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27738 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
102.0 MiB 0.69 ms
Input props
[
  "product" => App\Entity\Product\Product {#4847
    #id: 3046
    #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
    #attributes: Doctrine\ORM\PersistentCollection {#5147 …}
    #variants: Doctrine\ORM\PersistentCollection {#5146 …}
    #options: Doctrine\ORM\PersistentCollection {#5126 …}
    #associations: Doctrine\ORM\PersistentCollection {#5157 …}
    #createdAt: DateTime @1758632747 {#4849
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#4848
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5123 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5125
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4847}
        #id: 3046
        #name: "Moulin Peugeot Paris laqué blanc U'Select"
        #slug: "moulin-peugeot-paris-laque-blanc-u-select-4025"
        #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 laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; blanc sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. 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.</div><h1>Caractéristiques Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#5132 …}
    #channels: Doctrine\ORM\PersistentCollection {#4844 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4845 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4857 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Paris laqué blanc U'Select"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31431
  -props: [
    "product" => App\Entity\Product\Product {#4847
      #id: 3046
      #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
      #attributes: Doctrine\ORM\PersistentCollection {#5147 …}
      #variants: Doctrine\ORM\PersistentCollection {#5146 …}
      #options: Doctrine\ORM\PersistentCollection {#5126 …}
      #associations: Doctrine\ORM\PersistentCollection {#5157 …}
      #createdAt: DateTime @1758632747 {#4849
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#4848
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#5123 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#5125
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#4847}
          #id: 3046
          #name: "Moulin Peugeot Paris laqué blanc U'Select"
          #slug: "moulin-peugeot-paris-laque-blanc-u-select-4025"
          #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 laqu&eacute;.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul></div><h1>Description Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; blanc sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. 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.</div><h1>Caractéristiques Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#5132 …}
      #channels: Doctrine\ORM\PersistentCollection {#4844 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8590 …}
      #reviews: Doctrine\ORM\PersistentCollection {#4845 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#4857 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
102.0 MiB 0.70 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31582
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31415 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31494 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31412 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31360 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31368
    #collection: Doctrine\Common\Collections\ArrayCollection {#31377 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31356 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#39007 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#39009 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31582
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31415 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31494 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31412 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Paris laqué blanc U'Select"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31368
    #collection: Doctrine\Common\Collections\ArrayCollection {#31377 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31356 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#39007 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#39009 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31586
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31582
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31415 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31494 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31412 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#31360 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#31368
      #collection: Doctrine\Common\Collections\ArrayCollection {#31377 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#31356 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#39007 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#39009 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 102.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31636
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31627 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31634 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31635 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31360 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31639
  +variant: App\Entity\Product\ProductVariant {#31360 …}
  +price: "33,00\u{A0}"
  +originalPrice: "36,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8147 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12051 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8131 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31636
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31627 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31634 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31635 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:cart:widget:offcanvas Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 104.0 MiB 2.12 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27418
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12116 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27440 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12126 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31952
  +cart: App\Entity\Order\Order {#13030 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27418
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12116 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27440 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12126 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}