Components

12 Twig Components
44 Render Count
118 ms Render Time
108.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 65.96ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 18.46ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 11.91ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.59ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.07ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.73ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.40ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 37.12ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.14ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.62ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 4.41ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.04ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 108.0 MiB 1.07 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13593
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13586 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13592 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13591 …}
    +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 {#14213
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13484 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13593
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13586 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13592 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13591 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 108.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14290
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14286 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14288 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14289 …}
    +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 {#14299
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14290
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14286 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14288 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14289 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 108.0 MiB 4.40 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14381
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14360 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14380 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14379 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#14396
  +cart: App\Entity\Order\Order {#14463 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14381
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14360 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14380 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14379 …}
    +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 108.0 MiB 37.12 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14649
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14637 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14643 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14635 …}
    +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 {#14658
  #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 {#14649
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14637 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14643 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14635 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 108.0 MiB 1.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28368
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28364 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28365 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28367 …}
    +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 {#28377
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28368
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28364 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28365 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28367 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 108.0 MiB 0.62 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28482
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28478 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28479 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28481 …}
    +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 {#28490
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28482
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28478 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28479 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28481 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 108.0 MiB 4.41 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28552
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28548 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28549 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28551 …}
    +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 {#28560
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28552
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28548 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28549 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28551 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 108.0 MiB 18.57 ms
Input props
[
  "product" => App\Entity\Product\Product {#8030
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#8771 …}
    #options: Doctrine\ORM\PersistentCollection {#8761 …}
    #associations: Doctrine\ORM\PersistentCollection {#8701 …}
    #createdAt: DateTime @1758632747 {#7945
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8040
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8760 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8763
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</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 {#8766 …}
    #channels: Doctrine\ORM\PersistentCollection {#8309 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8321 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29086
  +product: App\Entity\Product\Product {#8030
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#8771 …}
    #options: Doctrine\ORM\PersistentCollection {#8761 …}
    #associations: Doctrine\ORM\PersistentCollection {#8701 …}
    #createdAt: DateTime @1758632747 {#7945
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8040
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8760 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8763
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</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 {#8766 …}
    #channels: Doctrine\ORM\PersistentCollection {#8309 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8321 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8774 …}
  +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 {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
108.0 MiB 2.16 ms
Input props
[
  "product" => App\Entity\Product\Product {#8030
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
    #variants: Doctrine\ORM\PersistentCollection {#8771 …}
    #options: Doctrine\ORM\PersistentCollection {#8761 …}
    #associations: Doctrine\ORM\PersistentCollection {#8701 …}
    #createdAt: DateTime @1758632747 {#7945
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8040
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8760 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8763
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8030}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</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 {#8766 …}
    #channels: Doctrine\ORM\PersistentCollection {#8309 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8321 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Paris Prestige Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29240
  -props: [
    "product" => App\Entity\Product\Product {#8030
      #id: 3054
      #code: "moulin-paris-prestige-peugeot-5111"
      #attributes: Doctrine\ORM\PersistentCollection {#8633 …}
      #variants: Doctrine\ORM\PersistentCollection {#8771 …}
      #options: Doctrine\ORM\PersistentCollection {#8761 …}
      #associations: Doctrine\ORM\PersistentCollection {#8701 …}
      #createdAt: DateTime @1758632747 {#7945
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8040
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8760 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8763
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8030}
          #id: 3054
          #name: "Moulin Paris Prestige Peugeot"
          #slug: "moulin-paris-prestige-peugeot-5111"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Bois d'origine fran&ccedil;aise.</li>\n
            <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
            <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
            <li>Finition parfaite.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul>\n
            <ul style="margin: 0px 10px; padding: 10px;">\n
            </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</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 {#8766 …}
      #channels: Doctrine\ORM\PersistentCollection {#8309 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8287 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8321 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
108.0 MiB 1.51 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29329
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29255 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29252 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29328 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8774 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9045
    #collection: Doctrine\Common\Collections\ArrayCollection {#9044 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8891 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38557 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38609 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29329
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29255 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29252 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29328 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Paris Prestige Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9045
    #collection: Doctrine\Common\Collections\ArrayCollection {#9044 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8891 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38557 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38609 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29331
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29329
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29255 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29252 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29328 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8774 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9045
      #collection: Doctrine\Common\Collections\ArrayCollection {#9044 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8891 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38557 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38609 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 108.0 MiB 0.40 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29399
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29389 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29397 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29398 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8774 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29408
  +variant: App\Entity\Product\ProductVariant {#8774 …}
  +price: "1\u{202F}119,00\u{A0}"
  +originalPrice: "1\u{202F}119,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#10054 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13484 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#10051 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29399
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29389 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29397 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29398 …}
    +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 108.0 MiB 4.01 ms
Input props
[
  "product" => App\Entity\Product\Product {#9063
    #id: 3045
    #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
    #attributes: Doctrine\ORM\PersistentCollection {#9070 …}
    #variants: Doctrine\ORM\PersistentCollection {#9083 …}
    #options: Doctrine\ORM\PersistentCollection {#9074 …}
    #associations: Doctrine\ORM\PersistentCollection {#9072 …}
    #createdAt: DateTime @1758632747 {#9046
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9043
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9077 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9078
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9063}
        #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 {#9080 …}
    #channels: Doctrine\ORM\PersistentCollection {#9068 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9064 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9066 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29307
  +product: App\Entity\Product\Product {#9063
    #id: 3045
    #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
    #attributes: Doctrine\ORM\PersistentCollection {#9070 …}
    #variants: Doctrine\ORM\PersistentCollection {#9083 …}
    #options: Doctrine\ORM\PersistentCollection {#9074 …}
    #associations: Doctrine\ORM\PersistentCollection {#9072 …}
    #createdAt: DateTime @1758632747 {#9046
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9043
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9077 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9078
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9063}
        #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 {#9080 …}
    #channels: Doctrine\ORM\PersistentCollection {#9068 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9064 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9066 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9553 …}
  +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 {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
108.0 MiB 0.82 ms
Input props
[
  "product" => App\Entity\Product\Product {#9063
    #id: 3045
    #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
    #attributes: Doctrine\ORM\PersistentCollection {#9070 …}
    #variants: Doctrine\ORM\PersistentCollection {#9083 …}
    #options: Doctrine\ORM\PersistentCollection {#9074 …}
    #associations: Doctrine\ORM\PersistentCollection {#9072 …}
    #createdAt: DateTime @1758632747 {#9046
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9043
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9077 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9078
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9063}
        #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 {#9080 …}
    #channels: Doctrine\ORM\PersistentCollection {#9068 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9064 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9066 …}
    #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 {#29535
  -props: [
    "product" => App\Entity\Product\Product {#9063
      #id: 3045
      #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
      #attributes: Doctrine\ORM\PersistentCollection {#9070 …}
      #variants: Doctrine\ORM\PersistentCollection {#9083 …}
      #options: Doctrine\ORM\PersistentCollection {#9074 …}
      #associations: Doctrine\ORM\PersistentCollection {#9072 …}
      #createdAt: DateTime @1758632747 {#9046
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#9043
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9077 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9078
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9063}
          #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 {#9080 …}
      #channels: Doctrine\ORM\PersistentCollection {#9068 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9064 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9066 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
108.0 MiB 0.63 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29587
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29519 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29528 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29586 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9553 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9563
    #collection: Doctrine\Common\Collections\ArrayCollection {#9564 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9562 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38629 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38631 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29587
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29519 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29528 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29586 …}
    +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 {#9563
    #collection: Doctrine\Common\Collections\ArrayCollection {#9564 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9562 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38629 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38631 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29593
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29587
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29519 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29528 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29586 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9553 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9563
      #collection: Doctrine\Common\Collections\ArrayCollection {#9564 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9562 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38629 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38631 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 108.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29643
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29634 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29641 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29642 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9553 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29646
  +variant: App\Entity\Product\ProductVariant {#9553 …}
  +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 {#10054 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13484 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#10051 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29643
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29634 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29641 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29642 …}
    +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 108.0 MiB 13.84 ms
Input props
[
  "product" => App\Entity\Product\Product {#9103
    #id: 3046
    #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
    #attributes: Doctrine\ORM\PersistentCollection {#9110 …}
    #variants: Doctrine\ORM\PersistentCollection {#9123 …}
    #options: Doctrine\ORM\PersistentCollection {#9114 …}
    #associations: Doctrine\ORM\PersistentCollection {#9112 …}
    #createdAt: DateTime @1758632747 {#9099
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9100
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9117 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9118
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9103}
        #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 {#9120 …}
    #channels: Doctrine\ORM\PersistentCollection {#9108 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9104 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9106 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29526
  +product: App\Entity\Product\Product {#9103
    #id: 3046
    #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
    #attributes: Doctrine\ORM\PersistentCollection {#9110 …}
    #variants: Doctrine\ORM\PersistentCollection {#9123 …}
    #options: Doctrine\ORM\PersistentCollection {#9114 …}
    #associations: Doctrine\ORM\PersistentCollection {#9112 …}
    #createdAt: DateTime @1758632747 {#9099
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9100
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9117 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9118
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9103}
        #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 {#9120 …}
    #channels: Doctrine\ORM\PersistentCollection {#9108 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9104 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9106 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9665 …}
  +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 {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
108.0 MiB 10.45 ms
Input props
[
  "product" => App\Entity\Product\Product {#9103
    #id: 3046
    #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
    #attributes: Doctrine\ORM\PersistentCollection {#9110 …}
    #variants: Doctrine\ORM\PersistentCollection {#9123 …}
    #options: Doctrine\ORM\PersistentCollection {#9114 …}
    #associations: Doctrine\ORM\PersistentCollection {#9112 …}
    #createdAt: DateTime @1758632747 {#9099
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9100
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9117 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9118
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9103}
        #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 {#9120 …}
    #channels: Doctrine\ORM\PersistentCollection {#9108 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9104 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9106 …}
    #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 {#29763
  -props: [
    "product" => App\Entity\Product\Product {#9103
      #id: 3046
      #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
      #attributes: Doctrine\ORM\PersistentCollection {#9110 …}
      #variants: Doctrine\ORM\PersistentCollection {#9123 …}
      #options: Doctrine\ORM\PersistentCollection {#9114 …}
      #associations: Doctrine\ORM\PersistentCollection {#9112 …}
      #createdAt: DateTime @1758632747 {#9099
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#9100
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9117 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9118
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9103}
          #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 {#9120 …}
      #channels: Doctrine\ORM\PersistentCollection {#9108 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9104 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9106 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
108.0 MiB 0.65 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29821
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29747 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29756 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29820 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9665 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9675
    #collection: Doctrine\Common\Collections\ArrayCollection {#9676 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9674 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38643 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38645 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29821
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29747 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29756 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29820 …}
    +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 {#9675
    #collection: Doctrine\Common\Collections\ArrayCollection {#9676 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9674 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38643 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38645 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29827
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29821
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29747 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29756 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29820 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9665 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9675
      #collection: Doctrine\Common\Collections\ArrayCollection {#9676 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9674 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38643 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38645 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 108.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29877
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29868 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29875 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29876 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9665 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29880
  +variant: App\Entity\Product\ProductVariant {#9665 …}
  +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 {#10054 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13484 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#10051 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29877
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29868 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29875 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29876 …}
    +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 108.0 MiB 4.00 ms
Input props
[
  "product" => App\Entity\Product\Product {#9140
    #id: 3047
    #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
    #attributes: Doctrine\ORM\PersistentCollection {#9147 …}
    #variants: Doctrine\ORM\PersistentCollection {#9160 …}
    #options: Doctrine\ORM\PersistentCollection {#9151 …}
    #associations: Doctrine\ORM\PersistentCollection {#9149 …}
    #createdAt: DateTime @1758632747 {#9136
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9137
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9154 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9155
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9140}
        #id: 3047
        #name: "Moulin Peugeot Paris Rouge Passion U'Select"
        #slug: "moulin-peugeot-paris-rouge-passion-u-select-4340"
        #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 Rouge Passion U'Select</h1><div class="col is-12">Le Moulin Peugeot Paris Rouge Passion U'Select&nbsp;sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur 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.</div><h1>Caractéristiques Moulin Peugeot Paris Rouge Passion 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 {#9157 …}
    #channels: Doctrine\ORM\PersistentCollection {#9145 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9141 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9143 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29754
  +product: App\Entity\Product\Product {#9140
    #id: 3047
    #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
    #attributes: Doctrine\ORM\PersistentCollection {#9147 …}
    #variants: Doctrine\ORM\PersistentCollection {#9160 …}
    #options: Doctrine\ORM\PersistentCollection {#9151 …}
    #associations: Doctrine\ORM\PersistentCollection {#9149 …}
    #createdAt: DateTime @1758632747 {#9136
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9137
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9154 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9155
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9140}
        #id: 3047
        #name: "Moulin Peugeot Paris Rouge Passion U'Select"
        #slug: "moulin-peugeot-paris-rouge-passion-u-select-4340"
        #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 Rouge Passion U'Select</h1><div class="col is-12">Le Moulin Peugeot Paris Rouge Passion U'Select&nbsp;sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur 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.</div><h1>Caractéristiques Moulin Peugeot Paris Rouge Passion 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 {#9157 …}
    #channels: Doctrine\ORM\PersistentCollection {#9145 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9141 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9143 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9693 …}
  +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 {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
108.0 MiB 0.85 ms
Input props
[
  "product" => App\Entity\Product\Product {#9140
    #id: 3047
    #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
    #attributes: Doctrine\ORM\PersistentCollection {#9147 …}
    #variants: Doctrine\ORM\PersistentCollection {#9160 …}
    #options: Doctrine\ORM\PersistentCollection {#9151 …}
    #associations: Doctrine\ORM\PersistentCollection {#9149 …}
    #createdAt: DateTime @1758632747 {#9136
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9137
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9154 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9155
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9140}
        #id: 3047
        #name: "Moulin Peugeot Paris Rouge Passion U'Select"
        #slug: "moulin-peugeot-paris-rouge-passion-u-select-4340"
        #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 Rouge Passion U'Select</h1><div class="col is-12">Le Moulin Peugeot Paris Rouge Passion U'Select&nbsp;sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur 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.</div><h1>Caractéristiques Moulin Peugeot Paris Rouge Passion 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 {#9157 …}
    #channels: Doctrine\ORM\PersistentCollection {#9145 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9141 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9143 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Paris Rouge Passion U'Select"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29997
  -props: [
    "product" => App\Entity\Product\Product {#9140
      #id: 3047
      #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
      #attributes: Doctrine\ORM\PersistentCollection {#9147 …}
      #variants: Doctrine\ORM\PersistentCollection {#9160 …}
      #options: Doctrine\ORM\PersistentCollection {#9151 …}
      #associations: Doctrine\ORM\PersistentCollection {#9149 …}
      #createdAt: DateTime @1758632747 {#9136
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#9137
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9154 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9155
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9140}
          #id: 3047
          #name: "Moulin Peugeot Paris Rouge Passion U'Select"
          #slug: "moulin-peugeot-paris-rouge-passion-u-select-4340"
          #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 Rouge Passion U'Select</h1><div class="col is-12">Le Moulin Peugeot Paris Rouge Passion U'Select&nbsp;sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur 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.</div><h1>Caractéristiques Moulin Peugeot Paris Rouge Passion 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 {#9157 …}
      #channels: Doctrine\ORM\PersistentCollection {#9145 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9141 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9143 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
108.0 MiB 0.63 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30058
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29981 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29990 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30057 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9693 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9703
    #collection: Doctrine\Common\Collections\ArrayCollection {#9704 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9702 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38657 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38659 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30058
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29981 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29990 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30057 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Paris Rouge Passion U'Select"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9703
    #collection: Doctrine\Common\Collections\ArrayCollection {#9704 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9702 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38657 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38659 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30064
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30058
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29981 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29990 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30057 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9693 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9703
      #collection: Doctrine\Common\Collections\ArrayCollection {#9704 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9702 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38657 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38659 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 108.0 MiB 0.16 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30114
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30105 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30112 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30113 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9693 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30117
  +variant: App\Entity\Product\ProductVariant {#9693 …}
  +price: "33,00\u{A0}"
  +originalPrice: "39,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#10054 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13484 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#10051 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30114
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30105 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30112 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30113 …}
    +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 108.0 MiB 9.35 ms
Input props
[
  "product" => App\Entity\Product\Product {#9180
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#9187 …}
    #variants: Doctrine\ORM\PersistentCollection {#9200 …}
    #options: Doctrine\ORM\PersistentCollection {#9191 …}
    #associations: Doctrine\ORM\PersistentCollection {#9189 …}
    #createdAt: DateTime @1758632754 {#9176
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9177
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9194 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9195
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9180}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9197 …}
    #channels: Doctrine\ORM\PersistentCollection {#9185 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9181 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9183 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29988
  +product: App\Entity\Product\Product {#9180
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#9187 …}
    #variants: Doctrine\ORM\PersistentCollection {#9200 …}
    #options: Doctrine\ORM\PersistentCollection {#9191 …}
    #associations: Doctrine\ORM\PersistentCollection {#9189 …}
    #createdAt: DateTime @1758632754 {#9176
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9177
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9194 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9195
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9180}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9197 …}
    #channels: Doctrine\ORM\PersistentCollection {#9185 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9181 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9183 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9294 …}
  +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 {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
108.0 MiB 0.78 ms
Input props
[
  "product" => App\Entity\Product\Product {#9180
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#9187 …}
    #variants: Doctrine\ORM\PersistentCollection {#9200 …}
    #options: Doctrine\ORM\PersistentCollection {#9191 …}
    #associations: Doctrine\ORM\PersistentCollection {#9189 …}
    #createdAt: DateTime @1758632754 {#9176
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9177
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9194 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9195
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9180}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9197 …}
    #channels: Doctrine\ORM\PersistentCollection {#9185 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9181 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9183 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin à poivre Peugeot Roellinger"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30234
  -props: [
    "product" => App\Entity\Product\Product {#9180
      #id: 3098
      #code: "moulin-a-poivre-peugeot-roellinger-2111"
      #attributes: Doctrine\ORM\PersistentCollection {#9187 …}
      #variants: Doctrine\ORM\PersistentCollection {#9200 …}
      #options: Doctrine\ORM\PersistentCollection {#9191 …}
      #associations: Doctrine\ORM\PersistentCollection {#9189 …}
      #createdAt: DateTime @1758632754 {#9176
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#9177
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9194 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9195
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9180}
          #id: 3098
          #name: "Moulin à poivre Peugeot Roellinger"
          #slug: "moulin-a-poivre-peugeot-roellinger-2111"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie. </li>\n
            <li>Corp en bois verni. </li>\n
            <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9197 …}
      #channels: Doctrine\ORM\PersistentCollection {#9185 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9181 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9183 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
108.0 MiB 5.89 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30289
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30218 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30227 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30288 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9294 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9304
    #collection: Doctrine\Common\Collections\ArrayCollection {#9305 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9303 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38671 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38673 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30289
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30218 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30227 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30288 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin à poivre Peugeot Roellinger"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9304
    #collection: Doctrine\Common\Collections\ArrayCollection {#9305 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9303 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38671 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38673 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30295
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30289
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30218 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30227 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30288 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9294 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9304
      #collection: Doctrine\Common\Collections\ArrayCollection {#9305 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9303 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38671 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38673 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 108.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30345
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30336 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30343 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30344 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9294 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30348
  +variant: App\Entity\Product\ProductVariant {#9294 …}
  +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 {#10054 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13484 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#10051 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30345
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30336 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30343 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30344 …}
    +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 108.0 MiB 4.01 ms
Input props
[
  "product" => App\Entity\Product\Product {#9220
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#9227 …}
    #variants: Doctrine\ORM\PersistentCollection {#9240 …}
    #options: Doctrine\ORM\PersistentCollection {#9231 …}
    #associations: Doctrine\ORM\PersistentCollection {#9229 …}
    #createdAt: DateTime @1758632747 {#9216
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9217
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9234 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9235
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9220}
        #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 {#9237 …}
    #channels: Doctrine\ORM\PersistentCollection {#9225 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9221 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9223 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30225
  +product: App\Entity\Product\Product {#9220
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#9227 …}
    #variants: Doctrine\ORM\PersistentCollection {#9240 …}
    #options: Doctrine\ORM\PersistentCollection {#9231 …}
    #associations: Doctrine\ORM\PersistentCollection {#9229 …}
    #createdAt: DateTime @1758632747 {#9216
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9217
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9234 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9235
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9220}
        #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 {#9237 …}
    #channels: Doctrine\ORM\PersistentCollection {#9225 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9221 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9223 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9241 …}
  +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 {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
108.0 MiB 0.85 ms
Input props
[
  "product" => App\Entity\Product\Product {#9220
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#9227 …}
    #variants: Doctrine\ORM\PersistentCollection {#9240 …}
    #options: Doctrine\ORM\PersistentCollection {#9231 …}
    #associations: Doctrine\ORM\PersistentCollection {#9229 …}
    #createdAt: DateTime @1758632747 {#9216
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9217
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9234 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9235
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9220}
        #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 {#9237 …}
    #channels: Doctrine\ORM\PersistentCollection {#9225 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9221 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9223 …}
    #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 {#30465
  -props: [
    "product" => App\Entity\Product\Product {#9220
      #id: 3041
      #code: "moulin-peugeot-paris-chocolat-u-select-331"
      #attributes: Doctrine\ORM\PersistentCollection {#9227 …}
      #variants: Doctrine\ORM\PersistentCollection {#9240 …}
      #options: Doctrine\ORM\PersistentCollection {#9231 …}
      #associations: Doctrine\ORM\PersistentCollection {#9229 …}
      #createdAt: DateTime @1758632747 {#9216
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#9217
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9234 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9235
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9220}
          #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 {#9237 …}
      #channels: Doctrine\ORM\PersistentCollection {#9225 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9221 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9223 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
108.0 MiB 0.63 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30517
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30449 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30458 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30516 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9241 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9251
    #collection: Doctrine\Common\Collections\ArrayCollection {#9252 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9250 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38685 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38687 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30517
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30449 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30458 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30516 …}
    +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 {#9251
    #collection: Doctrine\Common\Collections\ArrayCollection {#9252 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9250 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38685 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38687 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30523
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30517
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30449 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30458 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30516 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9241 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9251
      #collection: Doctrine\Common\Collections\ArrayCollection {#9252 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9250 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38685 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38687 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 108.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30573
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30564 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30571 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30572 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9241 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30576
  +variant: App\Entity\Product\ProductVariant {#9241 …}
  +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 {#10054 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13484 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#10051 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30573
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30564 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30571 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30572 …}
    +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 108.0 MiB 4.25 ms
Input props
[
  "product" => App\Entity\Product\Product {#9257
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#9264 …}
    #variants: Doctrine\ORM\PersistentCollection {#9277 …}
    #options: Doctrine\ORM\PersistentCollection {#9268 …}
    #associations: Doctrine\ORM\PersistentCollection {#9266 …}
    #createdAt: DateTime @1758632747 {#9253
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9254
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9271 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9272
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9257}
        #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 {#9274 …}
    #channels: Doctrine\ORM\PersistentCollection {#9262 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9258 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9260 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30456
  +product: App\Entity\Product\Product {#9257
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#9264 …}
    #variants: Doctrine\ORM\PersistentCollection {#9277 …}
    #options: Doctrine\ORM\PersistentCollection {#9268 …}
    #associations: Doctrine\ORM\PersistentCollection {#9266 …}
    #createdAt: DateTime @1758632747 {#9253
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9254
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9271 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9272
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9257}
        #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 {#9274 …}
    #channels: Doctrine\ORM\PersistentCollection {#9262 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9258 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9260 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9278 …}
  +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 {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
108.0 MiB 0.95 ms
Input props
[
  "product" => App\Entity\Product\Product {#9257
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#9264 …}
    #variants: Doctrine\ORM\PersistentCollection {#9277 …}
    #options: Doctrine\ORM\PersistentCollection {#9268 …}
    #associations: Doctrine\ORM\PersistentCollection {#9266 …}
    #createdAt: DateTime @1758632747 {#9253
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9254
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9271 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9272
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9257}
        #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 {#9274 …}
    #channels: Doctrine\ORM\PersistentCollection {#9262 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9258 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9260 …}
    #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 {#30693
  -props: [
    "product" => App\Entity\Product\Product {#9257
      #id: 3042
      #code: "moulin-peugeot-paris-naturel-u-select-508"
      #attributes: Doctrine\ORM\PersistentCollection {#9264 …}
      #variants: Doctrine\ORM\PersistentCollection {#9277 …}
      #options: Doctrine\ORM\PersistentCollection {#9268 …}
      #associations: Doctrine\ORM\PersistentCollection {#9266 …}
      #createdAt: DateTime @1758632747 {#9253
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#9254
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9271 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9272
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9257}
          #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 {#9274 …}
      #channels: Doctrine\ORM\PersistentCollection {#9262 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9258 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9260 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
108.0 MiB 0.65 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30748
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30677 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30686 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30747 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9278 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9288
    #collection: Doctrine\Common\Collections\ArrayCollection {#9289 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9287 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38699 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38701 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30748
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30677 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30686 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30747 …}
    +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 {#9288
    #collection: Doctrine\Common\Collections\ArrayCollection {#9289 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9287 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38699 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38701 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30754
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30748
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30677 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30686 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30747 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9278 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9288
      #collection: Doctrine\Common\Collections\ArrayCollection {#9289 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9287 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38699 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38701 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 108.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30804
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30795 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30802 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30803 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9278 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30807
  +variant: App\Entity\Product\ProductVariant {#9278 …}
  +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 {#10054 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13484 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#10051 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30804
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30795 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30802 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30803 …}
    +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 108.0 MiB 4.00 ms
Input props
[
  "product" => App\Entity\Product\Product {#9392
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#9399 …}
    #variants: Doctrine\ORM\PersistentCollection {#9412 …}
    #options: Doctrine\ORM\PersistentCollection {#9403 …}
    #associations: Doctrine\ORM\PersistentCollection {#9401 …}
    #createdAt: DateTime @1758632748 {#9291
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#9290
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9406 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9407
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9392}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9409 …}
    #channels: Doctrine\ORM\PersistentCollection {#9397 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9393 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9395 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30684
  +product: App\Entity\Product\Product {#9392
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#9399 …}
    #variants: Doctrine\ORM\PersistentCollection {#9412 …}
    #options: Doctrine\ORM\PersistentCollection {#9403 …}
    #associations: Doctrine\ORM\PersistentCollection {#9401 …}
    #createdAt: DateTime @1758632748 {#9291
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#9290
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9406 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9407
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9392}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9409 …}
    #channels: Doctrine\ORM\PersistentCollection {#9397 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9393 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9395 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9413 …}
  +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 {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
108.0 MiB 0.84 ms
Input props
[
  "product" => App\Entity\Product\Product {#9392
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#9399 …}
    #variants: Doctrine\ORM\PersistentCollection {#9412 …}
    #options: Doctrine\ORM\PersistentCollection {#9403 …}
    #associations: Doctrine\ORM\PersistentCollection {#9401 …}
    #createdAt: DateTime @1758632748 {#9291
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#9290
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9406 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9407
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9392}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9409 …}
    #channels: Doctrine\ORM\PersistentCollection {#9397 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9393 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9395 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Paris bois d'Olivier Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30924
  -props: [
    "product" => App\Entity\Product\Product {#9392
      #id: 3066
      #code: "moulin-paris-bois-d-olivier-peugeot-7542"
      #attributes: Doctrine\ORM\PersistentCollection {#9399 …}
      #variants: Doctrine\ORM\PersistentCollection {#9412 …}
      #options: Doctrine\ORM\PersistentCollection {#9403 …}
      #associations: Doctrine\ORM\PersistentCollection {#9401 …}
      #createdAt: DateTime @1758632748 {#9291
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#9290
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9406 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9407
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9392}
          #id: 3066
          #name: "Moulin Paris bois d'Olivier Peugeot"
          #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
            <li>Toucher velout&eacute;.</li>\n
            <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9409 …}
      #channels: Doctrine\ORM\PersistentCollection {#9397 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9393 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9395 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
108.0 MiB 0.66 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30979
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30908 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30917 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30978 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9413 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9423
    #collection: Doctrine\Common\Collections\ArrayCollection {#9424 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9422 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38713 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38715 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30979
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30908 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30917 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30978 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Paris bois d'Olivier Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9423
    #collection: Doctrine\Common\Collections\ArrayCollection {#9424 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9422 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38713 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38715 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30985
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30979
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30908 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30917 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30978 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9413 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9423
      #collection: Doctrine\Common\Collections\ArrayCollection {#9424 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9422 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38713 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38715 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 108.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31035
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31026 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31033 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31034 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9413 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31038
  +variant: App\Entity\Product\ProductVariant {#9413 …}
  +price: "62,00\u{A0}"
  +originalPrice: "69,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#10054 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13484 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#10051 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31035
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31026 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31033 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31034 …}
    +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 108.0 MiB 3.93 ms
Input props
[
  "product" => App\Entity\Product\Product {#9429
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#9436 …}
    #variants: Doctrine\ORM\PersistentCollection {#9449 …}
    #options: Doctrine\ORM\PersistentCollection {#9440 …}
    #associations: Doctrine\ORM\PersistentCollection {#9438 …}
    #createdAt: DateTime @1758632747 {#9425
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9426
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9443 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9444
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9429}
        #id: 3049
        #name: "Moulin Peugeot Tahiti"
        #slug: "moulin-peugeot-tahiti-4354"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</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 {#9446 …}
    #channels: Doctrine\ORM\PersistentCollection {#9434 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9430 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9432 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30915
  +product: App\Entity\Product\Product {#9429
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#9436 …}
    #variants: Doctrine\ORM\PersistentCollection {#9449 …}
    #options: Doctrine\ORM\PersistentCollection {#9440 …}
    #associations: Doctrine\ORM\PersistentCollection {#9438 …}
    #createdAt: DateTime @1758632747 {#9425
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9426
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9443 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9444
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9429}
        #id: 3049
        #name: "Moulin Peugeot Tahiti"
        #slug: "moulin-peugeot-tahiti-4354"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</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 {#9446 …}
    #channels: Doctrine\ORM\PersistentCollection {#9434 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9430 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9432 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9450 …}
  +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 {#28617
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28650 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
108.0 MiB 0.76 ms
Input props
[
  "product" => App\Entity\Product\Product {#9429
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#9436 …}
    #variants: Doctrine\ORM\PersistentCollection {#9449 …}
    #options: Doctrine\ORM\PersistentCollection {#9440 …}
    #associations: Doctrine\ORM\PersistentCollection {#9438 …}
    #createdAt: DateTime @1758632747 {#9425
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9426
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9443 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9444
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9429}
        #id: 3049
        #name: "Moulin Peugeot Tahiti"
        #slug: "moulin-peugeot-tahiti-4354"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</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 {#9446 …}
    #channels: Doctrine\ORM\PersistentCollection {#9434 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9430 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9432 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Tahiti"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31155
  -props: [
    "product" => App\Entity\Product\Product {#9429
      #id: 3049
      #code: "moulin-peugeot-tahiti-4354"
      #attributes: Doctrine\ORM\PersistentCollection {#9436 …}
      #variants: Doctrine\ORM\PersistentCollection {#9449 …}
      #options: Doctrine\ORM\PersistentCollection {#9440 …}
      #associations: Doctrine\ORM\PersistentCollection {#9438 …}
      #createdAt: DateTime @1758632747 {#9425
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#9426
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9443 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9444
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9429}
          #id: 3049
          #name: "Moulin Peugeot Tahiti"
          #slug: "moulin-peugeot-tahiti-4354"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Tr&egrave;s bonne prise en main.</li>\n
            <li>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</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 {#9446 …}
      #channels: Doctrine\ORM\PersistentCollection {#9434 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7966 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9430 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9432 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
108.0 MiB 0.65 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31204
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31139 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31148 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31203 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9450 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9463
    #collection: Doctrine\Common\Collections\ArrayCollection {#9464 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9462 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38727 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38729 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31204
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31139 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31148 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31203 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9463
    #collection: Doctrine\Common\Collections\ArrayCollection {#9464 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9462 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38727 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38729 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31210
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31204
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31139 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31148 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31203 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9450 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9463
      #collection: Doctrine\Common\Collections\ArrayCollection {#9464 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9462 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38727 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38729 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 108.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31260
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31251 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31258 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31259 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9450 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31263
  +variant: App\Entity\Product\ProductVariant {#9450 …}
  +price: "53,00\u{A0}"
  +originalPrice: "59,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#10054 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13484 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#10051 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31260
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31251 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31258 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31259 …}
    +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 108.0 MiB 2.04 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28330
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13549 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28352 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13559 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31570
  +cart: App\Entity\Order\Order {#14463 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28330
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13549 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28352 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13559 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}