Components

12 Twig Components
44 Render Count
159 ms Render Time
106.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 104.34ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 15.82ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 16.24ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 2.29ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.42ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.95ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 22.36ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 22.78ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.37ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.84ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 2.39ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.93ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 106.0 MiB 1.42 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12150
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12143 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12149 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12148 …}
    +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 {#12770
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12041 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12150
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12143 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12149 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12148 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 106.0 MiB 0.95 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12847
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12843 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12845 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12846 …}
    +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 {#12856
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12847
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12843 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12845 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12846 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 106.0 MiB 22.36 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12938
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12917 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12937 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12936 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#12953
  +cart: App\Entity\Order\Order {#13020 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12938
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12917 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12937 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12936 …}
    +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 106.0 MiB 22.78 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13206
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13194 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13200 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13192 …}
    +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 {#13215
  #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 {#13206
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13194 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13200 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13192 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 106.0 MiB 1.37 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27449
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27445 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27446 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27448 …}
    +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 {#27458
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27449
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27445 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27446 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27448 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 106.0 MiB 0.84 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27563
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27559 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27560 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27562 …}
    +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 {#27571
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27563
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27559 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27560 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27562 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 106.0 MiB 2.39 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27633
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27629 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27630 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27632 …}
    +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 {#27641
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27633
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27629 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27630 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27632 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 106.0 MiB 24.97 ms
Input props
[
  "product" => App\Entity\Product\Product {#7964
    #id: 3072
    #code: "moulin-peugeot-vittel-519"
    #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
    #variants: Doctrine\ORM\PersistentCollection {#8396 …}
    #options: Doctrine\ORM\PersistentCollection {#8524 …}
    #associations: Doctrine\ORM\PersistentCollection {#8464 …}
    #createdAt: DateTime @1758632749 {#7787
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#7403
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8523 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8526
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7964}
        #id: 3072
        #name: "Moulin Peugeot Vittel"
        #slug: "moulin-peugeot-vittel-519"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;.</li>\n
          </ul></div><h1>Description moulin Peugeot Vittel</h1><div class="col is-12">Le moulin Peugeot Vittel permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design permet d'envisager de pr&eacute;senter votre moulin &nbsp;directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Vittel</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps en acrylique - M&eacute;canisme anti-corrosion - Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage - M&eacute;canisme garanti &agrave; vie</div>\n
          <div>Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie</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 {#8529 …}
    #channels: Doctrine\ORM\PersistentCollection {#8032 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7941 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8035 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28167
  +product: App\Entity\Product\Product {#7964
    #id: 3072
    #code: "moulin-peugeot-vittel-519"
    #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
    #variants: Doctrine\ORM\PersistentCollection {#8396 …}
    #options: Doctrine\ORM\PersistentCollection {#8524 …}
    #associations: Doctrine\ORM\PersistentCollection {#8464 …}
    #createdAt: DateTime @1758632749 {#7787
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#7403
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8523 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8526
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7964}
        #id: 3072
        #name: "Moulin Peugeot Vittel"
        #slug: "moulin-peugeot-vittel-519"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;.</li>\n
          </ul></div><h1>Description moulin Peugeot Vittel</h1><div class="col is-12">Le moulin Peugeot Vittel permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design permet d'envisager de pr&eacute;senter votre moulin &nbsp;directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Vittel</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps en acrylique - M&eacute;canisme anti-corrosion - Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage - M&eacute;canisme garanti &agrave; vie</div>\n
          <div>Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie</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 {#8529 …}
    #channels: Doctrine\ORM\PersistentCollection {#8032 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7941 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8035 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#28433 …}
  +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 {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
106.0 MiB 8.06 ms
Input props
[
  "product" => App\Entity\Product\Product {#7964
    #id: 3072
    #code: "moulin-peugeot-vittel-519"
    #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
    #variants: Doctrine\ORM\PersistentCollection {#8396 …}
    #options: Doctrine\ORM\PersistentCollection {#8524 …}
    #associations: Doctrine\ORM\PersistentCollection {#8464 …}
    #createdAt: DateTime @1758632749 {#7787
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#7403
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8523 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8526
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7964}
        #id: 3072
        #name: "Moulin Peugeot Vittel"
        #slug: "moulin-peugeot-vittel-519"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;.</li>\n
          </ul></div><h1>Description moulin Peugeot Vittel</h1><div class="col is-12">Le moulin Peugeot Vittel permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design permet d'envisager de pr&eacute;senter votre moulin &nbsp;directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Vittel</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps en acrylique - M&eacute;canisme anti-corrosion - Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage - M&eacute;canisme garanti &agrave; vie</div>\n
          <div>Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie</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 {#8529 …}
    #channels: Doctrine\ORM\PersistentCollection {#8032 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7941 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8035 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Vittel"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28844
  -props: [
    "product" => App\Entity\Product\Product {#7964
      #id: 3072
      #code: "moulin-peugeot-vittel-519"
      #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
      #variants: Doctrine\ORM\PersistentCollection {#8396 …}
      #options: Doctrine\ORM\PersistentCollection {#8524 …}
      #associations: Doctrine\ORM\PersistentCollection {#8464 …}
      #createdAt: DateTime @1758632749 {#7787
        date: 2025-09-23 21:05:49.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632749 {#7403
        date: 2025-09-23 21:05:49.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8523 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8526
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#7964}
          #id: 3072
          #name: "Moulin Peugeot Vittel"
          #slug: "moulin-peugeot-vittel-519"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>R&eacute;glage de la mouture.</li>\n
            <li>Corps acrylique haute qualit&eacute;.</li>\n
            </ul></div><h1>Description moulin Peugeot Vittel</h1><div class="col is-12">Le moulin Peugeot Vittel permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design permet d'envisager de pr&eacute;senter votre moulin &nbsp;directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Vittel</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps en acrylique - M&eacute;canisme anti-corrosion - Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage - M&eacute;canisme garanti &agrave; vie</div>\n
            <div>Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie</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 {#8529 …}
      #channels: Doctrine\ORM\PersistentCollection {#8032 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
      #reviews: Doctrine\ORM\PersistentCollection {#7941 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8035 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
106.0 MiB 3.86 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29000
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28926 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28921 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28995 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28433 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28779
    #collection: Doctrine\Common\Collections\ArrayCollection {#28778 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28616 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38563 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38615 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29000
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28926 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28921 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28995 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Vittel"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28779
    #collection: Doctrine\Common\Collections\ArrayCollection {#28778 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28616 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38563 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38615 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28996
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29000
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28926 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28921 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28995 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#28433 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#28779
      #collection: Doctrine\Common\Collections\ArrayCollection {#28778 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#28616 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38563 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38615 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 106.0 MiB 0.56 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29068
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29058 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29066 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29067 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28433 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29077
  +variant: App\Entity\Product\ProductVariant {#28433 …}
  +price: "35,00\u{A0}"
  +originalPrice: "39,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8124 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12041 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8016 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29068
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29058 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29066 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29067 …}
    +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 106.0 MiB 8.61 ms
Input props
[
  "product" => App\Entity\Product\Product {#8535
    #id: 3050
    #code: "moulin-peugeot-tahiti-printemps-4355"
    #attributes: Doctrine\ORM\PersistentCollection {#8542 …}
    #variants: Doctrine\ORM\PersistentCollection {#8544 …}
    #options: Doctrine\ORM\PersistentCollection {#8548 …}
    #associations: Doctrine\ORM\PersistentCollection {#8546 …}
    #createdAt: DateTime @1758632747 {#8533
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8534
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8551 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8552
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8535}
        #id: 3050
        #name: "Moulin Peugeot Tahiti Printemps"
        #slug: "moulin-peugeot-tahiti-printemps-4355"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</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 Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8554 …}
    #channels: Doctrine\ORM\PersistentCollection {#8540 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8536 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8538 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28822
  +product: App\Entity\Product\Product {#8535
    #id: 3050
    #code: "moulin-peugeot-tahiti-printemps-4355"
    #attributes: Doctrine\ORM\PersistentCollection {#8542 …}
    #variants: Doctrine\ORM\PersistentCollection {#8544 …}
    #options: Doctrine\ORM\PersistentCollection {#8548 …}
    #associations: Doctrine\ORM\PersistentCollection {#8546 …}
    #createdAt: DateTime @1758632747 {#8533
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8534
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8551 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8552
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8535}
        #id: 3050
        #name: "Moulin Peugeot Tahiti Printemps"
        #slug: "moulin-peugeot-tahiti-printemps-4355"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</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 Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8554 …}
    #channels: Doctrine\ORM\PersistentCollection {#8540 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8536 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8538 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29150 …}
  +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 {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
106.0 MiB 1.06 ms
Input props
[
  "product" => App\Entity\Product\Product {#8535
    #id: 3050
    #code: "moulin-peugeot-tahiti-printemps-4355"
    #attributes: Doctrine\ORM\PersistentCollection {#8542 …}
    #variants: Doctrine\ORM\PersistentCollection {#8544 …}
    #options: Doctrine\ORM\PersistentCollection {#8548 …}
    #associations: Doctrine\ORM\PersistentCollection {#8546 …}
    #createdAt: DateTime @1758632747 {#8533
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8534
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8551 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8552
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8535}
        #id: 3050
        #name: "Moulin Peugeot Tahiti Printemps"
        #slug: "moulin-peugeot-tahiti-printemps-4355"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</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 Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8554 …}
    #channels: Doctrine\ORM\PersistentCollection {#8540 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8536 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8538 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Tahiti Printemps"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29224
  -props: [
    "product" => App\Entity\Product\Product {#8535
      #id: 3050
      #code: "moulin-peugeot-tahiti-printemps-4355"
      #attributes: Doctrine\ORM\PersistentCollection {#8542 …}
      #variants: Doctrine\ORM\PersistentCollection {#8544 …}
      #options: Doctrine\ORM\PersistentCollection {#8548 …}
      #associations: Doctrine\ORM\PersistentCollection {#8546 …}
      #createdAt: DateTime @1758632747 {#8533
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8534
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8551 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8552
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8535}
          #id: 3050
          #name: "Moulin Peugeot Tahiti Printemps"
          #slug: "moulin-peugeot-tahiti-printemps-4355"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Uniquement en duo.</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 Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</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. Hauteur 15 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8554 …}
      #channels: Doctrine\ORM\PersistentCollection {#8540 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8536 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8538 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
106.0 MiB 0.82 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29217
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29208 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29278 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29205 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29150 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29158
    #collection: Doctrine\Common\Collections\ArrayCollection {#29170 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29146 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38635 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38637 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29217
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29208 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29278 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29205 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti Printemps"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29158
    #collection: Doctrine\Common\Collections\ArrayCollection {#29170 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29146 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38635 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38637 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29282
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29217
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29208 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29278 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29205 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29150 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29158
      #collection: Doctrine\Common\Collections\ArrayCollection {#29170 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29146 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38635 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38637 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 106.0 MiB 0.21 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29332
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29323 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29331 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29150 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29335
  +variant: App\Entity\Product\ProductVariant {#29150 …}
  +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 {#8124 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12041 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8016 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29332
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29323 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29330 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29331 …}
    +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 106.0 MiB 5.72 ms
Input props
[
  "product" => App\Entity\Product\Product {#8558
    #id: 3057
    #code: "moulin-peugeot-tahiti-hiver-5767"
    #attributes: Doctrine\ORM\PersistentCollection {#8565 …}
    #variants: Doctrine\ORM\PersistentCollection {#8567 …}
    #options: Doctrine\ORM\PersistentCollection {#8571 …}
    #associations: Doctrine\ORM\PersistentCollection {#8569 …}
    #createdAt: DateTime @1758632747 {#8556
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8557
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8574 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8575
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8558}
        #id: 3057
        #name: "Moulin Peugeot Tahiti Hiver"
        #slug: "moulin-peugeot-tahiti-hiver-5767"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8577 …}
    #channels: Doctrine\ORM\PersistentCollection {#8563 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8559 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8561 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29215
  +product: App\Entity\Product\Product {#8558
    #id: 3057
    #code: "moulin-peugeot-tahiti-hiver-5767"
    #attributes: Doctrine\ORM\PersistentCollection {#8565 …}
    #variants: Doctrine\ORM\PersistentCollection {#8567 …}
    #options: Doctrine\ORM\PersistentCollection {#8571 …}
    #associations: Doctrine\ORM\PersistentCollection {#8569 …}
    #createdAt: DateTime @1758632747 {#8556
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8557
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8574 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8575
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8558}
        #id: 3057
        #name: "Moulin Peugeot Tahiti Hiver"
        #slug: "moulin-peugeot-tahiti-hiver-5767"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8577 …}
    #channels: Doctrine\ORM\PersistentCollection {#8563 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8559 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8561 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29398 …}
  +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 {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
106.0 MiB 0.84 ms
Input props
[
  "product" => App\Entity\Product\Product {#8558
    #id: 3057
    #code: "moulin-peugeot-tahiti-hiver-5767"
    #attributes: Doctrine\ORM\PersistentCollection {#8565 …}
    #variants: Doctrine\ORM\PersistentCollection {#8567 …}
    #options: Doctrine\ORM\PersistentCollection {#8571 …}
    #associations: Doctrine\ORM\PersistentCollection {#8569 …}
    #createdAt: DateTime @1758632747 {#8556
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8557
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8574 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8575
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8558}
        #id: 3057
        #name: "Moulin Peugeot Tahiti Hiver"
        #slug: "moulin-peugeot-tahiti-hiver-5767"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8577 …}
    #channels: Doctrine\ORM\PersistentCollection {#8563 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8559 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8561 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Tahiti Hiver"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29472
  -props: [
    "product" => App\Entity\Product\Product {#8558
      #id: 3057
      #code: "moulin-peugeot-tahiti-hiver-5767"
      #attributes: Doctrine\ORM\PersistentCollection {#8565 …}
      #variants: Doctrine\ORM\PersistentCollection {#8567 …}
      #options: Doctrine\ORM\PersistentCollection {#8571 …}
      #associations: Doctrine\ORM\PersistentCollection {#8569 …}
      #createdAt: DateTime @1758632747 {#8556
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8557
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8574 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8575
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8558}
          #id: 3057
          #name: "Moulin Peugeot Tahiti Hiver"
          #slug: "moulin-peugeot-tahiti-hiver-5767"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Uniquement en duo.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</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. Hauteur 15 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8577 …}
      #channels: Doctrine\ORM\PersistentCollection {#8563 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8559 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8561 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
106.0 MiB 0.82 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29465
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29456 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29523 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29453 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29398 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29406
    #collection: Doctrine\Common\Collections\ArrayCollection {#29418 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29394 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38649 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38651 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29465
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29456 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29523 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29453 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti Hiver"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29406
    #collection: Doctrine\Common\Collections\ArrayCollection {#29418 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29394 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38649 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38651 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29527
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29465
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29456 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29523 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29453 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29398 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29406
      #collection: Doctrine\Common\Collections\ArrayCollection {#29418 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29394 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38649 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38651 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 106.0 MiB 0.22 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29577
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29568 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29575 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29576 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29398 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29580
  +variant: App\Entity\Product\ProductVariant {#29398 …}
  +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 {#8124 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12041 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8016 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29577
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29568 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29575 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29576 …}
    +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 106.0 MiB 5.86 ms
Input props
[
  "product" => App\Entity\Product\Product {#8581
    #id: 3055
    #code: "moulin-peugeot-tahiti-ete-5765"
    #attributes: Doctrine\ORM\PersistentCollection {#8588 …}
    #variants: Doctrine\ORM\PersistentCollection {#8590 …}
    #options: Doctrine\ORM\PersistentCollection {#8594 …}
    #associations: Doctrine\ORM\PersistentCollection {#8592 …}
    #createdAt: DateTime @1758632747 {#8579
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8580
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8597 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8598
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8581}
        #id: 3055
        #name: "Moulin Peugeot Tahiti Eté"
        #slug: "moulin-peugeot-tahiti-ete-5765"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Eté</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Et&eacute; qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Eté</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8600 …}
    #channels: Doctrine\ORM\PersistentCollection {#8586 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8582 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8584 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29463
  +product: App\Entity\Product\Product {#8581
    #id: 3055
    #code: "moulin-peugeot-tahiti-ete-5765"
    #attributes: Doctrine\ORM\PersistentCollection {#8588 …}
    #variants: Doctrine\ORM\PersistentCollection {#8590 …}
    #options: Doctrine\ORM\PersistentCollection {#8594 …}
    #associations: Doctrine\ORM\PersistentCollection {#8592 …}
    #createdAt: DateTime @1758632747 {#8579
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8580
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8597 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8598
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8581}
        #id: 3055
        #name: "Moulin Peugeot Tahiti Eté"
        #slug: "moulin-peugeot-tahiti-ete-5765"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Eté</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Et&eacute; qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Eté</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8600 …}
    #channels: Doctrine\ORM\PersistentCollection {#8586 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8582 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8584 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29643 …}
  +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 {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
106.0 MiB 0.88 ms
Input props
[
  "product" => App\Entity\Product\Product {#8581
    #id: 3055
    #code: "moulin-peugeot-tahiti-ete-5765"
    #attributes: Doctrine\ORM\PersistentCollection {#8588 …}
    #variants: Doctrine\ORM\PersistentCollection {#8590 …}
    #options: Doctrine\ORM\PersistentCollection {#8594 …}
    #associations: Doctrine\ORM\PersistentCollection {#8592 …}
    #createdAt: DateTime @1758632747 {#8579
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8580
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8597 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8598
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8581}
        #id: 3055
        #name: "Moulin Peugeot Tahiti Eté"
        #slug: "moulin-peugeot-tahiti-ete-5765"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Eté</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Et&eacute; qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Eté</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8600 …}
    #channels: Doctrine\ORM\PersistentCollection {#8586 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8582 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8584 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Tahiti Eté"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29714
  -props: [
    "product" => App\Entity\Product\Product {#8581
      #id: 3055
      #code: "moulin-peugeot-tahiti-ete-5765"
      #attributes: Doctrine\ORM\PersistentCollection {#8588 …}
      #variants: Doctrine\ORM\PersistentCollection {#8590 …}
      #options: Doctrine\ORM\PersistentCollection {#8594 …}
      #associations: Doctrine\ORM\PersistentCollection {#8592 …}
      #createdAt: DateTime @1758632747 {#8579
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8580
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8597 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8598
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8581}
          #id: 3055
          #name: "Moulin Peugeot Tahiti Eté"
          #slug: "moulin-peugeot-tahiti-ete-5765"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Uniquement en duo.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti Eté</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Et&eacute; qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Eté</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. Hauteur 15 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8600 …}
      #channels: Doctrine\ORM\PersistentCollection {#8586 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8582 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8584 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
106.0 MiB 0.84 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29707
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29698 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29768 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29695 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29643 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29651
    #collection: Doctrine\Common\Collections\ArrayCollection {#29660 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29639 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38663 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38665 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29707
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29698 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29768 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29695 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti Eté"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29651
    #collection: Doctrine\Common\Collections\ArrayCollection {#29660 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29639 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38663 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38665 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29772
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29707
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29698 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29768 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29695 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29643 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29651
      #collection: Doctrine\Common\Collections\ArrayCollection {#29660 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29639 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38663 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38665 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 106.0 MiB 0.21 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29822
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29813 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29820 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29821 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29643 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29825
  +variant: App\Entity\Product\ProductVariant {#29643 …}
  +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 {#8124 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12041 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8016 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29822
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29813 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29820 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29821 …}
    +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 106.0 MiB 5.99 ms
Input props
[
  "product" => App\Entity\Product\Product {#8604
    #id: 3056
    #code: "moulin-peugeot-tahiti-automne-5766"
    #attributes: Doctrine\ORM\PersistentCollection {#8611 …}
    #variants: Doctrine\ORM\PersistentCollection {#8613 …}
    #options: Doctrine\ORM\PersistentCollection {#8617 …}
    #associations: Doctrine\ORM\PersistentCollection {#8615 …}
    #createdAt: DateTime @1758632747 {#8602
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8603
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8620 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8621
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8604}
        #id: 3056
        #name: "Moulin Peugeot Tahiti Automne"
        #slug: "moulin-peugeot-tahiti-automne-5766"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Automne</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Automne qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Automne</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8623 …}
    #channels: Doctrine\ORM\PersistentCollection {#8609 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8605 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8607 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29705
  +product: App\Entity\Product\Product {#8604
    #id: 3056
    #code: "moulin-peugeot-tahiti-automne-5766"
    #attributes: Doctrine\ORM\PersistentCollection {#8611 …}
    #variants: Doctrine\ORM\PersistentCollection {#8613 …}
    #options: Doctrine\ORM\PersistentCollection {#8617 …}
    #associations: Doctrine\ORM\PersistentCollection {#8615 …}
    #createdAt: DateTime @1758632747 {#8602
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8603
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8620 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8621
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8604}
        #id: 3056
        #name: "Moulin Peugeot Tahiti Automne"
        #slug: "moulin-peugeot-tahiti-automne-5766"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Automne</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Automne qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Automne</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8623 …}
    #channels: Doctrine\ORM\PersistentCollection {#8609 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8605 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8607 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29888 …}
  +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 {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
106.0 MiB 0.93 ms
Input props
[
  "product" => App\Entity\Product\Product {#8604
    #id: 3056
    #code: "moulin-peugeot-tahiti-automne-5766"
    #attributes: Doctrine\ORM\PersistentCollection {#8611 …}
    #variants: Doctrine\ORM\PersistentCollection {#8613 …}
    #options: Doctrine\ORM\PersistentCollection {#8617 …}
    #associations: Doctrine\ORM\PersistentCollection {#8615 …}
    #createdAt: DateTime @1758632747 {#8602
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8603
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8620 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8621
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8604}
        #id: 3056
        #name: "Moulin Peugeot Tahiti Automne"
        #slug: "moulin-peugeot-tahiti-automne-5766"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Automne</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Automne qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Automne</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. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8623 …}
    #channels: Doctrine\ORM\PersistentCollection {#8609 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8605 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8607 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Tahiti Automne"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29959
  -props: [
    "product" => App\Entity\Product\Product {#8604
      #id: 3056
      #code: "moulin-peugeot-tahiti-automne-5766"
      #attributes: Doctrine\ORM\PersistentCollection {#8611 …}
      #variants: Doctrine\ORM\PersistentCollection {#8613 …}
      #options: Doctrine\ORM\PersistentCollection {#8617 …}
      #associations: Doctrine\ORM\PersistentCollection {#8615 …}
      #createdAt: DateTime @1758632747 {#8602
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8603
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8620 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8621
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8604}
          #id: 3056
          #name: "Moulin Peugeot Tahiti Automne"
          #slug: "moulin-peugeot-tahiti-automne-5766"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Uniquement en duo.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti Automne</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Automne qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Automne</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. Hauteur 15 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8623 …}
      #channels: Doctrine\ORM\PersistentCollection {#8609 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8605 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8607 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
106.0 MiB 0.84 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29952
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29943 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30010 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29940 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29888 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29896
    #collection: Doctrine\Common\Collections\ArrayCollection {#29905 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29884 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38677 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38679 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29952
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29943 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30010 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29940 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti Automne"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29896
    #collection: Doctrine\Common\Collections\ArrayCollection {#29905 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29884 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38677 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38679 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30014
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29952
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29943 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30010 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29940 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29888 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29896
      #collection: Doctrine\Common\Collections\ArrayCollection {#29905 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29884 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38677 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38679 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 106.0 MiB 0.20 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30064
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30055 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30062 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30063 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29888 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30067
  +variant: App\Entity\Product\ProductVariant {#29888 …}
  +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 {#8124 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12041 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8016 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30064
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30055 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30062 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30063 …}
    +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 106.0 MiB 7.36 ms
Input props
[
  "product" => App\Entity\Product\Product {#8627
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#8634 …}
    #variants: Doctrine\ORM\PersistentCollection {#8636 …}
    #options: Doctrine\ORM\PersistentCollection {#8640 …}
    #associations: Doctrine\ORM\PersistentCollection {#8638 …}
    #createdAt: DateTime @1758632747 {#8625
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8626
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8643 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8644
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8627}
        #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 {#8646 …}
    #channels: Doctrine\ORM\PersistentCollection {#8632 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8628 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8630 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29950
  +product: App\Entity\Product\Product {#8627
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#8634 …}
    #variants: Doctrine\ORM\PersistentCollection {#8636 …}
    #options: Doctrine\ORM\PersistentCollection {#8640 …}
    #associations: Doctrine\ORM\PersistentCollection {#8638 …}
    #createdAt: DateTime @1758632747 {#8625
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8626
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8643 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8644
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8627}
        #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 {#8646 …}
    #channels: Doctrine\ORM\PersistentCollection {#8632 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8628 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8630 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30130 …}
  +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 {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
106.0 MiB 0.91 ms
Input props
[
  "product" => App\Entity\Product\Product {#8627
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#8634 …}
    #variants: Doctrine\ORM\PersistentCollection {#8636 …}
    #options: Doctrine\ORM\PersistentCollection {#8640 …}
    #associations: Doctrine\ORM\PersistentCollection {#8638 …}
    #createdAt: DateTime @1758632747 {#8625
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8626
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8643 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8644
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8627}
        #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 {#8646 …}
    #channels: Doctrine\ORM\PersistentCollection {#8632 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8628 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8630 …}
    #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 {#30201
  -props: [
    "product" => App\Entity\Product\Product {#8627
      #id: 3049
      #code: "moulin-peugeot-tahiti-4354"
      #attributes: Doctrine\ORM\PersistentCollection {#8634 …}
      #variants: Doctrine\ORM\PersistentCollection {#8636 …}
      #options: Doctrine\ORM\PersistentCollection {#8640 …}
      #associations: Doctrine\ORM\PersistentCollection {#8638 …}
      #createdAt: DateTime @1758632747 {#8625
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8626
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8643 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8644
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8627}
          #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 {#8646 …}
      #channels: Doctrine\ORM\PersistentCollection {#8632 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8628 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8630 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
106.0 MiB 0.86 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30310
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30185 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30255 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30182 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30130 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30138
    #collection: Doctrine\Common\Collections\ArrayCollection {#30147 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30126 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38691 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38693 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30310
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30185 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30255 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30182 …}
    +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 {#30138
    #collection: Doctrine\Common\Collections\ArrayCollection {#30147 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30126 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38691 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38693 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30315
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30310
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30185 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30255 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30182 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30130 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30138
      #collection: Doctrine\Common\Collections\ArrayCollection {#30147 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30126 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38691 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38693 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 106.0 MiB 0.22 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30364
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30355 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30362 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30363 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30130 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30367
  +variant: App\Entity\Product\ProductVariant {#30130 …}
  +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 {#8124 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12041 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8016 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30364
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30355 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30362 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30363 …}
    +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 106.0 MiB 7.20 ms
Input props
[
  "product" => App\Entity\Product\Product {#8650
    #id: 3078
    #code: "moulin-peugeot-pep-s-5028"
    #attributes: Doctrine\ORM\PersistentCollection {#8657 …}
    #variants: Doctrine\ORM\PersistentCollection {#8659 …}
    #options: Doctrine\ORM\PersistentCollection {#8663 …}
    #associations: Doctrine\ORM\PersistentCollection {#8661 …}
    #createdAt: DateTime @1758632750 {#8648
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8649
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8666 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8667
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8650}
        #id: 3078
        #name: "Moulin Peugeot Pep's"
        #slug: "moulin-peugeot-pep-s-5028"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Astucieux, &agrave; la fois moulin &agrave; poivre et sali&egrave;re.</li>\n
          <li>Ludique, couleurs et design modernes.</li>\n
          <li>Fiable, m&eacute;canisme garanti &agrave; vie.</li>\n
          </ul></div><h1>Description Moulin Peugeot Pep's</h1><div class="col is-12">Le moulin Peugeot Pep's est &agrave; la fois ludique par sa pr&eacute;sentation et astucieux par sa conception. Son corps acrylique de couleurs vives apporteront de la gaiet&eacute; &agrave; votre cuisine.&nbsp;<br />2 fonctions dans un seul moulin, &agrave; la fois moulin &agrave; poivre et sali&egrave;re, il trouvera facilement sa place en cuisine ou &agrave; table.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Pep's</h1><div class="col is-12">Corpd acryl-abs. M&eacute;canisme poivre garanti &agrave; vie. Sali&egrave;re int&eacute;gr&eacute;e. Hauteur 8 cm.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8669 …}
    #channels: Doctrine\ORM\PersistentCollection {#8655 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8651 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8653 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30192
  +product: App\Entity\Product\Product {#8650
    #id: 3078
    #code: "moulin-peugeot-pep-s-5028"
    #attributes: Doctrine\ORM\PersistentCollection {#8657 …}
    #variants: Doctrine\ORM\PersistentCollection {#8659 …}
    #options: Doctrine\ORM\PersistentCollection {#8663 …}
    #associations: Doctrine\ORM\PersistentCollection {#8661 …}
    #createdAt: DateTime @1758632750 {#8648
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8649
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8666 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8667
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8650}
        #id: 3078
        #name: "Moulin Peugeot Pep's"
        #slug: "moulin-peugeot-pep-s-5028"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Astucieux, &agrave; la fois moulin &agrave; poivre et sali&egrave;re.</li>\n
          <li>Ludique, couleurs et design modernes.</li>\n
          <li>Fiable, m&eacute;canisme garanti &agrave; vie.</li>\n
          </ul></div><h1>Description Moulin Peugeot Pep's</h1><div class="col is-12">Le moulin Peugeot Pep's est &agrave; la fois ludique par sa pr&eacute;sentation et astucieux par sa conception. Son corps acrylique de couleurs vives apporteront de la gaiet&eacute; &agrave; votre cuisine.&nbsp;<br />2 fonctions dans un seul moulin, &agrave; la fois moulin &agrave; poivre et sali&egrave;re, il trouvera facilement sa place en cuisine ou &agrave; table.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Pep's</h1><div class="col is-12">Corpd acryl-abs. M&eacute;canisme poivre garanti &agrave; vie. Sali&egrave;re int&eacute;gr&eacute;e. Hauteur 8 cm.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8669 …}
    #channels: Doctrine\ORM\PersistentCollection {#8655 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8651 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8653 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30430 …}
  +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 {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
106.0 MiB 0.99 ms
Input props
[
  "product" => App\Entity\Product\Product {#8650
    #id: 3078
    #code: "moulin-peugeot-pep-s-5028"
    #attributes: Doctrine\ORM\PersistentCollection {#8657 …}
    #variants: Doctrine\ORM\PersistentCollection {#8659 …}
    #options: Doctrine\ORM\PersistentCollection {#8663 …}
    #associations: Doctrine\ORM\PersistentCollection {#8661 …}
    #createdAt: DateTime @1758632750 {#8648
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8649
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8666 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8667
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8650}
        #id: 3078
        #name: "Moulin Peugeot Pep's"
        #slug: "moulin-peugeot-pep-s-5028"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Astucieux, &agrave; la fois moulin &agrave; poivre et sali&egrave;re.</li>\n
          <li>Ludique, couleurs et design modernes.</li>\n
          <li>Fiable, m&eacute;canisme garanti &agrave; vie.</li>\n
          </ul></div><h1>Description Moulin Peugeot Pep's</h1><div class="col is-12">Le moulin Peugeot Pep's est &agrave; la fois ludique par sa pr&eacute;sentation et astucieux par sa conception. Son corps acrylique de couleurs vives apporteront de la gaiet&eacute; &agrave; votre cuisine.&nbsp;<br />2 fonctions dans un seul moulin, &agrave; la fois moulin &agrave; poivre et sali&egrave;re, il trouvera facilement sa place en cuisine ou &agrave; table.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Pep's</h1><div class="col is-12">Corpd acryl-abs. M&eacute;canisme poivre garanti &agrave; vie. Sali&egrave;re int&eacute;gr&eacute;e. Hauteur 8 cm.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8669 …}
    #channels: Doctrine\ORM\PersistentCollection {#8655 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8651 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8653 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Pep's"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30501
  -props: [
    "product" => App\Entity\Product\Product {#8650
      #id: 3078
      #code: "moulin-peugeot-pep-s-5028"
      #attributes: Doctrine\ORM\PersistentCollection {#8657 …}
      #variants: Doctrine\ORM\PersistentCollection {#8659 …}
      #options: Doctrine\ORM\PersistentCollection {#8663 …}
      #associations: Doctrine\ORM\PersistentCollection {#8661 …}
      #createdAt: DateTime @1758632750 {#8648
        date: 2025-09-23 21:05:50.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632750 {#8649
        date: 2025-09-23 21:05:50.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8666 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8667
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8650}
          #id: 3078
          #name: "Moulin Peugeot Pep's"
          #slug: "moulin-peugeot-pep-s-5028"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Astucieux, &agrave; la fois moulin &agrave; poivre et sali&egrave;re.</li>\n
            <li>Ludique, couleurs et design modernes.</li>\n
            <li>Fiable, m&eacute;canisme garanti &agrave; vie.</li>\n
            </ul></div><h1>Description Moulin Peugeot Pep's</h1><div class="col is-12">Le moulin Peugeot Pep's est &agrave; la fois ludique par sa pr&eacute;sentation et astucieux par sa conception. Son corps acrylique de couleurs vives apporteront de la gaiet&eacute; &agrave; votre cuisine.&nbsp;<br />2 fonctions dans un seul moulin, &agrave; la fois moulin &agrave; poivre et sali&egrave;re, il trouvera facilement sa place en cuisine ou &agrave; table.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Pep's</h1><div class="col is-12">Corpd acryl-abs. M&eacute;canisme poivre garanti &agrave; vie. Sali&egrave;re int&eacute;gr&eacute;e. Hauteur 8 cm.&nbsp;</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8669 …}
      #channels: Doctrine\ORM\PersistentCollection {#8655 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8651 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8653 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
106.0 MiB 0.86 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30597
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30485 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30561 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30482 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30430 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30438
    #collection: Doctrine\Common\Collections\ArrayCollection {#30447 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30426 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38705 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38707 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30597
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30485 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30561 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30482 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Pep's"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30438
    #collection: Doctrine\Common\Collections\ArrayCollection {#30447 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30426 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38705 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38707 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30598
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30597
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30485 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30561 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30482 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30430 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30438
      #collection: Doctrine\Common\Collections\ArrayCollection {#30447 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30426 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38705 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38707 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 106.0 MiB 0.23 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30651
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30642 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30649 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30650 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30430 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30654
  +variant: App\Entity\Product\ProductVariant {#30430 …}
  +price: "21,00\u{A0}"
  +originalPrice: "25,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8124 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12041 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8016 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30651
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30642 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30649 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30650 …}
    +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 106.0 MiB 10.88 ms
Input props
[
  "product" => App\Entity\Product\Product {#8673
    #id: 3047
    #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
    #attributes: Doctrine\ORM\PersistentCollection {#8680 …}
    #variants: Doctrine\ORM\PersistentCollection {#8682 …}
    #options: Doctrine\ORM\PersistentCollection {#8686 …}
    #associations: Doctrine\ORM\PersistentCollection {#8684 …}
    #createdAt: DateTime @1758632747 {#8671
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8672
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8689 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8690
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8673}
        #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 {#8692 …}
    #channels: Doctrine\ORM\PersistentCollection {#8678 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8674 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8676 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30492
  +product: App\Entity\Product\Product {#8673
    #id: 3047
    #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
    #attributes: Doctrine\ORM\PersistentCollection {#8680 …}
    #variants: Doctrine\ORM\PersistentCollection {#8682 …}
    #options: Doctrine\ORM\PersistentCollection {#8686 …}
    #associations: Doctrine\ORM\PersistentCollection {#8684 …}
    #createdAt: DateTime @1758632747 {#8671
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8672
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8689 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8690
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8673}
        #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 {#8692 …}
    #channels: Doctrine\ORM\PersistentCollection {#8678 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8674 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8676 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30717 …}
  +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 {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
106.0 MiB 1.14 ms
Input props
[
  "product" => App\Entity\Product\Product {#8673
    #id: 3047
    #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
    #attributes: Doctrine\ORM\PersistentCollection {#8680 …}
    #variants: Doctrine\ORM\PersistentCollection {#8682 …}
    #options: Doctrine\ORM\PersistentCollection {#8686 …}
    #associations: Doctrine\ORM\PersistentCollection {#8684 …}
    #createdAt: DateTime @1758632747 {#8671
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8672
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8689 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8690
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8673}
        #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 {#8692 …}
    #channels: Doctrine\ORM\PersistentCollection {#8678 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8674 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8676 …}
    #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 {#30788
  -props: [
    "product" => App\Entity\Product\Product {#8673
      #id: 3047
      #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
      #attributes: Doctrine\ORM\PersistentCollection {#8680 …}
      #variants: Doctrine\ORM\PersistentCollection {#8682 …}
      #options: Doctrine\ORM\PersistentCollection {#8686 …}
      #associations: Doctrine\ORM\PersistentCollection {#8684 …}
      #createdAt: DateTime @1758632747 {#8671
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8672
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8689 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8690
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8673}
          #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 {#8692 …}
      #channels: Doctrine\ORM\PersistentCollection {#8678 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8674 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8676 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
106.0 MiB 1.06 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30942
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30772 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30854 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30769 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30717 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30725
    #collection: Doctrine\Common\Collections\ArrayCollection {#30734 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30713 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38719 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38721 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30942
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30772 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30854 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30769 …}
    +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 {#30725
    #collection: Doctrine\Common\Collections\ArrayCollection {#30734 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30713 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38719 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38721 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30946
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30942
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30772 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30854 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30769 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30717 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30725
      #collection: Doctrine\Common\Collections\ArrayCollection {#30734 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30713 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38719 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38721 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 106.0 MiB 0.21 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30996
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30987 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30994 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30995 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30717 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30999
  +variant: App\Entity\Product\ProductVariant {#30717 …}
  +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 {#8124 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12041 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8016 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30996
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30987 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30994 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30995 …}
    +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 106.0 MiB 27.75 ms
Input props
[
  "product" => App\Entity\Product\Product {#8696
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#4840 …}
    #variants: Doctrine\ORM\PersistentCollection {#4837 …}
    #options: Doctrine\ORM\PersistentCollection {#4853 …}
    #associations: Doctrine\ORM\PersistentCollection {#4839 …}
    #createdAt: DateTime @1758632747 {#8694
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8695
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4848 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4847
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8696}
        #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 {#4846 …}
    #channels: Doctrine\ORM\PersistentCollection {#4829 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4833 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4835 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30779
  +product: App\Entity\Product\Product {#8696
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#4840 …}
    #variants: Doctrine\ORM\PersistentCollection {#4837 …}
    #options: Doctrine\ORM\PersistentCollection {#4853 …}
    #associations: Doctrine\ORM\PersistentCollection {#4839 …}
    #createdAt: DateTime @1758632747 {#8694
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8695
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4848 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4847
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8696}
        #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 {#4846 …}
    #channels: Doctrine\ORM\PersistentCollection {#4829 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4833 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4835 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#31062 …}
  +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 {#27698
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27731 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27737 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
106.0 MiB 1.01 ms
Input props
[
  "product" => App\Entity\Product\Product {#8696
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#4840 …}
    #variants: Doctrine\ORM\PersistentCollection {#4837 …}
    #options: Doctrine\ORM\PersistentCollection {#4853 …}
    #associations: Doctrine\ORM\PersistentCollection {#4839 …}
    #createdAt: DateTime @1758632747 {#8694
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8695
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4848 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4847
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8696}
        #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 {#4846 …}
    #channels: Doctrine\ORM\PersistentCollection {#4829 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4833 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4835 …}
    #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 {#31133
  -props: [
    "product" => App\Entity\Product\Product {#8696
      #id: 3042
      #code: "moulin-peugeot-paris-naturel-u-select-508"
      #attributes: Doctrine\ORM\PersistentCollection {#4840 …}
      #variants: Doctrine\ORM\PersistentCollection {#4837 …}
      #options: Doctrine\ORM\PersistentCollection {#4853 …}
      #associations: Doctrine\ORM\PersistentCollection {#4839 …}
      #createdAt: DateTime @1758632747 {#8694
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8695
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#4848 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#4847
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8696}
          #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 {#4846 …}
      #channels: Doctrine\ORM\PersistentCollection {#4829 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
      #reviews: Doctrine\ORM\PersistentCollection {#4833 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#4835 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
106.0 MiB 6.28 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31306
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31117 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31193 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31114 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31062 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31070
    #collection: Doctrine\Common\Collections\ArrayCollection {#31079 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31058 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38733 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38735 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31306
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31117 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31193 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31114 …}
    +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 {#31070
    #collection: Doctrine\Common\Collections\ArrayCollection {#31079 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31058 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38733 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38735 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31309
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31306
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31117 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31193 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31114 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#31062 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#31070
      #collection: Doctrine\Common\Collections\ArrayCollection {#31079 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#31058 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38733 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38735 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 106.0 MiB 0.23 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31360
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31351 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31358 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31359 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31062 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31363
  +variant: App\Entity\Product\ProductVariant {#31062 …}
  +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 {#8124 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12041 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8016 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31360
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31351 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31358 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31359 …}
    +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 106.0 MiB 2.93 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27411
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12106 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27433 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12116 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31676
  +cart: App\Entity\Order\Order {#13020 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27411
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12106 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27433 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12116 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}