Components

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

Components

Name Metadata Render Count Render Time
sylius_shop:product:card
"Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
@SyliusUi/components/default.html.twig
9 41.72ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 9.36ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 7.32ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.47ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.10ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.70ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.69ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 15.15ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.02ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.91ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.98ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.21ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 114.0 MiB 1.10 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13403
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13396 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13402 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13401 …}
    +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 {#14023
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13294 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13403
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13396 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13402 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13401 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 114.0 MiB 0.70 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14100
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14096 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14098 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14099 …}
    +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 {#14109
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14100
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14096 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14098 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14099 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 114.0 MiB 4.69 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14191
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14170 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14189 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#14206
  +cart: App\Entity\Order\Order {#14273 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14191
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14170 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14190 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14189 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  +template: "@SyliusShop/shared/components/header/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}
sylius_shop:common:taxon_menu Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent 114.0 MiB 15.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#14459
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14447 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14453 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14445 …}
    +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 {#14468
  #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 {#14459
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#14447 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#14453 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#14445 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 114.0 MiB 1.02 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28173
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28169 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28170 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28172 …}
    +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 {#28182
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28173
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28169 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28170 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28172 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 114.0 MiB 0.91 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28286
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28282 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28283 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28285 …}
    +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 {#28294
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28286
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28282 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28283 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28285 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 114.0 MiB 1.98 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28371
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28367 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28368 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28370 …}
    +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 {#28379
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28371
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28367 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28368 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28370 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 8.96 ms
Input props
[
  "product" => App\Entity\Product\Product {#7949
    #id: 3063
    #code: "moulin-paris-graphite-peugeot-7499"
    #attributes: Doctrine\ORM\PersistentCollection {#8635 …}
    #variants: Doctrine\ORM\PersistentCollection {#8776 …}
    #options: Doctrine\ORM\PersistentCollection {#8763 …}
    #associations: Doctrine\ORM\PersistentCollection {#8703 …}
    #createdAt: DateTime @1758632748 {#8058
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#7959
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8762 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8765
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7949}
        #id: 3063
        #name: "Moulin Paris Graphite Peugeot"
        #slug: "moulin-paris-graphite-peugeot-7499"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.</li>\n
          <li>Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.</li>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris Graphite Peugeot</h1><div class="col is-12">L'embl&eacute;matique Moulin &agrave; poivre Paris Peugeot se pare d'une nouvelle livr&eacute;e anthracite tr&egrave;s tendance. Cette finition l&eacute;g&egrave;rement m&eacute;tallis&eacute;e symbolise la fusion du bois et de l'acier et met en &eacute;vidence les singuli&egrave;res veines du bois. Peinture et vernis hydrosolubles, bois issu de for&ecirc;ts labellis&eacute;es PEFC, le moulin &agrave; poivre Paris graphite est fabriqu&eacute; en France et se veut respectueux de l'environnement. Performant et durable, son m&eacute;canisme est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris Graphite Peugeot</h1><div class="col is-12">- Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosolubles.<br />- R&eacute;glage de mouture U'Select.<br />- M&eacute;canisme garanti sans limiotation de dur&eacute;e.<br />- Taille : 22 &amp; 30 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 {#8768 …}
    #channels: Doctrine\ORM\PersistentCollection {#8337 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8059 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8338 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28904
  +product: App\Entity\Product\Product {#7949
    #id: 3063
    #code: "moulin-paris-graphite-peugeot-7499"
    #attributes: Doctrine\ORM\PersistentCollection {#8635 …}
    #variants: Doctrine\ORM\PersistentCollection {#8776 …}
    #options: Doctrine\ORM\PersistentCollection {#8763 …}
    #associations: Doctrine\ORM\PersistentCollection {#8703 …}
    #createdAt: DateTime @1758632748 {#8058
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#7959
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8762 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8765
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7949}
        #id: 3063
        #name: "Moulin Paris Graphite Peugeot"
        #slug: "moulin-paris-graphite-peugeot-7499"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.</li>\n
          <li>Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.</li>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris Graphite Peugeot</h1><div class="col is-12">L'embl&eacute;matique Moulin &agrave; poivre Paris Peugeot se pare d'une nouvelle livr&eacute;e anthracite tr&egrave;s tendance. Cette finition l&eacute;g&egrave;rement m&eacute;tallis&eacute;e symbolise la fusion du bois et de l'acier et met en &eacute;vidence les singuli&egrave;res veines du bois. Peinture et vernis hydrosolubles, bois issu de for&ecirc;ts labellis&eacute;es PEFC, le moulin &agrave; poivre Paris graphite est fabriqu&eacute; en France et se veut respectueux de l'environnement. Performant et durable, son m&eacute;canisme est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris Graphite Peugeot</h1><div class="col is-12">- Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosolubles.<br />- R&eacute;glage de mouture U'Select.<br />- M&eacute;canisme garanti sans limiotation de dur&eacute;e.<br />- Taille : 22 &amp; 30 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 {#8768 …}
    #channels: Doctrine\ORM\PersistentCollection {#8337 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8059 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8338 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#8779 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 2.05 ms
Input props
[
  "product" => App\Entity\Product\Product {#7949
    #id: 3063
    #code: "moulin-paris-graphite-peugeot-7499"
    #attributes: Doctrine\ORM\PersistentCollection {#8635 …}
    #variants: Doctrine\ORM\PersistentCollection {#8776 …}
    #options: Doctrine\ORM\PersistentCollection {#8763 …}
    #associations: Doctrine\ORM\PersistentCollection {#8703 …}
    #createdAt: DateTime @1758632748 {#8058
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#7959
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8762 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8765
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7949}
        #id: 3063
        #name: "Moulin Paris Graphite Peugeot"
        #slug: "moulin-paris-graphite-peugeot-7499"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.</li>\n
          <li>Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.</li>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris Graphite Peugeot</h1><div class="col is-12">L'embl&eacute;matique Moulin &agrave; poivre Paris Peugeot se pare d'une nouvelle livr&eacute;e anthracite tr&egrave;s tendance. Cette finition l&eacute;g&egrave;rement m&eacute;tallis&eacute;e symbolise la fusion du bois et de l'acier et met en &eacute;vidence les singuli&egrave;res veines du bois. Peinture et vernis hydrosolubles, bois issu de for&ecirc;ts labellis&eacute;es PEFC, le moulin &agrave; poivre Paris graphite est fabriqu&eacute; en France et se veut respectueux de l'environnement. Performant et durable, son m&eacute;canisme est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris Graphite Peugeot</h1><div class="col is-12">- Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosolubles.<br />- R&eacute;glage de mouture U'Select.<br />- M&eacute;canisme garanti sans limiotation de dur&eacute;e.<br />- Taille : 22 &amp; 30 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 {#8768 …}
    #channels: Doctrine\ORM\PersistentCollection {#8337 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8059 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8338 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Paris Graphite Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29064
  -props: [
    "product" => App\Entity\Product\Product {#7949
      #id: 3063
      #code: "moulin-paris-graphite-peugeot-7499"
      #attributes: Doctrine\ORM\PersistentCollection {#8635 …}
      #variants: Doctrine\ORM\PersistentCollection {#8776 …}
      #options: Doctrine\ORM\PersistentCollection {#8763 …}
      #associations: Doctrine\ORM\PersistentCollection {#8703 …}
      #createdAt: DateTime @1758632748 {#8058
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#7959
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8762 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8765
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#7949}
          #id: 3063
          #name: "Moulin Paris Graphite Peugeot"
          #slug: "moulin-paris-graphite-peugeot-7499"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.</li>\n
            <li>Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.</li>\n
            <li>Syst&egrave;me U'Select.</li>\n
            <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Descriptif Moulin Paris Graphite Peugeot</h1><div class="col is-12">L'embl&eacute;matique Moulin &agrave; poivre Paris Peugeot se pare d'une nouvelle livr&eacute;e anthracite tr&egrave;s tendance. Cette finition l&eacute;g&egrave;rement m&eacute;tallis&eacute;e symbolise la fusion du bois et de l'acier et met en &eacute;vidence les singuli&egrave;res veines du bois. Peinture et vernis hydrosolubles, bois issu de for&ecirc;ts labellis&eacute;es PEFC, le moulin &agrave; poivre Paris graphite est fabriqu&eacute; en France et se veut respectueux de l'environnement. Performant et durable, son m&eacute;canisme est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris Graphite Peugeot</h1><div class="col is-12">- Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosolubles.<br />- R&eacute;glage de mouture U'Select.<br />- M&eacute;canisme garanti sans limiotation de dur&eacute;e.<br />- Taille : 22 &amp; 30 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 {#8768 …}
      #channels: Doctrine\ORM\PersistentCollection {#8337 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8059 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8338 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 1.45 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29144
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29140 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29141 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29143 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8779 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9050
    #collection: Doctrine\Common\Collections\ArrayCollection {#9049 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8896 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38358 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38410 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29144
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29140 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29141 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29143 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Paris Graphite Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9050
    #collection: Doctrine\Common\Collections\ArrayCollection {#9049 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#8896 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38358 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38410 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29148
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29144
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29140 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29141 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29143 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#8779 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9050
      #collection: Doctrine\Common\Collections\ArrayCollection {#9049 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#8896 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38358 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38410 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.39 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29216
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29206 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29214 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29215 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#8779 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29225
  +variant: App\Entity\Product\ProductVariant {#8779 …}
  +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 {#9864 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13294 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9861 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29216
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29206 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29214 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29215 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.27 ms
Input props
[
  "product" => App\Entity\Product\Product {#9068
    #id: 3072
    #code: "moulin-peugeot-vittel-519"
    #attributes: Doctrine\ORM\PersistentCollection {#9075 …}
    #variants: Doctrine\ORM\PersistentCollection {#9091 …}
    #options: Doctrine\ORM\PersistentCollection {#9079 …}
    #associations: Doctrine\ORM\PersistentCollection {#9077 …}
    #createdAt: DateTime @1758632749 {#9051
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#9048
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9082 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9083
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9068}
        #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 {#9085 …}
    #channels: Doctrine\ORM\PersistentCollection {#9073 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9069 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9071 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29042
  +product: App\Entity\Product\Product {#9068
    #id: 3072
    #code: "moulin-peugeot-vittel-519"
    #attributes: Doctrine\ORM\PersistentCollection {#9075 …}
    #variants: Doctrine\ORM\PersistentCollection {#9091 …}
    #options: Doctrine\ORM\PersistentCollection {#9079 …}
    #associations: Doctrine\ORM\PersistentCollection {#9077 …}
    #createdAt: DateTime @1758632749 {#9051
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#9048
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9082 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9083
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9068}
        #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 {#9085 …}
    #channels: Doctrine\ORM\PersistentCollection {#9073 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9069 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9071 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9092 …}
  +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 {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.97 ms
Input props
[
  "product" => App\Entity\Product\Product {#9068
    #id: 3072
    #code: "moulin-peugeot-vittel-519"
    #attributes: Doctrine\ORM\PersistentCollection {#9075 …}
    #variants: Doctrine\ORM\PersistentCollection {#9091 …}
    #options: Doctrine\ORM\PersistentCollection {#9079 …}
    #associations: Doctrine\ORM\PersistentCollection {#9077 …}
    #createdAt: DateTime @1758632749 {#9051
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#9048
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9082 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9083
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9068}
        #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 {#9085 …}
    #channels: Doctrine\ORM\PersistentCollection {#9073 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9069 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9071 …}
    #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 {#29352
  -props: [
    "product" => App\Entity\Product\Product {#9068
      #id: 3072
      #code: "moulin-peugeot-vittel-519"
      #attributes: Doctrine\ORM\PersistentCollection {#9075 …}
      #variants: Doctrine\ORM\PersistentCollection {#9091 …}
      #options: Doctrine\ORM\PersistentCollection {#9079 …}
      #associations: Doctrine\ORM\PersistentCollection {#9077 …}
      #createdAt: DateTime @1758632749 {#9051
        date: 2025-09-23 21:05:49.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632749 {#9048
        date: 2025-09-23 21:05:49.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9082 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9083
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9068}
          #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 {#9085 …}
      #channels: Doctrine\ORM\PersistentCollection {#9073 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9069 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9071 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.74 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29407
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29336 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29345 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29406 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9092 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9105
    #collection: Doctrine\Common\Collections\ArrayCollection {#9106 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9104 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38430 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38432 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29407
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29336 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29345 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29406 …}
    +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 {#9105
    #collection: Doctrine\Common\Collections\ArrayCollection {#9106 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9104 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38430 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38432 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29413
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29407
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29336 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29345 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29406 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9092 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9105
      #collection: Doctrine\Common\Collections\ArrayCollection {#9106 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9104 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38430 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38432 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29463
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29454 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29461 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9092 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29466
  +variant: App\Entity\Product\ProductVariant {#9092 …}
  +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 {#9864 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13294 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9861 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29463
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29454 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29461 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.09 ms
Input props
[
  "product" => App\Entity\Product\Product {#9111
    #id: 3117
    #code: "moulin-muscade-tidore-peugeot-7564"
    #attributes: Doctrine\ORM\PersistentCollection {#9118 …}
    #variants: Doctrine\ORM\PersistentCollection {#9134 …}
    #options: Doctrine\ORM\PersistentCollection {#9122 …}
    #associations: Doctrine\ORM\PersistentCollection {#9120 …}
    #createdAt: DateTime @1758632758 {#9107
      date: 2025-09-23 21:05:58.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632758 {#9108
      date: 2025-09-23 21:05:58.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9125 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9126
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9111}
        #id: 3117
        #name: "Moulin Muscade Tidore Peugeot"
        #slug: "moulin-muscade-tidore-peugeot-7564"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Acrylique et acier inoxydable.</li>\n
          <li>Contient jusqu'&agrave; 8 noix de muscade.</li>\n
          </ul></div><h1>Descriptif Moulin Muscade Tidore Peugeot</h1><div class="col is-12">C'est connu, une pinc&eacute;e de noix de muscade fra&icirc;chement moulue rehausse subtilement un plat sucr&eacute; ou sal&eacute;. Particuli&egrave;rement ing&eacute;nieux, le moulin &agrave; muscade Tidore Peugeot permet gr&acirc;ce &agrave; sa puissante griffe et &agrave; son duo lame-r&acirc;pe de r&acirc;per tr&egrave;s finement les noix de muscade. Enti&egrave;rement en acrylique et acier inoxydable, ce moulin qui peut contenir jusqu'&agrave; 8 noix s'harmonisera parfaitement &agrave; votre cuisine.</div><h1>Caractéristiques Moulin Muscade Tidore Peugeot</h1><div class="col is-12">- Acrylique et acier inoxydable.<br />- Contient jusqu'&agrave; 8 noix de muscade.<br />- Taille : 11 cm</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-muscade-f1895-p1.html">En savoir plus sur le moulin &agrave; muscade</a></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9128 …}
    #channels: Doctrine\ORM\PersistentCollection {#9116 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9112 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9114 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29343
  +product: App\Entity\Product\Product {#9111
    #id: 3117
    #code: "moulin-muscade-tidore-peugeot-7564"
    #attributes: Doctrine\ORM\PersistentCollection {#9118 …}
    #variants: Doctrine\ORM\PersistentCollection {#9134 …}
    #options: Doctrine\ORM\PersistentCollection {#9122 …}
    #associations: Doctrine\ORM\PersistentCollection {#9120 …}
    #createdAt: DateTime @1758632758 {#9107
      date: 2025-09-23 21:05:58.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632758 {#9108
      date: 2025-09-23 21:05:58.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9125 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9126
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9111}
        #id: 3117
        #name: "Moulin Muscade Tidore Peugeot"
        #slug: "moulin-muscade-tidore-peugeot-7564"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Acrylique et acier inoxydable.</li>\n
          <li>Contient jusqu'&agrave; 8 noix de muscade.</li>\n
          </ul></div><h1>Descriptif Moulin Muscade Tidore Peugeot</h1><div class="col is-12">C'est connu, une pinc&eacute;e de noix de muscade fra&icirc;chement moulue rehausse subtilement un plat sucr&eacute; ou sal&eacute;. Particuli&egrave;rement ing&eacute;nieux, le moulin &agrave; muscade Tidore Peugeot permet gr&acirc;ce &agrave; sa puissante griffe et &agrave; son duo lame-r&acirc;pe de r&acirc;per tr&egrave;s finement les noix de muscade. Enti&egrave;rement en acrylique et acier inoxydable, ce moulin qui peut contenir jusqu'&agrave; 8 noix s'harmonisera parfaitement &agrave; votre cuisine.</div><h1>Caractéristiques Moulin Muscade Tidore Peugeot</h1><div class="col is-12">- Acrylique et acier inoxydable.<br />- Contient jusqu'&agrave; 8 noix de muscade.<br />- Taille : 11 cm</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-muscade-f1895-p1.html">En savoir plus sur le moulin &agrave; muscade</a></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9128 …}
    #channels: Doctrine\ORM\PersistentCollection {#9116 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9112 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9114 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9135 …}
  +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 {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.93 ms
Input props
[
  "product" => App\Entity\Product\Product {#9111
    #id: 3117
    #code: "moulin-muscade-tidore-peugeot-7564"
    #attributes: Doctrine\ORM\PersistentCollection {#9118 …}
    #variants: Doctrine\ORM\PersistentCollection {#9134 …}
    #options: Doctrine\ORM\PersistentCollection {#9122 …}
    #associations: Doctrine\ORM\PersistentCollection {#9120 …}
    #createdAt: DateTime @1758632758 {#9107
      date: 2025-09-23 21:05:58.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632758 {#9108
      date: 2025-09-23 21:05:58.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9125 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9126
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9111}
        #id: 3117
        #name: "Moulin Muscade Tidore Peugeot"
        #slug: "moulin-muscade-tidore-peugeot-7564"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Acrylique et acier inoxydable.</li>\n
          <li>Contient jusqu'&agrave; 8 noix de muscade.</li>\n
          </ul></div><h1>Descriptif Moulin Muscade Tidore Peugeot</h1><div class="col is-12">C'est connu, une pinc&eacute;e de noix de muscade fra&icirc;chement moulue rehausse subtilement un plat sucr&eacute; ou sal&eacute;. Particuli&egrave;rement ing&eacute;nieux, le moulin &agrave; muscade Tidore Peugeot permet gr&acirc;ce &agrave; sa puissante griffe et &agrave; son duo lame-r&acirc;pe de r&acirc;per tr&egrave;s finement les noix de muscade. Enti&egrave;rement en acrylique et acier inoxydable, ce moulin qui peut contenir jusqu'&agrave; 8 noix s'harmonisera parfaitement &agrave; votre cuisine.</div><h1>Caractéristiques Moulin Muscade Tidore Peugeot</h1><div class="col is-12">- Acrylique et acier inoxydable.<br />- Contient jusqu'&agrave; 8 noix de muscade.<br />- Taille : 11 cm</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-muscade-f1895-p1.html">En savoir plus sur le moulin &agrave; muscade</a></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9128 …}
    #channels: Doctrine\ORM\PersistentCollection {#9116 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9112 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9114 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Muscade Tidore Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29583
  -props: [
    "product" => App\Entity\Product\Product {#9111
      #id: 3117
      #code: "moulin-muscade-tidore-peugeot-7564"
      #attributes: Doctrine\ORM\PersistentCollection {#9118 …}
      #variants: Doctrine\ORM\PersistentCollection {#9134 …}
      #options: Doctrine\ORM\PersistentCollection {#9122 …}
      #associations: Doctrine\ORM\PersistentCollection {#9120 …}
      #createdAt: DateTime @1758632758 {#9107
        date: 2025-09-23 21:05:58.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632758 {#9108
        date: 2025-09-23 21:05:58.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9125 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9126
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9111}
          #id: 3117
          #name: "Moulin Muscade Tidore Peugeot"
          #slug: "moulin-muscade-tidore-peugeot-7564"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Acrylique et acier inoxydable.</li>\n
            <li>Contient jusqu'&agrave; 8 noix de muscade.</li>\n
            </ul></div><h1>Descriptif Moulin Muscade Tidore Peugeot</h1><div class="col is-12">C'est connu, une pinc&eacute;e de noix de muscade fra&icirc;chement moulue rehausse subtilement un plat sucr&eacute; ou sal&eacute;. Particuli&egrave;rement ing&eacute;nieux, le moulin &agrave; muscade Tidore Peugeot permet gr&acirc;ce &agrave; sa puissante griffe et &agrave; son duo lame-r&acirc;pe de r&acirc;per tr&egrave;s finement les noix de muscade. Enti&egrave;rement en acrylique et acier inoxydable, ce moulin qui peut contenir jusqu'&agrave; 8 noix s'harmonisera parfaitement &agrave; votre cuisine.</div><h1>Caractéristiques Moulin Muscade Tidore Peugeot</h1><div class="col is-12">- Acrylique et acier inoxydable.<br />- Contient jusqu'&agrave; 8 noix de muscade.<br />- Taille : 11 cm</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-muscade-f1895-p1.html">En savoir plus sur le moulin &agrave; muscade</a></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9128 …}
      #channels: Doctrine\ORM\PersistentCollection {#9116 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9112 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9114 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.72 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29635
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29567 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29576 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29634 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9135 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9148
    #collection: Doctrine\Common\Collections\ArrayCollection {#9149 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9147 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38444 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38446 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29635
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29567 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29576 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29634 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Muscade Tidore Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9148
    #collection: Doctrine\Common\Collections\ArrayCollection {#9149 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9147 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38444 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38446 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29641
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29635
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29567 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29576 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29634 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9135 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9148
      #collection: Doctrine\Common\Collections\ArrayCollection {#9149 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9147 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38444 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38446 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29691
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29682 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29689 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29690 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9135 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29694
  +variant: App\Entity\Product\ProductVariant {#9135 …}
  +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 {#9864 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13294 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9861 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29691
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29682 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29689 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29690 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.13 ms
Input props
[
  "product" => App\Entity\Product\Product {#9154
    #id: 3103
    #code: "moulin-fidji-graphite-peugeot-7560"
    #attributes: Doctrine\ORM\PersistentCollection {#9161 …}
    #variants: Doctrine\ORM\PersistentCollection {#9177 …}
    #options: Doctrine\ORM\PersistentCollection {#9165 …}
    #associations: Doctrine\ORM\PersistentCollection {#9163 …}
    #createdAt: DateTime @1758632754 {#9150
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9151
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9168 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9169
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9154}
        #id: 3103
        #name: "Moulin Fidji Graphite Peugeot"
        #slug: "moulin-fidji-graphite-peugeot-7560"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Fabrication Fran&ccedil;aise.</li>\n
          <li>Bois issu de for&ecirc;ts labellis&eacute;es PEFC.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          </ul></div><h1>Descriptif Moulin Fidji Graphite Peugeot</h1><div class="col is-12">Le corps &eacute;lanc&eacute;, le m&eacute;lange d'inox et de bois teint&eacute; gris anthracite avec des reflets m&eacute;tallis&eacute;s du moulin Fidji attire le regard. Sa taille de gu&ecirc;pe facilite la prise en main, son bouton mat marqu&eacute; de la t&ecirc;te de lion et cachant l'ing&eacute;nieuse fonction de r&eacute;glage de la mouture feront de ce moulin le compagnon de votre table durant de nombreuses ann&eacute;es. De fabrication Fran&ccedil;aise, il est r&eacute;alis&eacute; dans du bois issu de for&ecirc;ts locales labellis&eacute;es PEFC.</div><h1>Caractéristiques Moulin Fidji Graphite Peugeot</h1><div class="col is-12">Fabrication fran&ccedil;aise.<br />Teinte et vernis hydrosoluble.<br />Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br /><br />Moulin &agrave; poivre 15 cm<br />- M&eacute;canisme en acier, performant et r&eacute;sistant garanti sans limitation de dur&eacute;e.<br />- S'utilise avec des poivres noirs, blancs, verts, rouges, graines de coriandre et baies roses (si m&eacute;lang&eacute;es &agrave; l'un de ces poivres &agrave; hauteur 15%)<br /><br />Moulin &agrave; sel 15 cm<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- S'utilise avec des cristaux de sel sec (sel gemme) d'une taille &eacute;gale ou inf&eacute;rieure &agrave; 4 mm. Ne pas utiliser avec du sel de mer humide m&ecirc;m s&eacute;ch&eacute;.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9171 …}
    #channels: Doctrine\ORM\PersistentCollection {#9159 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9155 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9157 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29574
  +product: App\Entity\Product\Product {#9154
    #id: 3103
    #code: "moulin-fidji-graphite-peugeot-7560"
    #attributes: Doctrine\ORM\PersistentCollection {#9161 …}
    #variants: Doctrine\ORM\PersistentCollection {#9177 …}
    #options: Doctrine\ORM\PersistentCollection {#9165 …}
    #associations: Doctrine\ORM\PersistentCollection {#9163 …}
    #createdAt: DateTime @1758632754 {#9150
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9151
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9168 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9169
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9154}
        #id: 3103
        #name: "Moulin Fidji Graphite Peugeot"
        #slug: "moulin-fidji-graphite-peugeot-7560"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Fabrication Fran&ccedil;aise.</li>\n
          <li>Bois issu de for&ecirc;ts labellis&eacute;es PEFC.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          </ul></div><h1>Descriptif Moulin Fidji Graphite Peugeot</h1><div class="col is-12">Le corps &eacute;lanc&eacute;, le m&eacute;lange d'inox et de bois teint&eacute; gris anthracite avec des reflets m&eacute;tallis&eacute;s du moulin Fidji attire le regard. Sa taille de gu&ecirc;pe facilite la prise en main, son bouton mat marqu&eacute; de la t&ecirc;te de lion et cachant l'ing&eacute;nieuse fonction de r&eacute;glage de la mouture feront de ce moulin le compagnon de votre table durant de nombreuses ann&eacute;es. De fabrication Fran&ccedil;aise, il est r&eacute;alis&eacute; dans du bois issu de for&ecirc;ts locales labellis&eacute;es PEFC.</div><h1>Caractéristiques Moulin Fidji Graphite Peugeot</h1><div class="col is-12">Fabrication fran&ccedil;aise.<br />Teinte et vernis hydrosoluble.<br />Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br /><br />Moulin &agrave; poivre 15 cm<br />- M&eacute;canisme en acier, performant et r&eacute;sistant garanti sans limitation de dur&eacute;e.<br />- S'utilise avec des poivres noirs, blancs, verts, rouges, graines de coriandre et baies roses (si m&eacute;lang&eacute;es &agrave; l'un de ces poivres &agrave; hauteur 15%)<br /><br />Moulin &agrave; sel 15 cm<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- S'utilise avec des cristaux de sel sec (sel gemme) d'une taille &eacute;gale ou inf&eacute;rieure &agrave; 4 mm. Ne pas utiliser avec du sel de mer humide m&ecirc;m s&eacute;ch&eacute;.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9171 …}
    #channels: Doctrine\ORM\PersistentCollection {#9159 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9155 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9157 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9178 …}
  +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 {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.97 ms
Input props
[
  "product" => App\Entity\Product\Product {#9154
    #id: 3103
    #code: "moulin-fidji-graphite-peugeot-7560"
    #attributes: Doctrine\ORM\PersistentCollection {#9161 …}
    #variants: Doctrine\ORM\PersistentCollection {#9177 …}
    #options: Doctrine\ORM\PersistentCollection {#9165 …}
    #associations: Doctrine\ORM\PersistentCollection {#9163 …}
    #createdAt: DateTime @1758632754 {#9150
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9151
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9168 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9169
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9154}
        #id: 3103
        #name: "Moulin Fidji Graphite Peugeot"
        #slug: "moulin-fidji-graphite-peugeot-7560"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Fabrication Fran&ccedil;aise.</li>\n
          <li>Bois issu de for&ecirc;ts labellis&eacute;es PEFC.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          </ul></div><h1>Descriptif Moulin Fidji Graphite Peugeot</h1><div class="col is-12">Le corps &eacute;lanc&eacute;, le m&eacute;lange d'inox et de bois teint&eacute; gris anthracite avec des reflets m&eacute;tallis&eacute;s du moulin Fidji attire le regard. Sa taille de gu&ecirc;pe facilite la prise en main, son bouton mat marqu&eacute; de la t&ecirc;te de lion et cachant l'ing&eacute;nieuse fonction de r&eacute;glage de la mouture feront de ce moulin le compagnon de votre table durant de nombreuses ann&eacute;es. De fabrication Fran&ccedil;aise, il est r&eacute;alis&eacute; dans du bois issu de for&ecirc;ts locales labellis&eacute;es PEFC.</div><h1>Caractéristiques Moulin Fidji Graphite Peugeot</h1><div class="col is-12">Fabrication fran&ccedil;aise.<br />Teinte et vernis hydrosoluble.<br />Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br /><br />Moulin &agrave; poivre 15 cm<br />- M&eacute;canisme en acier, performant et r&eacute;sistant garanti sans limitation de dur&eacute;e.<br />- S'utilise avec des poivres noirs, blancs, verts, rouges, graines de coriandre et baies roses (si m&eacute;lang&eacute;es &agrave; l'un de ces poivres &agrave; hauteur 15%)<br /><br />Moulin &agrave; sel 15 cm<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- S'utilise avec des cristaux de sel sec (sel gemme) d'une taille &eacute;gale ou inf&eacute;rieure &agrave; 4 mm. Ne pas utiliser avec du sel de mer humide m&ecirc;m s&eacute;ch&eacute;.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9171 …}
    #channels: Doctrine\ORM\PersistentCollection {#9159 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9155 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9157 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Fidji Graphite Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29811
  -props: [
    "product" => App\Entity\Product\Product {#9154
      #id: 3103
      #code: "moulin-fidji-graphite-peugeot-7560"
      #attributes: Doctrine\ORM\PersistentCollection {#9161 …}
      #variants: Doctrine\ORM\PersistentCollection {#9177 …}
      #options: Doctrine\ORM\PersistentCollection {#9165 …}
      #associations: Doctrine\ORM\PersistentCollection {#9163 …}
      #createdAt: DateTime @1758632754 {#9150
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#9151
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9168 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9169
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9154}
          #id: 3103
          #name: "Moulin Fidji Graphite Peugeot"
          #slug: "moulin-fidji-graphite-peugeot-7560"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Fabrication Fran&ccedil;aise.</li>\n
            <li>Bois issu de for&ecirc;ts labellis&eacute;es PEFC.</li>\n
            <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
            </ul></div><h1>Descriptif Moulin Fidji Graphite Peugeot</h1><div class="col is-12">Le corps &eacute;lanc&eacute;, le m&eacute;lange d'inox et de bois teint&eacute; gris anthracite avec des reflets m&eacute;tallis&eacute;s du moulin Fidji attire le regard. Sa taille de gu&ecirc;pe facilite la prise en main, son bouton mat marqu&eacute; de la t&ecirc;te de lion et cachant l'ing&eacute;nieuse fonction de r&eacute;glage de la mouture feront de ce moulin le compagnon de votre table durant de nombreuses ann&eacute;es. De fabrication Fran&ccedil;aise, il est r&eacute;alis&eacute; dans du bois issu de for&ecirc;ts locales labellis&eacute;es PEFC.</div><h1>Caractéristiques Moulin Fidji Graphite Peugeot</h1><div class="col is-12">Fabrication fran&ccedil;aise.<br />Teinte et vernis hydrosoluble.<br />Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br /><br />Moulin &agrave; poivre 15 cm<br />- M&eacute;canisme en acier, performant et r&eacute;sistant garanti sans limitation de dur&eacute;e.<br />- S'utilise avec des poivres noirs, blancs, verts, rouges, graines de coriandre et baies roses (si m&eacute;lang&eacute;es &agrave; l'un de ces poivres &agrave; hauteur 15%)<br /><br />Moulin &agrave; sel 15 cm<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- S'utilise avec des cristaux de sel sec (sel gemme) d'une taille &eacute;gale ou inf&eacute;rieure &agrave; 4 mm. Ne pas utiliser avec du sel de mer humide m&ecirc;m s&eacute;ch&eacute;.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9171 …}
      #channels: Doctrine\ORM\PersistentCollection {#9159 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9155 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9157 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.72 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29866
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29795 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29804 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29865 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9178 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9188
    #collection: Doctrine\Common\Collections\ArrayCollection {#9189 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9187 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38458 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38460 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29866
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29795 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29804 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29865 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Fidji Graphite Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9188
    #collection: Doctrine\Common\Collections\ArrayCollection {#9189 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9187 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38458 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38460 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29872
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29866
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29795 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29804 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29865 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9178 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9188
      #collection: Doctrine\Common\Collections\ArrayCollection {#9189 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9187 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38458 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38460 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29922
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29913 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29920 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29921 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9178 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29925
  +variant: App\Entity\Product\ProductVariant {#9178 …}
  +price: "38,00\u{A0}"
  +originalPrice: "42,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9864 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13294 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9861 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29922
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29913 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29920 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29921 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.05 ms
Input props
[
  "product" => App\Entity\Product\Product {#9208
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#9215 …}
    #variants: Doctrine\ORM\PersistentCollection {#9231 …}
    #options: Doctrine\ORM\PersistentCollection {#9219 …}
    #associations: Doctrine\ORM\PersistentCollection {#9217 …}
    #createdAt: DateTime @1758632755 {#9191
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#9190
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9222 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9223
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9208}
        #id: 3108
        #name: "Moulin Peugeot Ouessant"
        #slug: "moulin-peugeot-ouessant-4362"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9225 …}
    #channels: Doctrine\ORM\PersistentCollection {#9213 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9209 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9211 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29802
  +product: App\Entity\Product\Product {#9208
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#9215 …}
    #variants: Doctrine\ORM\PersistentCollection {#9231 …}
    #options: Doctrine\ORM\PersistentCollection {#9219 …}
    #associations: Doctrine\ORM\PersistentCollection {#9217 …}
    #createdAt: DateTime @1758632755 {#9191
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#9190
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9222 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9223
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9208}
        #id: 3108
        #name: "Moulin Peugeot Ouessant"
        #slug: "moulin-peugeot-ouessant-4362"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9225 …}
    #channels: Doctrine\ORM\PersistentCollection {#9213 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9209 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9211 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9232 …}
  +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 {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.88 ms
Input props
[
  "product" => App\Entity\Product\Product {#9208
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#9215 …}
    #variants: Doctrine\ORM\PersistentCollection {#9231 …}
    #options: Doctrine\ORM\PersistentCollection {#9219 …}
    #associations: Doctrine\ORM\PersistentCollection {#9217 …}
    #createdAt: DateTime @1758632755 {#9191
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#9190
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9222 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9223
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9208}
        #id: 3108
        #name: "Moulin Peugeot Ouessant"
        #slug: "moulin-peugeot-ouessant-4362"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9225 …}
    #channels: Doctrine\ORM\PersistentCollection {#9213 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9209 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9211 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Ouessant"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30042
  -props: [
    "product" => App\Entity\Product\Product {#9208
      #id: 3108
      #code: "moulin-peugeot-ouessant-4362"
      #attributes: Doctrine\ORM\PersistentCollection {#9215 …}
      #variants: Doctrine\ORM\PersistentCollection {#9231 …}
      #options: Doctrine\ORM\PersistentCollection {#9219 …}
      #associations: Doctrine\ORM\PersistentCollection {#9217 …}
      #createdAt: DateTime @1758632755 {#9191
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632755 {#9190
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9222 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9223
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9208}
          #id: 3108
          #name: "Moulin Peugeot Ouessant"
          #slug: "moulin-peugeot-ouessant-4362"
          #description: """
            <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
            <div>\n
            <ul>\n
            <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
            <li>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul>\n
            </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9225 …}
      #channels: Doctrine\ORM\PersistentCollection {#9213 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9209 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9211 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30094
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30026 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30035 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30093 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9232 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9242
    #collection: Doctrine\Common\Collections\ArrayCollection {#9243 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9241 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38472 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38474 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30094
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30026 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30035 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30093 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Ouessant"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9242
    #collection: Doctrine\Common\Collections\ArrayCollection {#9243 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9241 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38472 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38474 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30100
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30094
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30026 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30035 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30093 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9232 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9242
      #collection: Doctrine\Common\Collections\ArrayCollection {#9243 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9241 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38472 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38474 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30150
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30141 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30148 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30149 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9232 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30153
  +variant: App\Entity\Product\ProductVariant {#9232 …}
  +price: "38,00\u{A0}"
  +originalPrice: "42,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9864 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13294 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9861 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30150
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30141 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30148 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30149 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.04 ms
Input props
[
  "product" => App\Entity\Product\Product {#9262
    #id: 3106
    #code: "moulin-line-peugeot-7992"
    #attributes: Doctrine\ORM\PersistentCollection {#9269 …}
    #variants: Doctrine\ORM\PersistentCollection {#9282 …}
    #options: Doctrine\ORM\PersistentCollection {#9273 …}
    #associations: Doctrine\ORM\PersistentCollection {#9271 …}
    #createdAt: DateTime @1758632754 {#9245
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9244
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9276 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9277
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9262}
        #id: 3106
        #name: "Moulin Line Peugeot"
        #slug: "moulin-line-peugeot-7992"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois de h&ecirc;tre &amp; aluminium.</li>\n
          <li>2 coloris au choix.</li>\n
          <li>M&eacute;canismes poivre ou sel garantis &agrave; vie.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Line Peugeot</h1><div class="col is-12">Le moulin Line Peugeot est r&eacute;alis&eacute; en bois de h&ecirc;tre PEFC et aluminium pour un design tr&egrave;s contemporain et une excellente prise en main. Fabriqu&eacute; en France, il dispose d'un bouton permettant le r&eacute;glage de la mouture et d'un m&eacute;canisme garanti sans limitation de dur&eacute;e. Le m&eacute;canisme du moulin &agrave; sel est r&eacute;alis&eacute; en acier inoxydable et n'est donc pas sensible &agrave; la corrosion saline. Il peut &ecirc;tre utilis&eacute; avec du sel de 4 mm de diam&egrave;tre max (sel de mer ou sel gemme). Le m&eacute;canisme du moulin &agrave; poivre est lui con&ccedil;u pour broyer tous les poivres (noirs, blancs, verts, rouge mais aussi les baies roses (15% maxi dans un m&eacute;lange de poivre) et les graines de coriandre.&nbsp;</div><h1>Caractéristiques Moulin Line Peugeot</h1><div class="col is-12">- Corps en alunimiun stri&eacute; pour une excellente pr&eacute;hension.<br />- Partie sup&eacute;rieure du moulin en bois de h&ecirc;tre PAFC.<br />- M&eacute;canisme moulin &agrave; sel en acier inoxydable. (garanti sans limitation de dur&eacute;e)<br />- M&eacute;canisme du moulin &agrave; poivre en acier. (garanti sans limitation de dur&eacute;e)<br />- Bouton de r&eacute;galge de la mouture.<br />- Taille : 12 cm.<br />- Diam&egrave;tre : 5 cm.<br />- Fabrication fran&ccedil;aise.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9279 …}
    #channels: Doctrine\ORM\PersistentCollection {#9267 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9263 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9265 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30033
  +product: App\Entity\Product\Product {#9262
    #id: 3106
    #code: "moulin-line-peugeot-7992"
    #attributes: Doctrine\ORM\PersistentCollection {#9269 …}
    #variants: Doctrine\ORM\PersistentCollection {#9282 …}
    #options: Doctrine\ORM\PersistentCollection {#9273 …}
    #associations: Doctrine\ORM\PersistentCollection {#9271 …}
    #createdAt: DateTime @1758632754 {#9245
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9244
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9276 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9277
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9262}
        #id: 3106
        #name: "Moulin Line Peugeot"
        #slug: "moulin-line-peugeot-7992"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois de h&ecirc;tre &amp; aluminium.</li>\n
          <li>2 coloris au choix.</li>\n
          <li>M&eacute;canismes poivre ou sel garantis &agrave; vie.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Line Peugeot</h1><div class="col is-12">Le moulin Line Peugeot est r&eacute;alis&eacute; en bois de h&ecirc;tre PEFC et aluminium pour un design tr&egrave;s contemporain et une excellente prise en main. Fabriqu&eacute; en France, il dispose d'un bouton permettant le r&eacute;glage de la mouture et d'un m&eacute;canisme garanti sans limitation de dur&eacute;e. Le m&eacute;canisme du moulin &agrave; sel est r&eacute;alis&eacute; en acier inoxydable et n'est donc pas sensible &agrave; la corrosion saline. Il peut &ecirc;tre utilis&eacute; avec du sel de 4 mm de diam&egrave;tre max (sel de mer ou sel gemme). Le m&eacute;canisme du moulin &agrave; poivre est lui con&ccedil;u pour broyer tous les poivres (noirs, blancs, verts, rouge mais aussi les baies roses (15% maxi dans un m&eacute;lange de poivre) et les graines de coriandre.&nbsp;</div><h1>Caractéristiques Moulin Line Peugeot</h1><div class="col is-12">- Corps en alunimiun stri&eacute; pour une excellente pr&eacute;hension.<br />- Partie sup&eacute;rieure du moulin en bois de h&ecirc;tre PAFC.<br />- M&eacute;canisme moulin &agrave; sel en acier inoxydable. (garanti sans limitation de dur&eacute;e)<br />- M&eacute;canisme du moulin &agrave; poivre en acier. (garanti sans limitation de dur&eacute;e)<br />- Bouton de r&eacute;galge de la mouture.<br />- Taille : 12 cm.<br />- Diam&egrave;tre : 5 cm.<br />- Fabrication fran&ccedil;aise.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9279 …}
    #channels: Doctrine\ORM\PersistentCollection {#9267 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9263 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9265 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9283 …}
  +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 {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.92 ms
Input props
[
  "product" => App\Entity\Product\Product {#9262
    #id: 3106
    #code: "moulin-line-peugeot-7992"
    #attributes: Doctrine\ORM\PersistentCollection {#9269 …}
    #variants: Doctrine\ORM\PersistentCollection {#9282 …}
    #options: Doctrine\ORM\PersistentCollection {#9273 …}
    #associations: Doctrine\ORM\PersistentCollection {#9271 …}
    #createdAt: DateTime @1758632754 {#9245
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9244
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9276 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9277
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9262}
        #id: 3106
        #name: "Moulin Line Peugeot"
        #slug: "moulin-line-peugeot-7992"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois de h&ecirc;tre &amp; aluminium.</li>\n
          <li>2 coloris au choix.</li>\n
          <li>M&eacute;canismes poivre ou sel garantis &agrave; vie.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Line Peugeot</h1><div class="col is-12">Le moulin Line Peugeot est r&eacute;alis&eacute; en bois de h&ecirc;tre PEFC et aluminium pour un design tr&egrave;s contemporain et une excellente prise en main. Fabriqu&eacute; en France, il dispose d'un bouton permettant le r&eacute;glage de la mouture et d'un m&eacute;canisme garanti sans limitation de dur&eacute;e. Le m&eacute;canisme du moulin &agrave; sel est r&eacute;alis&eacute; en acier inoxydable et n'est donc pas sensible &agrave; la corrosion saline. Il peut &ecirc;tre utilis&eacute; avec du sel de 4 mm de diam&egrave;tre max (sel de mer ou sel gemme). Le m&eacute;canisme du moulin &agrave; poivre est lui con&ccedil;u pour broyer tous les poivres (noirs, blancs, verts, rouge mais aussi les baies roses (15% maxi dans un m&eacute;lange de poivre) et les graines de coriandre.&nbsp;</div><h1>Caractéristiques Moulin Line Peugeot</h1><div class="col is-12">- Corps en alunimiun stri&eacute; pour une excellente pr&eacute;hension.<br />- Partie sup&eacute;rieure du moulin en bois de h&ecirc;tre PAFC.<br />- M&eacute;canisme moulin &agrave; sel en acier inoxydable. (garanti sans limitation de dur&eacute;e)<br />- M&eacute;canisme du moulin &agrave; poivre en acier. (garanti sans limitation de dur&eacute;e)<br />- Bouton de r&eacute;galge de la mouture.<br />- Taille : 12 cm.<br />- Diam&egrave;tre : 5 cm.<br />- Fabrication fran&ccedil;aise.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9279 …}
    #channels: Doctrine\ORM\PersistentCollection {#9267 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9263 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9265 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Line Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30270
  -props: [
    "product" => App\Entity\Product\Product {#9262
      #id: 3106
      #code: "moulin-line-peugeot-7992"
      #attributes: Doctrine\ORM\PersistentCollection {#9269 …}
      #variants: Doctrine\ORM\PersistentCollection {#9282 …}
      #options: Doctrine\ORM\PersistentCollection {#9273 …}
      #associations: Doctrine\ORM\PersistentCollection {#9271 …}
      #createdAt: DateTime @1758632754 {#9245
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#9244
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9276 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9277
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9262}
          #id: 3106
          #name: "Moulin Line Peugeot"
          #slug: "moulin-line-peugeot-7992"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Bois de h&ecirc;tre &amp; aluminium.</li>\n
            <li>2 coloris au choix.</li>\n
            <li>M&eacute;canismes poivre ou sel garantis &agrave; vie.</li>\n
            <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
            </ul></div><h1>Descriptif Moulin Line Peugeot</h1><div class="col is-12">Le moulin Line Peugeot est r&eacute;alis&eacute; en bois de h&ecirc;tre PEFC et aluminium pour un design tr&egrave;s contemporain et une excellente prise en main. Fabriqu&eacute; en France, il dispose d'un bouton permettant le r&eacute;glage de la mouture et d'un m&eacute;canisme garanti sans limitation de dur&eacute;e. Le m&eacute;canisme du moulin &agrave; sel est r&eacute;alis&eacute; en acier inoxydable et n'est donc pas sensible &agrave; la corrosion saline. Il peut &ecirc;tre utilis&eacute; avec du sel de 4 mm de diam&egrave;tre max (sel de mer ou sel gemme). Le m&eacute;canisme du moulin &agrave; poivre est lui con&ccedil;u pour broyer tous les poivres (noirs, blancs, verts, rouge mais aussi les baies roses (15% maxi dans un m&eacute;lange de poivre) et les graines de coriandre.&nbsp;</div><h1>Caractéristiques Moulin Line Peugeot</h1><div class="col is-12">- Corps en alunimiun stri&eacute; pour une excellente pr&eacute;hension.<br />- Partie sup&eacute;rieure du moulin en bois de h&ecirc;tre PAFC.<br />- M&eacute;canisme moulin &agrave; sel en acier inoxydable. (garanti sans limitation de dur&eacute;e)<br />- M&eacute;canisme du moulin &agrave; poivre en acier. (garanti sans limitation de dur&eacute;e)<br />- Bouton de r&eacute;galge de la mouture.<br />- Taille : 12 cm.<br />- Diam&egrave;tre : 5 cm.<br />- Fabrication fran&ccedil;aise.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9279 …}
      #channels: Doctrine\ORM\PersistentCollection {#9267 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9263 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9265 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.71 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30325
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30254 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30263 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30324 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9283 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9293
    #collection: Doctrine\Common\Collections\ArrayCollection {#9294 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9292 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38486 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38488 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30325
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30254 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30263 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30324 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Line Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9293
    #collection: Doctrine\Common\Collections\ArrayCollection {#9294 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9292 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38486 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38488 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30331
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30325
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30254 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30263 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30324 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9283 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9293
      #collection: Doctrine\Common\Collections\ArrayCollection {#9294 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9292 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38486 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38488 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30381
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30372 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30379 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30380 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9283 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30384
  +variant: App\Entity\Product\ProductVariant {#9283 …}
  +price: "39,00\u{A0}"
  +originalPrice: "39,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9864 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13294 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9861 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30381
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30372 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30379 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30380 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.08 ms
Input props
[
  "product" => App\Entity\Product\Product {#9299
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#9306 …}
    #variants: Doctrine\ORM\PersistentCollection {#9319 …}
    #options: Doctrine\ORM\PersistentCollection {#9310 …}
    #associations: Doctrine\ORM\PersistentCollection {#9308 …}
    #createdAt: DateTime @1758632747 {#9295
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9296
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9313 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9314
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9299}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9316 …}
    #channels: Doctrine\ORM\PersistentCollection {#9304 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9300 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9302 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30261
  +product: App\Entity\Product\Product {#9299
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#9306 …}
    #variants: Doctrine\ORM\PersistentCollection {#9319 …}
    #options: Doctrine\ORM\PersistentCollection {#9310 …}
    #associations: Doctrine\ORM\PersistentCollection {#9308 …}
    #createdAt: DateTime @1758632747 {#9295
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9296
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9313 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9314
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9299}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9316 …}
    #channels: Doctrine\ORM\PersistentCollection {#9304 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9300 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9302 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9320 …}
  +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 {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.87 ms
Input props
[
  "product" => App\Entity\Product\Product {#9299
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#9306 …}
    #variants: Doctrine\ORM\PersistentCollection {#9319 …}
    #options: Doctrine\ORM\PersistentCollection {#9310 …}
    #associations: Doctrine\ORM\PersistentCollection {#9308 …}
    #createdAt: DateTime @1758632747 {#9295
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#9296
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9313 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9314
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9299}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9316 …}
    #channels: Doctrine\ORM\PersistentCollection {#9304 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9300 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9302 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Bistro"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30501
  -props: [
    "product" => App\Entity\Product\Product {#9299
      #id: 3043
      #code: "moulin-peugeot-bistro-2682"
      #attributes: Doctrine\ORM\PersistentCollection {#9306 …}
      #variants: Doctrine\ORM\PersistentCollection {#9319 …}
      #options: Doctrine\ORM\PersistentCollection {#9310 …}
      #associations: Doctrine\ORM\PersistentCollection {#9308 …}
      #createdAt: DateTime @1758632747 {#9295
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#9296
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9313 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9314
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9299}
          #id: 3043
          #name: "Moulin Peugeot Bistro"
          #slug: "moulin-peugeot-bistro-2682"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie</li>\n
            <li>Corps bois vernis</li>\n
            <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
            </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9316 …}
      #channels: Doctrine\ORM\PersistentCollection {#9304 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9300 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9302 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.74 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30556
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30485 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30494 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30555 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9320 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9330
    #collection: Doctrine\Common\Collections\ArrayCollection {#9331 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9329 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38500 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38502 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30556
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30485 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30494 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30555 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Bistro"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9330
    #collection: Doctrine\Common\Collections\ArrayCollection {#9331 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9329 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38500 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38502 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30562
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30556
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30485 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30494 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30555 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9320 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9330
      #collection: Doctrine\Common\Collections\ArrayCollection {#9331 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9329 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38500 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38502 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30612
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30603 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30610 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30611 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9320 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30615
  +variant: App\Entity\Product\ProductVariant {#9320 …}
  +price: "40,00\u{A0}"
  +originalPrice: "44,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9864 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13294 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9861 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30612
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30603 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30610 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30611 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.04 ms
Input props
[
  "product" => App\Entity\Product\Product {#9336
    #id: 3079
    #code: "moulin-electrique-peugeot-zest-1224"
    #attributes: Doctrine\ORM\PersistentCollection {#9343 …}
    #variants: Doctrine\ORM\PersistentCollection {#9359 …}
    #options: Doctrine\ORM\PersistentCollection {#9347 …}
    #associations: Doctrine\ORM\PersistentCollection {#9345 …}
    #createdAt: DateTime @1758632751 {#9332
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#9333
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9350 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9351
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9336}
        #id: 3079
        #name: "Moulin électrique Peugeot Zest"
        #slug: "moulin-electrique-peugeot-zest-1224"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Design contemporain.</li>\n
          <li>Excellent rapport qualit&eacute;-prix.</li>\n
          <li><strong>Fabriqu&eacute; en France.&nbsp;</strong></li>\n
          </ul></div><h1>Description Moulin électrique Peugeot Zest</h1><div class="col is-12">Son prix tr&egrave;s comp&eacute;titif n'emp&ecirc;che pas le moulin Zest &eacute;lectrique Peugeot de b&eacute;n&eacute;ficier de toute la qualit&eacute; &nbsp;de la marque. Ses m&eacute;canismes poivre ou sel sont garantis &agrave; vie, gage de fiabilit&eacute;, et leur efficacit&eacute; l&eacute;gendaire n'est plus &agrave; prouver.</div><h1>Caractéristiques Moulin électrique Peugeot Zest</h1><div class="col is-12">M&eacute;canisme poivre ou sel garantis &agrave; vie. Livr&eacute; avec 4 piles. Hauteur 18 cm. Fabriqu&eacute; en France.</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 {#9353 …}
    #channels: Doctrine\ORM\PersistentCollection {#9341 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9337 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9339 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +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 {#9336
    #id: 3079
    #code: "moulin-electrique-peugeot-zest-1224"
    #attributes: Doctrine\ORM\PersistentCollection {#9343 …}
    #variants: Doctrine\ORM\PersistentCollection {#9359 …}
    #options: Doctrine\ORM\PersistentCollection {#9347 …}
    #associations: Doctrine\ORM\PersistentCollection {#9345 …}
    #createdAt: DateTime @1758632751 {#9332
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#9333
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9350 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9351
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9336}
        #id: 3079
        #name: "Moulin électrique Peugeot Zest"
        #slug: "moulin-electrique-peugeot-zest-1224"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Design contemporain.</li>\n
          <li>Excellent rapport qualit&eacute;-prix.</li>\n
          <li><strong>Fabriqu&eacute; en France.&nbsp;</strong></li>\n
          </ul></div><h1>Description Moulin électrique Peugeot Zest</h1><div class="col is-12">Son prix tr&egrave;s comp&eacute;titif n'emp&ecirc;che pas le moulin Zest &eacute;lectrique Peugeot de b&eacute;n&eacute;ficier de toute la qualit&eacute; &nbsp;de la marque. Ses m&eacute;canismes poivre ou sel sont garantis &agrave; vie, gage de fiabilit&eacute;, et leur efficacit&eacute; l&eacute;gendaire n'est plus &agrave; prouver.</div><h1>Caractéristiques Moulin électrique Peugeot Zest</h1><div class="col is-12">M&eacute;canisme poivre ou sel garantis &agrave; vie. Livr&eacute; avec 4 piles. Hauteur 18 cm. Fabriqu&eacute; en France.</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 {#9353 …}
    #channels: Doctrine\ORM\PersistentCollection {#9341 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9337 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9339 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9360 …}
  +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 {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.86 ms
Input props
[
  "product" => App\Entity\Product\Product {#9336
    #id: 3079
    #code: "moulin-electrique-peugeot-zest-1224"
    #attributes: Doctrine\ORM\PersistentCollection {#9343 …}
    #variants: Doctrine\ORM\PersistentCollection {#9359 …}
    #options: Doctrine\ORM\PersistentCollection {#9347 …}
    #associations: Doctrine\ORM\PersistentCollection {#9345 …}
    #createdAt: DateTime @1758632751 {#9332
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#9333
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9350 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9351
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9336}
        #id: 3079
        #name: "Moulin électrique Peugeot Zest"
        #slug: "moulin-electrique-peugeot-zest-1224"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Design contemporain.</li>\n
          <li>Excellent rapport qualit&eacute;-prix.</li>\n
          <li><strong>Fabriqu&eacute; en France.&nbsp;</strong></li>\n
          </ul></div><h1>Description Moulin électrique Peugeot Zest</h1><div class="col is-12">Son prix tr&egrave;s comp&eacute;titif n'emp&ecirc;che pas le moulin Zest &eacute;lectrique Peugeot de b&eacute;n&eacute;ficier de toute la qualit&eacute; &nbsp;de la marque. Ses m&eacute;canismes poivre ou sel sont garantis &agrave; vie, gage de fiabilit&eacute;, et leur efficacit&eacute; l&eacute;gendaire n'est plus &agrave; prouver.</div><h1>Caractéristiques Moulin électrique Peugeot Zest</h1><div class="col is-12">M&eacute;canisme poivre ou sel garantis &agrave; vie. Livr&eacute; avec 4 piles. Hauteur 18 cm. Fabriqu&eacute; en France.</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 {#9353 …}
    #channels: Doctrine\ORM\PersistentCollection {#9341 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9337 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9339 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin électrique Peugeot Zest"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30732
  -props: [
    "product" => App\Entity\Product\Product {#9336
      #id: 3079
      #code: "moulin-electrique-peugeot-zest-1224"
      #attributes: Doctrine\ORM\PersistentCollection {#9343 …}
      #variants: Doctrine\ORM\PersistentCollection {#9359 …}
      #options: Doctrine\ORM\PersistentCollection {#9347 …}
      #associations: Doctrine\ORM\PersistentCollection {#9345 …}
      #createdAt: DateTime @1758632751 {#9332
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632751 {#9333
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9350 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9351
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9336}
          #id: 3079
          #name: "Moulin électrique Peugeot Zest"
          #slug: "moulin-electrique-peugeot-zest-1224"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Design contemporain.</li>\n
            <li>Excellent rapport qualit&eacute;-prix.</li>\n
            <li><strong>Fabriqu&eacute; en France.&nbsp;</strong></li>\n
            </ul></div><h1>Description Moulin électrique Peugeot Zest</h1><div class="col is-12">Son prix tr&egrave;s comp&eacute;titif n'emp&ecirc;che pas le moulin Zest &eacute;lectrique Peugeot de b&eacute;n&eacute;ficier de toute la qualit&eacute; &nbsp;de la marque. Ses m&eacute;canismes poivre ou sel sont garantis &agrave; vie, gage de fiabilit&eacute;, et leur efficacit&eacute; l&eacute;gendaire n'est plus &agrave; prouver.</div><h1>Caractéristiques Moulin électrique Peugeot Zest</h1><div class="col is-12">M&eacute;canisme poivre ou sel garantis &agrave; vie. Livr&eacute; avec 4 piles. Hauteur 18 cm. Fabriqu&eacute; en France.</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 {#9353 …}
      #channels: Doctrine\ORM\PersistentCollection {#9341 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9337 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9339 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.76 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30781
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30716 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30725 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30780 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9360 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9373
    #collection: Doctrine\Common\Collections\ArrayCollection {#9374 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9372 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38514 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38516 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30781
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30716 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30725 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30780 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin électrique Peugeot Zest"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9373
    #collection: Doctrine\Common\Collections\ArrayCollection {#9374 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9372 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38514 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38516 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30787
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30781
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30716 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30725 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30780 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9360 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9373
      #collection: Doctrine\Common\Collections\ArrayCollection {#9374 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9372 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38514 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38516 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30837
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30828 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30835 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30836 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9360 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30840
  +variant: App\Entity\Product\ProductVariant {#9360 …}
  +price: "40,00\u{A0}"
  +originalPrice: "44,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9864 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13294 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9861 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30837
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30828 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30835 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30836 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.06 ms
Input props
[
  "product" => App\Entity\Product\Product {#9379
    #id: 3105
    #code: "moulin-isen-a-manivelle-peugeot-7563"
    #attributes: Doctrine\ORM\PersistentCollection {#9386 …}
    #variants: Doctrine\ORM\PersistentCollection {#9399 …}
    #options: Doctrine\ORM\PersistentCollection {#9390 …}
    #associations: Doctrine\ORM\PersistentCollection {#9388 …}
    #createdAt: DateTime @1758632754 {#9375
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9376
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9393 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9394
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9379}
        #id: 3105
        #name: "Moulin Isen à manivelle Peugeot"
        #slug: "moulin-isen-a-manivelle-peugeot-7563"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois de h&ecirc;tre issu de for&ecirc;ts labellis&eacute;es PEFC.</li>\n
          <li>M&eacute;canisle acier garanti sans limitation de dur&eacute;e.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Isen à manivelle Peugeot</h1><div class="col is-12">Le Moulin Isen &agrave; manivelle Peugeot revisite le geste ancestral des moulins &agrave; manivelle gr&acirc;ce &agrave; son ergonomie et &agrave; sa simplicit&eacute; d'utilisation. Disposant d'un m&eacute;canisme en acier garanti sans limitation de dur&eacute;e, il est fabriqu&eacute; en France dans du bois de h&ecirc;tre issu de for&ecirc;ts labellis&eacute;es PEFC. Son bouton m&eacute;tallique permet de r&eacute;gler en toute simplicit&eacute; le degr&eacute; de mouture.</div><h1>Caractéristiques Moulin Isen à manivelle Peugeot</h1><div class="col is-12">- Bois de h&ecirc;tre issu de for&ecirc;ts fran&ccedil;aises labellis&eacute;es PEFC.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- R&eacute;glage de la mouture.<br />- Taille : 18 cm.<br />- Fabrication Fran&ccedil;aise.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9396 …}
    #channels: Doctrine\ORM\PersistentCollection {#9384 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9380 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9382 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30723
  +product: App\Entity\Product\Product {#9379
    #id: 3105
    #code: "moulin-isen-a-manivelle-peugeot-7563"
    #attributes: Doctrine\ORM\PersistentCollection {#9386 …}
    #variants: Doctrine\ORM\PersistentCollection {#9399 …}
    #options: Doctrine\ORM\PersistentCollection {#9390 …}
    #associations: Doctrine\ORM\PersistentCollection {#9388 …}
    #createdAt: DateTime @1758632754 {#9375
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9376
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9393 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9394
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9379}
        #id: 3105
        #name: "Moulin Isen à manivelle Peugeot"
        #slug: "moulin-isen-a-manivelle-peugeot-7563"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois de h&ecirc;tre issu de for&ecirc;ts labellis&eacute;es PEFC.</li>\n
          <li>M&eacute;canisle acier garanti sans limitation de dur&eacute;e.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Isen à manivelle Peugeot</h1><div class="col is-12">Le Moulin Isen &agrave; manivelle Peugeot revisite le geste ancestral des moulins &agrave; manivelle gr&acirc;ce &agrave; son ergonomie et &agrave; sa simplicit&eacute; d'utilisation. Disposant d'un m&eacute;canisme en acier garanti sans limitation de dur&eacute;e, il est fabriqu&eacute; en France dans du bois de h&ecirc;tre issu de for&ecirc;ts labellis&eacute;es PEFC. Son bouton m&eacute;tallique permet de r&eacute;gler en toute simplicit&eacute; le degr&eacute; de mouture.</div><h1>Caractéristiques Moulin Isen à manivelle Peugeot</h1><div class="col is-12">- Bois de h&ecirc;tre issu de for&ecirc;ts fran&ccedil;aises labellis&eacute;es PEFC.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- R&eacute;glage de la mouture.<br />- Taille : 18 cm.<br />- Fabrication Fran&ccedil;aise.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9396 …}
    #channels: Doctrine\ORM\PersistentCollection {#9384 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9380 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9382 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#9400 …}
  +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 {#28436
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28469 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28475 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28462 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.89 ms
Input props
[
  "product" => App\Entity\Product\Product {#9379
    #id: 3105
    #code: "moulin-isen-a-manivelle-peugeot-7563"
    #attributes: Doctrine\ORM\PersistentCollection {#9386 …}
    #variants: Doctrine\ORM\PersistentCollection {#9399 …}
    #options: Doctrine\ORM\PersistentCollection {#9390 …}
    #associations: Doctrine\ORM\PersistentCollection {#9388 …}
    #createdAt: DateTime @1758632754 {#9375
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#9376
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#9393 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#9394
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#9379}
        #id: 3105
        #name: "Moulin Isen à manivelle Peugeot"
        #slug: "moulin-isen-a-manivelle-peugeot-7563"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois de h&ecirc;tre issu de for&ecirc;ts labellis&eacute;es PEFC.</li>\n
          <li>M&eacute;canisle acier garanti sans limitation de dur&eacute;e.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Isen à manivelle Peugeot</h1><div class="col is-12">Le Moulin Isen &agrave; manivelle Peugeot revisite le geste ancestral des moulins &agrave; manivelle gr&acirc;ce &agrave; son ergonomie et &agrave; sa simplicit&eacute; d'utilisation. Disposant d'un m&eacute;canisme en acier garanti sans limitation de dur&eacute;e, il est fabriqu&eacute; en France dans du bois de h&ecirc;tre issu de for&ecirc;ts labellis&eacute;es PEFC. Son bouton m&eacute;tallique permet de r&eacute;gler en toute simplicit&eacute; le degr&eacute; de mouture.</div><h1>Caractéristiques Moulin Isen à manivelle Peugeot</h1><div class="col is-12">- Bois de h&ecirc;tre issu de for&ecirc;ts fran&ccedil;aises labellis&eacute;es PEFC.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- R&eacute;glage de la mouture.<br />- Taille : 18 cm.<br />- Fabrication Fran&ccedil;aise.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#9396 …}
    #channels: Doctrine\ORM\PersistentCollection {#9384 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#9380 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#9382 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Isen à manivelle Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30957
  -props: [
    "product" => App\Entity\Product\Product {#9379
      #id: 3105
      #code: "moulin-isen-a-manivelle-peugeot-7563"
      #attributes: Doctrine\ORM\PersistentCollection {#9386 …}
      #variants: Doctrine\ORM\PersistentCollection {#9399 …}
      #options: Doctrine\ORM\PersistentCollection {#9390 …}
      #associations: Doctrine\ORM\PersistentCollection {#9388 …}
      #createdAt: DateTime @1758632754 {#9375
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#9376
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#9393 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#9394
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#9379}
          #id: 3105
          #name: "Moulin Isen à manivelle Peugeot"
          #slug: "moulin-isen-a-manivelle-peugeot-7563"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Bois de h&ecirc;tre issu de for&ecirc;ts labellis&eacute;es PEFC.</li>\n
            <li>M&eacute;canisle acier garanti sans limitation de dur&eacute;e.</li>\n
            <li>R&eacute;glage de la mouture.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Descriptif Moulin Isen à manivelle Peugeot</h1><div class="col is-12">Le Moulin Isen &agrave; manivelle Peugeot revisite le geste ancestral des moulins &agrave; manivelle gr&acirc;ce &agrave; son ergonomie et &agrave; sa simplicit&eacute; d'utilisation. Disposant d'un m&eacute;canisme en acier garanti sans limitation de dur&eacute;e, il est fabriqu&eacute; en France dans du bois de h&ecirc;tre issu de for&ecirc;ts labellis&eacute;es PEFC. Son bouton m&eacute;tallique permet de r&eacute;gler en toute simplicit&eacute; le degr&eacute; de mouture.</div><h1>Caractéristiques Moulin Isen à manivelle Peugeot</h1><div class="col is-12">- Bois de h&ecirc;tre issu de for&ecirc;ts fran&ccedil;aises labellis&eacute;es PEFC.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- R&eacute;glage de la mouture.<br />- Taille : 18 cm.<br />- Fabrication Fran&ccedil;aise.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#9396 …}
      #channels: Doctrine\ORM\PersistentCollection {#9384 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#9380 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#9382 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.74 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31012
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30941 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30950 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31011 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9400 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9413
    #collection: Doctrine\Common\Collections\ArrayCollection {#9414 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9412 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38528 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38530 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31012
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30941 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30950 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31011 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Isen à manivelle Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#9413
    #collection: Doctrine\Common\Collections\ArrayCollection {#9414 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#9412 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38528 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38530 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31018
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31012
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30941 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30950 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31011 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#9400 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#9413
      #collection: Doctrine\Common\Collections\ArrayCollection {#9414 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#9412 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38528 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38530 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31068
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31059 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31066 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31067 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#9400 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31071
  +variant: App\Entity\Product\ProductVariant {#9400 …}
  +price: "40,00\u{A0}"
  +originalPrice: "44,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9864 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#13294 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9861 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31068
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31059 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31066 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31067 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:cart:widget:offcanvas Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 114.0 MiB 2.21 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28135
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13359 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28157 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13369 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31392
  +cart: App\Entity\Order\Order {#14273 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28135
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13359 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28157 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13369 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}