Components

12 Twig Components
44 Render Count
83 ms Render Time
112.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 55.21ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 9.70ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 7.58ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.59ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.14ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.74ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 5.13ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 14.48ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.20ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.60ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 2.08ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.01ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 112.0 MiB 1.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12156
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12149 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12155 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12154 …}
    +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 {#12776
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12156
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12149 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12155 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12154 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 112.0 MiB 0.74 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12853
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12849 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12851 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12852 …}
    +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 {#12862
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12853
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12849 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12851 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12852 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 112.0 MiB 5.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12944
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12923 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12943 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12942 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#12959
  +cart: App\Entity\Order\Order {#13026 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12944
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12923 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12943 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12942 …}
    +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 112.0 MiB 14.48 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13212
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13200 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13206 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13198 …}
    +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 {#13221
  #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 {#13212
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13200 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13206 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13198 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 112.0 MiB 1.20 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27455
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27451 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27452 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27454 …}
    +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 {#27464
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27455
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27451 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27452 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27454 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 112.0 MiB 0.60 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27569
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27565 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27566 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27568 …}
    +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 {#27577
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27569
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27565 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27566 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27568 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 112.0 MiB 2.08 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27639
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27635 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27636 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27638 …}
    +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 {#27647
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27639
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27635 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27636 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27638 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 10.45 ms
Input props
[
  "product" => App\Entity\Product\Product {#8000
    #id: 3080
    #code: "moulin-electrique-peugeot-zeli-1612"
    #attributes: Doctrine\ORM\PersistentCollection {#8179 …}
    #variants: Doctrine\ORM\PersistentCollection {#8402 …}
    #options: Doctrine\ORM\PersistentCollection {#8530 …}
    #associations: Doctrine\ORM\PersistentCollection {#8470 …}
    #createdAt: DateTime @1758632751 {#7719
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#7758
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8529 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8532
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8000}
        #id: 3080
        #name: "Moulin électrique PEUGEOT ZELI"
        #slug: "moulin-electrique-peugeot-zeli-1612"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Se manipule d'une seule main.</li>\n
          <li>M&eacute;canismes de broyage garantis &agrave; vie.</li>\n
          <li>Qualit&eacute; Peugeot.</li>\n
          </ul>\n
          &nbsp;</div><h1>Description moulin électrique PEUGEOT ZELI</h1><div class="col is-12"><p>Reprenant les m&eacute;canismes sel ou poivre dont l&rsquo;efficacit&eacute; n&rsquo;est plus &agrave; prouver, ces moulins sont &eacute;quip&eacute;s en plus d&rsquo;un moteur &eacute;lectrique pour votre plus grand confort ! Une simple pression pour moudre sel ou poivre ce qui permet de les tenir d&rsquo;une seule main, tr&egrave;s pratique lorsque l&rsquo;on cuisine ! </p></div><h1>Caractéristiques moulin électrique PEUGEOT ZELI</h1><div class="col is-12">Corps ABS nickel&eacute; bross&eacute;. Mini lampe int&eacute;gr&eacute;e + 1 de rechange. Fonctionne avec 6 piles 1.5 v fournie. Molette de r&eacute;glage de mouture pour le m&eacute;canisme poivre uniquement. M&eacute;canisme de broyage garanti &agrave; vie. Hauteur&nbsp;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 {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#8038 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7998 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8041 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28172
  +product: App\Entity\Product\Product {#8000
    #id: 3080
    #code: "moulin-electrique-peugeot-zeli-1612"
    #attributes: Doctrine\ORM\PersistentCollection {#8179 …}
    #variants: Doctrine\ORM\PersistentCollection {#8402 …}
    #options: Doctrine\ORM\PersistentCollection {#8530 …}
    #associations: Doctrine\ORM\PersistentCollection {#8470 …}
    #createdAt: DateTime @1758632751 {#7719
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#7758
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8529 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8532
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8000}
        #id: 3080
        #name: "Moulin électrique PEUGEOT ZELI"
        #slug: "moulin-electrique-peugeot-zeli-1612"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Se manipule d'une seule main.</li>\n
          <li>M&eacute;canismes de broyage garantis &agrave; vie.</li>\n
          <li>Qualit&eacute; Peugeot.</li>\n
          </ul>\n
          &nbsp;</div><h1>Description moulin électrique PEUGEOT ZELI</h1><div class="col is-12"><p>Reprenant les m&eacute;canismes sel ou poivre dont l&rsquo;efficacit&eacute; n&rsquo;est plus &agrave; prouver, ces moulins sont &eacute;quip&eacute;s en plus d&rsquo;un moteur &eacute;lectrique pour votre plus grand confort ! Une simple pression pour moudre sel ou poivre ce qui permet de les tenir d&rsquo;une seule main, tr&egrave;s pratique lorsque l&rsquo;on cuisine ! </p></div><h1>Caractéristiques moulin électrique PEUGEOT ZELI</h1><div class="col is-12">Corps ABS nickel&eacute; bross&eacute;. Mini lampe int&eacute;gr&eacute;e + 1 de rechange. Fonctionne avec 6 piles 1.5 v fournie. Molette de r&eacute;glage de mouture pour le m&eacute;canisme poivre uniquement. M&eacute;canisme de broyage garanti &agrave; vie. Hauteur&nbsp;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 {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#8038 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7998 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8041 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#28434 …}
  +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 {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 2.22 ms
Input props
[
  "product" => App\Entity\Product\Product {#8000
    #id: 3080
    #code: "moulin-electrique-peugeot-zeli-1612"
    #attributes: Doctrine\ORM\PersistentCollection {#8179 …}
    #variants: Doctrine\ORM\PersistentCollection {#8402 …}
    #options: Doctrine\ORM\PersistentCollection {#8530 …}
    #associations: Doctrine\ORM\PersistentCollection {#8470 …}
    #createdAt: DateTime @1758632751 {#7719
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#7758
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8529 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8532
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8000}
        #id: 3080
        #name: "Moulin électrique PEUGEOT ZELI"
        #slug: "moulin-electrique-peugeot-zeli-1612"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Se manipule d'une seule main.</li>\n
          <li>M&eacute;canismes de broyage garantis &agrave; vie.</li>\n
          <li>Qualit&eacute; Peugeot.</li>\n
          </ul>\n
          &nbsp;</div><h1>Description moulin électrique PEUGEOT ZELI</h1><div class="col is-12"><p>Reprenant les m&eacute;canismes sel ou poivre dont l&rsquo;efficacit&eacute; n&rsquo;est plus &agrave; prouver, ces moulins sont &eacute;quip&eacute;s en plus d&rsquo;un moteur &eacute;lectrique pour votre plus grand confort ! Une simple pression pour moudre sel ou poivre ce qui permet de les tenir d&rsquo;une seule main, tr&egrave;s pratique lorsque l&rsquo;on cuisine ! </p></div><h1>Caractéristiques moulin électrique PEUGEOT ZELI</h1><div class="col is-12">Corps ABS nickel&eacute; bross&eacute;. Mini lampe int&eacute;gr&eacute;e + 1 de rechange. Fonctionne avec 6 piles 1.5 v fournie. Molette de r&eacute;glage de mouture pour le m&eacute;canisme poivre uniquement. M&eacute;canisme de broyage garanti &agrave; vie. Hauteur&nbsp;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 {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#8038 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7998 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8041 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin électrique PEUGEOT ZELI"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28845
  -props: [
    "product" => App\Entity\Product\Product {#8000
      #id: 3080
      #code: "moulin-electrique-peugeot-zeli-1612"
      #attributes: Doctrine\ORM\PersistentCollection {#8179 …}
      #variants: Doctrine\ORM\PersistentCollection {#8402 …}
      #options: Doctrine\ORM\PersistentCollection {#8530 …}
      #associations: Doctrine\ORM\PersistentCollection {#8470 …}
      #createdAt: DateTime @1758632751 {#7719
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632751 {#7758
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8529 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8532
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8000}
          #id: 3080
          #name: "Moulin électrique PEUGEOT ZELI"
          #slug: "moulin-electrique-peugeot-zeli-1612"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Se manipule d'une seule main.</li>\n
            <li>M&eacute;canismes de broyage garantis &agrave; vie.</li>\n
            <li>Qualit&eacute; Peugeot.</li>\n
            </ul>\n
            &nbsp;</div><h1>Description moulin électrique PEUGEOT ZELI</h1><div class="col is-12"><p>Reprenant les m&eacute;canismes sel ou poivre dont l&rsquo;efficacit&eacute; n&rsquo;est plus &agrave; prouver, ces moulins sont &eacute;quip&eacute;s en plus d&rsquo;un moteur &eacute;lectrique pour votre plus grand confort ! Une simple pression pour moudre sel ou poivre ce qui permet de les tenir d&rsquo;une seule main, tr&egrave;s pratique lorsque l&rsquo;on cuisine ! </p></div><h1>Caractéristiques moulin électrique PEUGEOT ZELI</h1><div class="col is-12">Corps ABS nickel&eacute; bross&eacute;. Mini lampe int&eacute;gr&eacute;e + 1 de rechange. Fonctionne avec 6 piles 1.5 v fournie. Molette de r&eacute;glage de mouture pour le m&eacute;canisme poivre uniquement. M&eacute;canisme de broyage garanti &agrave; vie. Hauteur&nbsp;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 {#8535 …}
      #channels: Doctrine\ORM\PersistentCollection {#8038 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#7998 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8041 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 1.42 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28945
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28918 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28913 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28940 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28434 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28780
    #collection: Doctrine\Common\Collections\ArrayCollection {#28779 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28617 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38460 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38512 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28945
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28918 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28913 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28940 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin électrique PEUGEOT ZELI"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28780
    #collection: Doctrine\Common\Collections\ArrayCollection {#28779 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28617 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38460 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38512 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28941
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28945
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28918 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28913 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28940 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#28434 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#28780
      #collection: Doctrine\Common\Collections\ArrayCollection {#28779 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#28617 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38460 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38512 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.38 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29013
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29003 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29011 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29012 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28434 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29022
  +variant: App\Entity\Product\ProductVariant {#28434 …}
  +price: "89,00\u{A0}"
  +originalPrice: "114,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29013
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29003 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29011 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29012 …}
    +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 112.0 MiB 4.94 ms
Input props
[
  "product" => App\Entity\Product\Product {#8541
    #id: 3082
    #code: "coffret-elis-sense-peugeot-3253"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632751 {#8539
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8540
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8557 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8558
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8541}
        #id: 3082
        #name: "Coffret Elis Sense PEUGEOT"
        #slug: "coffret-elis-sense-peugeot-3253"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pr&eacute;sentation dans un &eacute;l&eacute;gant coffret.</li>\n
          <li>Contient 2 recharges (poivre et sel) et 1 support de table.</li>\n
          <li>Derni&egrave;re g&eacute;n&eacute;ration moulin &eacute;lectrique PEUGEOT.</li>\n
          </ul></div><h1>Description coffret Elis Sense PEUGEOT</h1><div class="col is-12">Le coffret moulin Elis Sense PEUGEOT comprend 2 moulins électriques Elis Sense PEUGEOT et 2 recharges (poivre et sel) et 1 présentoir de table.</div><h1>Caractéristiques moulin électrique PEUGEOT Sense</h1><div class="col is-12">Corps inox.. Fonctionne avec 6 piles 1.5 v fournie. Mécanisme USELECT (préréglage de la mouture à plusieurs positions) garanti à vie. Hauteur 20 cm. LED lumineuse bleutée. Livré avec coupelle carrée et 1 fiole de sel ou poivre avec entonnoir intégré.</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 {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8544 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28823
  +product: App\Entity\Product\Product {#8541
    #id: 3082
    #code: "coffret-elis-sense-peugeot-3253"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632751 {#8539
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8540
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8557 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8558
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8541}
        #id: 3082
        #name: "Coffret Elis Sense PEUGEOT"
        #slug: "coffret-elis-sense-peugeot-3253"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pr&eacute;sentation dans un &eacute;l&eacute;gant coffret.</li>\n
          <li>Contient 2 recharges (poivre et sel) et 1 support de table.</li>\n
          <li>Derni&egrave;re g&eacute;n&eacute;ration moulin &eacute;lectrique PEUGEOT.</li>\n
          </ul></div><h1>Description coffret Elis Sense PEUGEOT</h1><div class="col is-12">Le coffret moulin Elis Sense PEUGEOT comprend 2 moulins électriques Elis Sense PEUGEOT et 2 recharges (poivre et sel) et 1 présentoir de table.</div><h1>Caractéristiques moulin électrique PEUGEOT Sense</h1><div class="col is-12">Corps inox.. Fonctionne avec 6 piles 1.5 v fournie. Mécanisme USELECT (préréglage de la mouture à plusieurs positions) garanti à vie. Hauteur 20 cm. LED lumineuse bleutée. Livré avec coupelle carrée et 1 fiole de sel ou poivre avec entonnoir intégré.</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 {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8544 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29095 …}
  +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 {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.91 ms
Input props
[
  "product" => App\Entity\Product\Product {#8541
    #id: 3082
    #code: "coffret-elis-sense-peugeot-3253"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632751 {#8539
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8540
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8557 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8558
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8541}
        #id: 3082
        #name: "Coffret Elis Sense PEUGEOT"
        #slug: "coffret-elis-sense-peugeot-3253"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pr&eacute;sentation dans un &eacute;l&eacute;gant coffret.</li>\n
          <li>Contient 2 recharges (poivre et sel) et 1 support de table.</li>\n
          <li>Derni&egrave;re g&eacute;n&eacute;ration moulin &eacute;lectrique PEUGEOT.</li>\n
          </ul></div><h1>Description coffret Elis Sense PEUGEOT</h1><div class="col is-12">Le coffret moulin Elis Sense PEUGEOT comprend 2 moulins électriques Elis Sense PEUGEOT et 2 recharges (poivre et sel) et 1 présentoir de table.</div><h1>Caractéristiques moulin électrique PEUGEOT Sense</h1><div class="col is-12">Corps inox.. Fonctionne avec 6 piles 1.5 v fournie. Mécanisme USELECT (préréglage de la mouture à plusieurs positions) garanti à vie. Hauteur 20 cm. LED lumineuse bleutée. Livré avec coupelle carrée et 1 fiole de sel ou poivre avec entonnoir intégré.</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 {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8544 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Coffret Elis Sense PEUGEOT"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29169
  -props: [
    "product" => App\Entity\Product\Product {#8541
      #id: 3082
      #code: "coffret-elis-sense-peugeot-3253"
      #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
      #variants: Doctrine\ORM\PersistentCollection {#8550 …}
      #options: Doctrine\ORM\PersistentCollection {#8554 …}
      #associations: Doctrine\ORM\PersistentCollection {#8552 …}
      #createdAt: DateTime @1758632751 {#8539
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632751 {#8540
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8557 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8558
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8541}
          #id: 3082
          #name: "Coffret Elis Sense PEUGEOT"
          #slug: "coffret-elis-sense-peugeot-3253"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Pr&eacute;sentation dans un &eacute;l&eacute;gant coffret.</li>\n
            <li>Contient 2 recharges (poivre et sel) et 1 support de table.</li>\n
            <li>Derni&egrave;re g&eacute;n&eacute;ration moulin &eacute;lectrique PEUGEOT.</li>\n
            </ul></div><h1>Description coffret Elis Sense PEUGEOT</h1><div class="col is-12">Le coffret moulin Elis Sense PEUGEOT comprend 2 moulins électriques Elis Sense PEUGEOT et 2 recharges (poivre et sel) et 1 présentoir de table.</div><h1>Caractéristiques moulin électrique PEUGEOT Sense</h1><div class="col is-12">Corps inox.. Fonctionne avec 6 piles 1.5 v fournie. Mécanisme USELECT (préréglage de la mouture à plusieurs positions) garanti à vie. Hauteur 20 cm. LED lumineuse bleutée. Livré avec coupelle carrée et 1 fiole de sel ou poivre avec entonnoir intégré.</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 {#8560 …}
      #channels: Doctrine\ORM\PersistentCollection {#8546 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8544 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.77 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29162
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29153 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29226 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29150 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29095 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29103
    #collection: Doctrine\Common\Collections\ArrayCollection {#29115 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29091 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38532 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38534 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29162
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29153 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29226 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29150 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Coffret Elis Sense PEUGEOT"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29103
    #collection: Doctrine\Common\Collections\ArrayCollection {#29115 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29091 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38532 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38534 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29230
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29162
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29153 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29226 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29150 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29095 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29103
      #collection: Doctrine\Common\Collections\ArrayCollection {#29115 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29091 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38532 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38534 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29280
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29271 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29278 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29279 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29095 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29283
  +variant: App\Entity\Product\ProductVariant {#29095 …}
  +price: "162,00\u{A0}"
  +originalPrice: "189,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29280
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29271 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29278 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29279 …}
    +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 112.0 MiB 5.67 ms
Input props
[
  "product" => App\Entity\Product\Product {#8564
    #id: 3083
    #code: "moulin-electrique-peugeot-alaska-3509"
    #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
    #variants: Doctrine\ORM\PersistentCollection {#8573 …}
    #options: Doctrine\ORM\PersistentCollection {#8577 …}
    #associations: Doctrine\ORM\PersistentCollection {#8575 …}
    #createdAt: DateTime @1758632751 {#8562
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8563
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8580 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8581
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8564}
        #id: 3083
        #name: "Moulin électrique Peugeot Alaska"
        #slug: "moulin-electrique-peugeot-alaska-3509"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme &eacute;pur&eacute;e tr&egrave;s design.</li>\n
          <li>Fonctionne d'une seule main.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
          </ul></div><h1>Description moulin électrique Peugeot Alaska</h1><div class="col is-12">Gr&acirc;ce &agrave; son moteur &eacute;lectrique, le moulin Alaska PEUGEOT s'utilise d'une seule main. <span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; text-align: left; background-color: #fafafa;">Son design &eacute;pur&eacute; s'accorde &agrave; tous les styles de cuisine.</span></div><h1>Caractéristiques moulin électrique Peugeot Alaska</h1><div class="col is-12"><p>Mati&egrave;re : Polycarbonate. Dimensions : Hauteur : 17 cm, Diam&egrave;tre : 5.5 cm. Coloris : blanc. Mouture r&eacute;glable. Eclairage pour un dosage pr&eacute;cis. Livr&eacute; avec 6 piles et 1 ampoule de rechange. M&eacute;canisme garanti &agrave; vie. Moteur &eacute;lectrique garanti 2 ans.</p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
    #channels: Doctrine\ORM\PersistentCollection {#8569 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8567 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29160
  +product: App\Entity\Product\Product {#8564
    #id: 3083
    #code: "moulin-electrique-peugeot-alaska-3509"
    #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
    #variants: Doctrine\ORM\PersistentCollection {#8573 …}
    #options: Doctrine\ORM\PersistentCollection {#8577 …}
    #associations: Doctrine\ORM\PersistentCollection {#8575 …}
    #createdAt: DateTime @1758632751 {#8562
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8563
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8580 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8581
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8564}
        #id: 3083
        #name: "Moulin électrique Peugeot Alaska"
        #slug: "moulin-electrique-peugeot-alaska-3509"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme &eacute;pur&eacute;e tr&egrave;s design.</li>\n
          <li>Fonctionne d'une seule main.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
          </ul></div><h1>Description moulin électrique Peugeot Alaska</h1><div class="col is-12">Gr&acirc;ce &agrave; son moteur &eacute;lectrique, le moulin Alaska PEUGEOT s'utilise d'une seule main. <span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; text-align: left; background-color: #fafafa;">Son design &eacute;pur&eacute; s'accorde &agrave; tous les styles de cuisine.</span></div><h1>Caractéristiques moulin électrique Peugeot Alaska</h1><div class="col is-12"><p>Mati&egrave;re : Polycarbonate. Dimensions : Hauteur : 17 cm, Diam&egrave;tre : 5.5 cm. Coloris : blanc. Mouture r&eacute;glable. Eclairage pour un dosage pr&eacute;cis. Livr&eacute; avec 6 piles et 1 ampoule de rechange. M&eacute;canisme garanti &agrave; vie. Moteur &eacute;lectrique garanti 2 ans.</p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
    #channels: Doctrine\ORM\PersistentCollection {#8569 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8567 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29346 …}
  +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 {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.99 ms
Input props
[
  "product" => App\Entity\Product\Product {#8564
    #id: 3083
    #code: "moulin-electrique-peugeot-alaska-3509"
    #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
    #variants: Doctrine\ORM\PersistentCollection {#8573 …}
    #options: Doctrine\ORM\PersistentCollection {#8577 …}
    #associations: Doctrine\ORM\PersistentCollection {#8575 …}
    #createdAt: DateTime @1758632751 {#8562
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8563
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8580 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8581
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8564}
        #id: 3083
        #name: "Moulin électrique Peugeot Alaska"
        #slug: "moulin-electrique-peugeot-alaska-3509"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme &eacute;pur&eacute;e tr&egrave;s design.</li>\n
          <li>Fonctionne d'une seule main.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
          </ul></div><h1>Description moulin électrique Peugeot Alaska</h1><div class="col is-12">Gr&acirc;ce &agrave; son moteur &eacute;lectrique, le moulin Alaska PEUGEOT s'utilise d'une seule main. <span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; text-align: left; background-color: #fafafa;">Son design &eacute;pur&eacute; s'accorde &agrave; tous les styles de cuisine.</span></div><h1>Caractéristiques moulin électrique Peugeot Alaska</h1><div class="col is-12"><p>Mati&egrave;re : Polycarbonate. Dimensions : Hauteur : 17 cm, Diam&egrave;tre : 5.5 cm. Coloris : blanc. Mouture r&eacute;glable. Eclairage pour un dosage pr&eacute;cis. Livr&eacute; avec 6 piles et 1 ampoule de rechange. M&eacute;canisme garanti &agrave; vie. Moteur &eacute;lectrique garanti 2 ans.</p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
    #channels: Doctrine\ORM\PersistentCollection {#8569 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8567 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin électrique Peugeot Alaska"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29417
  -props: [
    "product" => App\Entity\Product\Product {#8564
      #id: 3083
      #code: "moulin-electrique-peugeot-alaska-3509"
      #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
      #variants: Doctrine\ORM\PersistentCollection {#8573 …}
      #options: Doctrine\ORM\PersistentCollection {#8577 …}
      #associations: Doctrine\ORM\PersistentCollection {#8575 …}
      #createdAt: DateTime @1758632751 {#8562
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632751 {#8563
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8580 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8581
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8564}
          #id: 3083
          #name: "Moulin électrique Peugeot Alaska"
          #slug: "moulin-electrique-peugeot-alaska-3509"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Forme &eacute;pur&eacute;e tr&egrave;s design.</li>\n
            <li>Fonctionne d'une seule main.</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.&nbsp;</li>\n
            </ul></div><h1>Description moulin électrique Peugeot Alaska</h1><div class="col is-12">Gr&acirc;ce &agrave; son moteur &eacute;lectrique, le moulin Alaska PEUGEOT s'utilise d'une seule main. <span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; text-align: left; background-color: #fafafa;">Son design &eacute;pur&eacute; s'accorde &agrave; tous les styles de cuisine.</span></div><h1>Caractéristiques moulin électrique Peugeot Alaska</h1><div class="col is-12"><p>Mati&egrave;re : Polycarbonate. Dimensions : Hauteur : 17 cm, Diam&egrave;tre : 5.5 cm. Coloris : blanc. Mouture r&eacute;glable. Eclairage pour un dosage pr&eacute;cis. Livr&eacute; avec 6 piles et 1 ampoule de rechange. M&eacute;canisme garanti &agrave; vie. Moteur &eacute;lectrique garanti 2 ans.</p></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
      #channels: Doctrine\ORM\PersistentCollection {#8569 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8567 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.81 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29496
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29401 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29474 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29398 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29346 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29354
    #collection: Doctrine\Common\Collections\ArrayCollection {#29363 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29342 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38546 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38548 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29496
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29401 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29474 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29398 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin électrique Peugeot Alaska"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29354
    #collection: Doctrine\Common\Collections\ArrayCollection {#29363 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29342 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38546 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38548 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29499
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29496
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29401 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29474 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29398 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29346 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29354
      #collection: Doctrine\Common\Collections\ArrayCollection {#29363 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29342 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38546 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38548 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29550
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29541 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29548 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29549 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29346 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29553
  +variant: App\Entity\Product\ProductVariant {#29346 …}
  +price: "101,00\u{A0}"
  +originalPrice: "112,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29550
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29541 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29548 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29549 …}
    +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 112.0 MiB 5.27 ms
Input props
[
  "product" => App\Entity\Product\Product {#8587
    #id: 3084
    #code: "moulin-peugeot-electrique-alaska-quartz-4388"
    #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
    #variants: Doctrine\ORM\PersistentCollection {#8596 …}
    #options: Doctrine\ORM\PersistentCollection {#8600 …}
    #associations: Doctrine\ORM\PersistentCollection {#8598 …}
    #createdAt: DateTime @1758632751 {#8585
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8586
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8603 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8604
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8587}
        #id: 3084
        #name: "Moulin Peugeot électrique Alaska Quartz"
        #slug: "moulin-peugeot-electrique-alaska-quartz-4388"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme &eacute;pur&eacute;e tr&egrave;s design.</li>\n
          <li>Fonctionne d'une seule main.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
          </ul></div><h1>Description Moulin Peugeot électrique Alaska Quartz</h1><div class="col is-12">Gr&acirc;ce &agrave; son moteur &eacute;lectrique, le moulin Alaska PEUGEOT Quartz s'utilise d'une seule main.&nbsp;<span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Son design &eacute;pur&eacute; et tendance s'accorde &agrave; tous les styles de cuisine.</span></div><h1>Caractéristiques Moulin Peugeot électrique Alaska Quartz</h1><div class="col is-12">Mati&egrave;re : Polycarbonate. Dimensions : Hauteur : 17 cm, Diam&egrave;tre : 5.5 cm. Mouture r&eacute;glable. Eclairage pour un dosage pr&eacute;cis. Livr&eacute; avec 6 piles et 1 ampoule de rechange. M&eacute;canisme garanti &agrave; vie. Moteur &eacute;lectrique garanti 2 ans.</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 {#8606 …}
    #channels: Doctrine\ORM\PersistentCollection {#8592 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8590 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29408
  +product: App\Entity\Product\Product {#8587
    #id: 3084
    #code: "moulin-peugeot-electrique-alaska-quartz-4388"
    #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
    #variants: Doctrine\ORM\PersistentCollection {#8596 …}
    #options: Doctrine\ORM\PersistentCollection {#8600 …}
    #associations: Doctrine\ORM\PersistentCollection {#8598 …}
    #createdAt: DateTime @1758632751 {#8585
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8586
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8603 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8604
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8587}
        #id: 3084
        #name: "Moulin Peugeot électrique Alaska Quartz"
        #slug: "moulin-peugeot-electrique-alaska-quartz-4388"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme &eacute;pur&eacute;e tr&egrave;s design.</li>\n
          <li>Fonctionne d'une seule main.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
          </ul></div><h1>Description Moulin Peugeot électrique Alaska Quartz</h1><div class="col is-12">Gr&acirc;ce &agrave; son moteur &eacute;lectrique, le moulin Alaska PEUGEOT Quartz s'utilise d'une seule main.&nbsp;<span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Son design &eacute;pur&eacute; et tendance s'accorde &agrave; tous les styles de cuisine.</span></div><h1>Caractéristiques Moulin Peugeot électrique Alaska Quartz</h1><div class="col is-12">Mati&egrave;re : Polycarbonate. Dimensions : Hauteur : 17 cm, Diam&egrave;tre : 5.5 cm. Mouture r&eacute;glable. Eclairage pour un dosage pr&eacute;cis. Livr&eacute; avec 6 piles et 1 ampoule de rechange. M&eacute;canisme garanti &agrave; vie. Moteur &eacute;lectrique garanti 2 ans.</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 {#8606 …}
    #channels: Doctrine\ORM\PersistentCollection {#8592 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8590 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29616 …}
  +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 {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.78 ms
Input props
[
  "product" => App\Entity\Product\Product {#8587
    #id: 3084
    #code: "moulin-peugeot-electrique-alaska-quartz-4388"
    #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
    #variants: Doctrine\ORM\PersistentCollection {#8596 …}
    #options: Doctrine\ORM\PersistentCollection {#8600 …}
    #associations: Doctrine\ORM\PersistentCollection {#8598 …}
    #createdAt: DateTime @1758632751 {#8585
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632751 {#8586
      date: 2025-09-23 21:05:51.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8603 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8604
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8587}
        #id: 3084
        #name: "Moulin Peugeot électrique Alaska Quartz"
        #slug: "moulin-peugeot-electrique-alaska-quartz-4388"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme &eacute;pur&eacute;e tr&egrave;s design.</li>\n
          <li>Fonctionne d'une seule main.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
          </ul></div><h1>Description Moulin Peugeot électrique Alaska Quartz</h1><div class="col is-12">Gr&acirc;ce &agrave; son moteur &eacute;lectrique, le moulin Alaska PEUGEOT Quartz s'utilise d'une seule main.&nbsp;<span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Son design &eacute;pur&eacute; et tendance s'accorde &agrave; tous les styles de cuisine.</span></div><h1>Caractéristiques Moulin Peugeot électrique Alaska Quartz</h1><div class="col is-12">Mati&egrave;re : Polycarbonate. Dimensions : Hauteur : 17 cm, Diam&egrave;tre : 5.5 cm. Mouture r&eacute;glable. Eclairage pour un dosage pr&eacute;cis. Livr&eacute; avec 6 piles et 1 ampoule de rechange. M&eacute;canisme garanti &agrave; vie. Moteur &eacute;lectrique garanti 2 ans.</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 {#8606 …}
    #channels: Doctrine\ORM\PersistentCollection {#8592 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8590 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot électrique Alaska Quartz"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29687
  -props: [
    "product" => App\Entity\Product\Product {#8587
      #id: 3084
      #code: "moulin-peugeot-electrique-alaska-quartz-4388"
      #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
      #variants: Doctrine\ORM\PersistentCollection {#8596 …}
      #options: Doctrine\ORM\PersistentCollection {#8600 …}
      #associations: Doctrine\ORM\PersistentCollection {#8598 …}
      #createdAt: DateTime @1758632751 {#8585
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632751 {#8586
        date: 2025-09-23 21:05:51.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8603 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8604
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8587}
          #id: 3084
          #name: "Moulin Peugeot électrique Alaska Quartz"
          #slug: "moulin-peugeot-electrique-alaska-quartz-4388"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Forme &eacute;pur&eacute;e tr&egrave;s design.</li>\n
            <li>Fonctionne d'une seule main.</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            </ul>\n
            <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
            </ul></div><h1>Description Moulin Peugeot électrique Alaska Quartz</h1><div class="col is-12">Gr&acirc;ce &agrave; son moteur &eacute;lectrique, le moulin Alaska PEUGEOT Quartz s'utilise d'une seule main.&nbsp;<span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Son design &eacute;pur&eacute; et tendance s'accorde &agrave; tous les styles de cuisine.</span></div><h1>Caractéristiques Moulin Peugeot électrique Alaska Quartz</h1><div class="col is-12">Mati&egrave;re : Polycarbonate. Dimensions : Hauteur : 17 cm, Diam&egrave;tre : 5.5 cm. Mouture r&eacute;glable. Eclairage pour un dosage pr&eacute;cis. Livr&eacute; avec 6 piles et 1 ampoule de rechange. M&eacute;canisme garanti &agrave; vie. Moteur &eacute;lectrique garanti 2 ans.</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 {#8606 …}
      #channels: Doctrine\ORM\PersistentCollection {#8592 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8590 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.74 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29763
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29671 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29741 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29668 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29616 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29624
    #collection: Doctrine\Common\Collections\ArrayCollection {#29633 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29612 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38560 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38562 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29763
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29671 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29741 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29668 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot électrique Alaska Quartz"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29624
    #collection: Doctrine\Common\Collections\ArrayCollection {#29633 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29612 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38560 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38562 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29766
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29763
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29671 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29741 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29668 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29616 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29624
      #collection: Doctrine\Common\Collections\ArrayCollection {#29633 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29612 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38560 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38562 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.16 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29817
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29808 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29815 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29816 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29616 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29820
  +variant: App\Entity\Product\ProductVariant {#29616 …}
  +price: "101,00\u{A0}"
  +originalPrice: "112,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29817
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29808 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29815 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29816 …}
    +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 112.0 MiB 5.33 ms
Input props
[
  "product" => App\Entity\Product\Product {#8610
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
    #variants: Doctrine\ORM\PersistentCollection {#8619 …}
    #options: Doctrine\ORM\PersistentCollection {#8623 …}
    #associations: Doctrine\ORM\PersistentCollection {#8621 …}
    #createdAt: DateTime @1758632754 {#8608
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8609
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8626 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8627
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8610}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
    #channels: Doctrine\ORM\PersistentCollection {#8615 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8613 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29678
  +product: App\Entity\Product\Product {#8610
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
    #variants: Doctrine\ORM\PersistentCollection {#8619 …}
    #options: Doctrine\ORM\PersistentCollection {#8623 …}
    #associations: Doctrine\ORM\PersistentCollection {#8621 …}
    #createdAt: DateTime @1758632754 {#8608
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8609
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8626 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8627
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8610}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
    #channels: Doctrine\ORM\PersistentCollection {#8615 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8613 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29883 …}
  +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 {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.94 ms
Input props
[
  "product" => App\Entity\Product\Product {#8610
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
    #variants: Doctrine\ORM\PersistentCollection {#8619 …}
    #options: Doctrine\ORM\PersistentCollection {#8623 …}
    #associations: Doctrine\ORM\PersistentCollection {#8621 …}
    #createdAt: DateTime @1758632754 {#8608
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8609
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8626 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8627
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8610}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
    #channels: Doctrine\ORM\PersistentCollection {#8615 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8613 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin à poivre Peugeot Roellinger"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29954
  -props: [
    "product" => App\Entity\Product\Product {#8610
      #id: 3098
      #code: "moulin-a-poivre-peugeot-roellinger-2111"
      #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
      #variants: Doctrine\ORM\PersistentCollection {#8619 …}
      #options: Doctrine\ORM\PersistentCollection {#8623 …}
      #associations: Doctrine\ORM\PersistentCollection {#8621 …}
      #createdAt: DateTime @1758632754 {#8608
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#8609
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8626 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8627
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8610}
          #id: 3098
          #name: "Moulin à poivre Peugeot Roellinger"
          #slug: "moulin-a-poivre-peugeot-roellinger-2111"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie. </li>\n
            <li>Corp en bois verni. </li>\n
            <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
      #channels: Doctrine\ORM\PersistentCollection {#8615 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8613 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.76 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30028
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29938 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30014 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29935 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29883 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29891
    #collection: Doctrine\Common\Collections\ArrayCollection {#29900 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29879 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38574 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38576 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30028
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29938 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30014 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29935 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin à poivre Peugeot Roellinger"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29891
    #collection: Doctrine\Common\Collections\ArrayCollection {#29900 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29879 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38574 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38576 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30033
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30028
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29938 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30014 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29935 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29883 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29891
      #collection: Doctrine\Common\Collections\ArrayCollection {#29900 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29879 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38574 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38576 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30082
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30073 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30080 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30081 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29883 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30085
  +variant: App\Entity\Product\ProductVariant {#29883 …}
  +price: "67,00\u{A0}"
  +originalPrice: "74,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30082
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30073 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30080 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30081 …}
    +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 112.0 MiB 5.99 ms
Input props
[
  "product" => App\Entity\Product\Product {#8633
    #id: 3099
    #code: "moulin-peugeot-madras-chocolat-4377"
    #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
    #variants: Doctrine\ORM\PersistentCollection {#8642 …}
    #options: Doctrine\ORM\PersistentCollection {#8646 …}
    #associations: Doctrine\ORM\PersistentCollection {#8644 …}
    #createdAt: DateTime @1758632754 {#8631
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8632
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8649 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8650
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8633}
        #id: 3099
        #name: "Moulin Peugeot Madras Chocolat"
        #slug: "moulin-peugeot-madras-chocolat-4377"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li>Pas d'axe central, remplissage plus facile.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Madras Chocolat</h1><div class="col is-12">Le moulin Peugeot Madras b&eacute;n&eacute;ficie d'une innovation majeure et pourtant invisible puisqu'il n'a plus d'axe central. Cela permet un remplissage des &eacute;pices bien plus facile. Il se ferme par un bouchon aimant&eacute;, plus besoin de vis ! Il b&eacute;n&eacute;ficie en outre du m&eacute;canisme U'select avec choix de la grosseur de mouture pr&eacute;r&eacute;gl&eacute;.</div><h1>Caractéristiques Moulin Peugeot Madras Chocolat</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Syst&egrave;me U'Select. Corps bois. Fermeture par bouchon aimant&eacute;. Pas d'axe central. Corps garantis 5 ans.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
    #channels: Doctrine\ORM\PersistentCollection {#8638 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8636 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29945
  +product: App\Entity\Product\Product {#8633
    #id: 3099
    #code: "moulin-peugeot-madras-chocolat-4377"
    #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
    #variants: Doctrine\ORM\PersistentCollection {#8642 …}
    #options: Doctrine\ORM\PersistentCollection {#8646 …}
    #associations: Doctrine\ORM\PersistentCollection {#8644 …}
    #createdAt: DateTime @1758632754 {#8631
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8632
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8649 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8650
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8633}
        #id: 3099
        #name: "Moulin Peugeot Madras Chocolat"
        #slug: "moulin-peugeot-madras-chocolat-4377"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li>Pas d'axe central, remplissage plus facile.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Madras Chocolat</h1><div class="col is-12">Le moulin Peugeot Madras b&eacute;n&eacute;ficie d'une innovation majeure et pourtant invisible puisqu'il n'a plus d'axe central. Cela permet un remplissage des &eacute;pices bien plus facile. Il se ferme par un bouchon aimant&eacute;, plus besoin de vis ! Il b&eacute;n&eacute;ficie en outre du m&eacute;canisme U'select avec choix de la grosseur de mouture pr&eacute;r&eacute;gl&eacute;.</div><h1>Caractéristiques Moulin Peugeot Madras Chocolat</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Syst&egrave;me U'Select. Corps bois. Fermeture par bouchon aimant&eacute;. Pas d'axe central. Corps garantis 5 ans.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
    #channels: Doctrine\ORM\PersistentCollection {#8638 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8636 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30148 …}
  +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 {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.95 ms
Input props
[
  "product" => App\Entity\Product\Product {#8633
    #id: 3099
    #code: "moulin-peugeot-madras-chocolat-4377"
    #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
    #variants: Doctrine\ORM\PersistentCollection {#8642 …}
    #options: Doctrine\ORM\PersistentCollection {#8646 …}
    #associations: Doctrine\ORM\PersistentCollection {#8644 …}
    #createdAt: DateTime @1758632754 {#8631
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8632
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8649 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8650
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8633}
        #id: 3099
        #name: "Moulin Peugeot Madras Chocolat"
        #slug: "moulin-peugeot-madras-chocolat-4377"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li>Pas d'axe central, remplissage plus facile.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Madras Chocolat</h1><div class="col is-12">Le moulin Peugeot Madras b&eacute;n&eacute;ficie d'une innovation majeure et pourtant invisible puisqu'il n'a plus d'axe central. Cela permet un remplissage des &eacute;pices bien plus facile. Il se ferme par un bouchon aimant&eacute;, plus besoin de vis ! Il b&eacute;n&eacute;ficie en outre du m&eacute;canisme U'select avec choix de la grosseur de mouture pr&eacute;r&eacute;gl&eacute;.</div><h1>Caractéristiques Moulin Peugeot Madras Chocolat</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Syst&egrave;me U'Select. Corps bois. Fermeture par bouchon aimant&eacute;. Pas d'axe central. Corps garantis 5 ans.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
    #channels: Doctrine\ORM\PersistentCollection {#8638 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8636 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Madras Chocolat"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30219
  -props: [
    "product" => App\Entity\Product\Product {#8633
      #id: 3099
      #code: "moulin-peugeot-madras-chocolat-4377"
      #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
      #variants: Doctrine\ORM\PersistentCollection {#8642 …}
      #options: Doctrine\ORM\PersistentCollection {#8646 …}
      #associations: Doctrine\ORM\PersistentCollection {#8644 …}
      #createdAt: DateTime @1758632754 {#8631
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#8632
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8649 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8650
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8633}
          #id: 3099
          #name: "Moulin Peugeot Madras Chocolat"
          #slug: "moulin-peugeot-madras-chocolat-4377"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Syst&egrave;me U'Select.</li>\n
            <li>Pas d'axe central, remplissage plus facile.</li>\n
            <li>M&eacute;canismes garantis &agrave; vie.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Description Moulin Peugeot Madras Chocolat</h1><div class="col is-12">Le moulin Peugeot Madras b&eacute;n&eacute;ficie d'une innovation majeure et pourtant invisible puisqu'il n'a plus d'axe central. Cela permet un remplissage des &eacute;pices bien plus facile. Il se ferme par un bouchon aimant&eacute;, plus besoin de vis ! Il b&eacute;n&eacute;ficie en outre du m&eacute;canisme U'select avec choix de la grosseur de mouture pr&eacute;r&eacute;gl&eacute;.</div><h1>Caractéristiques Moulin Peugeot Madras Chocolat</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Syst&egrave;me U'Select. Corps bois. Fermeture par bouchon aimant&eacute;. Pas d'axe central. Corps garantis 5 ans.&nbsp;</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
      #channels: Doctrine\ORM\PersistentCollection {#8638 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8636 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.79 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30323
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30203 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30276 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30200 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30148 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30156
    #collection: Doctrine\Common\Collections\ArrayCollection {#30165 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30144 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38588 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38590 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30323
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30203 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30276 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30200 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Madras Chocolat"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30156
    #collection: Doctrine\Common\Collections\ArrayCollection {#30165 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30144 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38588 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38590 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30327
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30323
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30203 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30276 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30200 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30148 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30156
      #collection: Doctrine\Common\Collections\ArrayCollection {#30165 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30144 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38588 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38590 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.16 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30377
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30375 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30376 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30148 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30380
  +variant: App\Entity\Product\ProductVariant {#30148 …}
  +price: "58,00\u{A0}"
  +originalPrice: "64,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30377
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30368 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30375 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30376 …}
    +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 112.0 MiB 6.41 ms
Input props
[
  "product" => App\Entity\Product\Product {#8656
    #id: 3107
    #code: "moulin-peugeot-daman-2011"
    #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
    #variants: Doctrine\ORM\PersistentCollection {#8665 …}
    #options: Doctrine\ORM\PersistentCollection {#8669 …}
    #associations: Doctrine\ORM\PersistentCollection {#8667 …}
    #createdAt: DateTime @1758632755 {#8654
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8655
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8672 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8673
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8656}
        #id: 3107
        #name: "Moulin Peugeot Daman"
        #slug: "moulin-peugeot-daman-2011"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Syst&egrave;me&nbsp;USELECT. </li>\n
          <li>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
          </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles<br /><a href="&lt;/body"></a></p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8675 …}
    #channels: Doctrine\ORM\PersistentCollection {#8661 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8659 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30210
  +product: App\Entity\Product\Product {#8656
    #id: 3107
    #code: "moulin-peugeot-daman-2011"
    #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
    #variants: Doctrine\ORM\PersistentCollection {#8665 …}
    #options: Doctrine\ORM\PersistentCollection {#8669 …}
    #associations: Doctrine\ORM\PersistentCollection {#8667 …}
    #createdAt: DateTime @1758632755 {#8654
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8655
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8672 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8673
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8656}
        #id: 3107
        #name: "Moulin Peugeot Daman"
        #slug: "moulin-peugeot-daman-2011"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Syst&egrave;me&nbsp;USELECT. </li>\n
          <li>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
          </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles<br /><a href="&lt;/body"></a></p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8675 …}
    #channels: Doctrine\ORM\PersistentCollection {#8661 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8659 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30443 …}
  +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 {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 1.04 ms
Input props
[
  "product" => App\Entity\Product\Product {#8656
    #id: 3107
    #code: "moulin-peugeot-daman-2011"
    #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
    #variants: Doctrine\ORM\PersistentCollection {#8665 …}
    #options: Doctrine\ORM\PersistentCollection {#8669 …}
    #associations: Doctrine\ORM\PersistentCollection {#8667 …}
    #createdAt: DateTime @1758632755 {#8654
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8655
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8672 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8673
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8656}
        #id: 3107
        #name: "Moulin Peugeot Daman"
        #slug: "moulin-peugeot-daman-2011"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Syst&egrave;me&nbsp;USELECT. </li>\n
          <li>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
          </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles<br /><a href="&lt;/body"></a></p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8675 …}
    #channels: Doctrine\ORM\PersistentCollection {#8661 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8659 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Daman"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30514
  -props: [
    "product" => App\Entity\Product\Product {#8656
      #id: 3107
      #code: "moulin-peugeot-daman-2011"
      #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
      #variants: Doctrine\ORM\PersistentCollection {#8665 …}
      #options: Doctrine\ORM\PersistentCollection {#8669 …}
      #associations: Doctrine\ORM\PersistentCollection {#8667 …}
      #createdAt: DateTime @1758632755 {#8654
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632755 {#8655
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8672 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8673
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8656}
          #id: 3107
          #name: "Moulin Peugeot Daman"
          #slug: "moulin-peugeot-daman-2011"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie. </li>\n
            <li>Syst&egrave;me&nbsp;USELECT. </li>\n
            <li>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
            </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles<br /><a href="&lt;/body"></a></p></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8675 …}
      #channels: Doctrine\ORM\PersistentCollection {#8661 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8659 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.83 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30629
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30498 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30574 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30495 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30443 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30451
    #collection: Doctrine\Common\Collections\ArrayCollection {#30460 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30439 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38602 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38604 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30629
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30498 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30574 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30495 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Daman"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30451
    #collection: Doctrine\Common\Collections\ArrayCollection {#30460 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30439 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38602 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38604 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30634
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30629
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30498 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30574 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30495 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30443 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30451
      #collection: Doctrine\Common\Collections\ArrayCollection {#30460 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30439 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38602 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38604 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30683
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30674 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30681 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30682 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30443 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30686
  +variant: App\Entity\Product\ProductVariant {#30443 …}
  +price: "92,00\u{A0}"
  +originalPrice: "109,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30683
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30674 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30681 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30682 …}
    +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 112.0 MiB 5.25 ms
Input props
[
  "product" => App\Entity\Product\Product {#8679
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
    #variants: Doctrine\ORM\PersistentCollection {#8688 …}
    #options: Doctrine\ORM\PersistentCollection {#4833 …}
    #associations: Doctrine\ORM\PersistentCollection {#8690 …}
    #createdAt: DateTime @1758632755 {#8677
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8678
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4838 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4829
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8679}
        #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 {#4840 …}
    #channels: Doctrine\ORM\PersistentCollection {#8684 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8682 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30505
  +product: App\Entity\Product\Product {#8679
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
    #variants: Doctrine\ORM\PersistentCollection {#8688 …}
    #options: Doctrine\ORM\PersistentCollection {#4833 …}
    #associations: Doctrine\ORM\PersistentCollection {#8690 …}
    #createdAt: DateTime @1758632755 {#8677
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8678
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4838 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4829
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8679}
        #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 {#4840 …}
    #channels: Doctrine\ORM\PersistentCollection {#8684 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8682 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30749 …}
  +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 {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.88 ms
Input props
[
  "product" => App\Entity\Product\Product {#8679
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
    #variants: Doctrine\ORM\PersistentCollection {#8688 …}
    #options: Doctrine\ORM\PersistentCollection {#4833 …}
    #associations: Doctrine\ORM\PersistentCollection {#8690 …}
    #createdAt: DateTime @1758632755 {#8677
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8678
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4838 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4829
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8679}
        #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 {#4840 …}
    #channels: Doctrine\ORM\PersistentCollection {#8684 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8682 …}
    #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 {#30820
  -props: [
    "product" => App\Entity\Product\Product {#8679
      #id: 3108
      #code: "moulin-peugeot-ouessant-4362"
      #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
      #variants: Doctrine\ORM\PersistentCollection {#8688 …}
      #options: Doctrine\ORM\PersistentCollection {#4833 …}
      #associations: Doctrine\ORM\PersistentCollection {#8690 …}
      #createdAt: DateTime @1758632755 {#8677
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632755 {#8678
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#4838 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#4829
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8679}
          #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 {#4840 …}
      #channels: Doctrine\ORM\PersistentCollection {#8684 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8682 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.72 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30899
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30804 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30877 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30801 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30749 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30757
    #collection: Doctrine\Common\Collections\ArrayCollection {#30766 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30745 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38616 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38618 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30899
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30804 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30877 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30801 …}
    +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 {#30757
    #collection: Doctrine\Common\Collections\ArrayCollection {#30766 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30745 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38616 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38618 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30902
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30899
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30804 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30877 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30801 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30749 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30757
      #collection: Doctrine\Common\Collections\ArrayCollection {#30766 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30745 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38616 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38618 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30953
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30944 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30951 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30952 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30749 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30956
  +variant: App\Entity\Product\ProductVariant {#30749 …}
  +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 {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30953
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30944 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30951 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30952 …}
    +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 112.0 MiB 5.91 ms
Input props
[
  "product" => App\Entity\Product\Product {#4839
    #id: 3109
    #code: "moulin-peugeot-oslo-5974"
    #attributes: Doctrine\ORM\PersistentCollection {#4845 …}
    #variants: Doctrine\ORM\PersistentCollection {#4857 …}
    #options: Doctrine\ORM\PersistentCollection {#5147 …}
    #associations: Doctrine\ORM\PersistentCollection {#4844 …}
    #createdAt: DateTime @1758632755 {#4837
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#4827
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5144 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5157
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4839}
        #id: 3109
        #name: "Moulin Peugeot Oslo"
        #slug: "moulin-peugeot-oslo-5974"
        #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>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canismes poivre et sel garantis &agrave; vie.</li>\n
          <li>Existe en poivre, sel, sel humide ou combin&eacute;.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Descriptif Moulin Peugeot Oslo</h1><div class="col is-12">Le moulin Peugeot Oslo tout en transparence avec une petite pointe d'inox, marie &eacute;l&eacute;gance et efficacit&eacute;. Existe en sel, poivre ou sel humide.</div><h1>Caractéristiques Moulin Peugeot Oslo</h1><div class="col is-12">M&eacute;canismes poivre et sel 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". Hauteur 14 cm. Combin&eacute; hauteur 13 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 {#5126 …}
    #channels: Doctrine\ORM\PersistentCollection {#4848 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4830 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4850 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30811
  +product: App\Entity\Product\Product {#4839
    #id: 3109
    #code: "moulin-peugeot-oslo-5974"
    #attributes: Doctrine\ORM\PersistentCollection {#4845 …}
    #variants: Doctrine\ORM\PersistentCollection {#4857 …}
    #options: Doctrine\ORM\PersistentCollection {#5147 …}
    #associations: Doctrine\ORM\PersistentCollection {#4844 …}
    #createdAt: DateTime @1758632755 {#4837
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#4827
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5144 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5157
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4839}
        #id: 3109
        #name: "Moulin Peugeot Oslo"
        #slug: "moulin-peugeot-oslo-5974"
        #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>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canismes poivre et sel garantis &agrave; vie.</li>\n
          <li>Existe en poivre, sel, sel humide ou combin&eacute;.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Descriptif Moulin Peugeot Oslo</h1><div class="col is-12">Le moulin Peugeot Oslo tout en transparence avec une petite pointe d'inox, marie &eacute;l&eacute;gance et efficacit&eacute;. Existe en sel, poivre ou sel humide.</div><h1>Caractéristiques Moulin Peugeot Oslo</h1><div class="col is-12">M&eacute;canismes poivre et sel 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". Hauteur 14 cm. Combin&eacute; hauteur 13 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 {#5126 …}
    #channels: Doctrine\ORM\PersistentCollection {#4848 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4830 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4850 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#31019 …}
  +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 {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.99 ms
Input props
[
  "product" => App\Entity\Product\Product {#4839
    #id: 3109
    #code: "moulin-peugeot-oslo-5974"
    #attributes: Doctrine\ORM\PersistentCollection {#4845 …}
    #variants: Doctrine\ORM\PersistentCollection {#4857 …}
    #options: Doctrine\ORM\PersistentCollection {#5147 …}
    #associations: Doctrine\ORM\PersistentCollection {#4844 …}
    #createdAt: DateTime @1758632755 {#4837
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#4827
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5144 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5157
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4839}
        #id: 3109
        #name: "Moulin Peugeot Oslo"
        #slug: "moulin-peugeot-oslo-5974"
        #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>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canismes poivre et sel garantis &agrave; vie.</li>\n
          <li>Existe en poivre, sel, sel humide ou combin&eacute;.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Descriptif Moulin Peugeot Oslo</h1><div class="col is-12">Le moulin Peugeot Oslo tout en transparence avec une petite pointe d'inox, marie &eacute;l&eacute;gance et efficacit&eacute;. Existe en sel, poivre ou sel humide.</div><h1>Caractéristiques Moulin Peugeot Oslo</h1><div class="col is-12">M&eacute;canismes poivre et sel 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". Hauteur 14 cm. Combin&eacute; hauteur 13 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 {#5126 …}
    #channels: Doctrine\ORM\PersistentCollection {#4848 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4830 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4850 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Oslo"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31090
  -props: [
    "product" => App\Entity\Product\Product {#4839
      #id: 3109
      #code: "moulin-peugeot-oslo-5974"
      #attributes: Doctrine\ORM\PersistentCollection {#4845 …}
      #variants: Doctrine\ORM\PersistentCollection {#4857 …}
      #options: Doctrine\ORM\PersistentCollection {#5147 …}
      #associations: Doctrine\ORM\PersistentCollection {#4844 …}
      #createdAt: DateTime @1758632755 {#4837
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632755 {#4827
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#5144 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#5157
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#4839}
          #id: 3109
          #name: "Moulin Peugeot Oslo"
          #slug: "moulin-peugeot-oslo-5974"
          #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>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canismes poivre et sel garantis &agrave; vie.</li>\n
            <li>Existe en poivre, sel, sel humide ou combin&eacute;.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul>\n
            </div></div><h1>Descriptif Moulin Peugeot Oslo</h1><div class="col is-12">Le moulin Peugeot Oslo tout en transparence avec une petite pointe d'inox, marie &eacute;l&eacute;gance et efficacit&eacute;. Existe en sel, poivre ou sel humide.</div><h1>Caractéristiques Moulin Peugeot Oslo</h1><div class="col is-12">M&eacute;canismes poivre et sel 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". Hauteur 14 cm. Combin&eacute; hauteur 13 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 {#5126 …}
      #channels: Doctrine\ORM\PersistentCollection {#4848 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#4830 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#4850 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.74 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31205
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31074 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31150 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31071 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31019 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31027
    #collection: Doctrine\Common\Collections\ArrayCollection {#31036 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31015 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38630 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38632 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31205
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31074 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31150 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31071 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Oslo"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31027
    #collection: Doctrine\Common\Collections\ArrayCollection {#31036 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31015 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38630 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38632 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31210
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31205
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31074 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31150 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31071 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#31019 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#31027
      #collection: Doctrine\Common\Collections\ArrayCollection {#31036 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#31015 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38630 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38632 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31259
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31250 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31257 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31258 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31019 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31262
  +variant: App\Entity\Product\ProductVariant {#31019 …}
  +price: "29,00\u{A0}"
  +originalPrice: "32,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31259
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31250 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31257 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31258 …}
    +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 112.0 MiB 2.01 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27417
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12112 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27439 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12122 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31576
  +cart: App\Entity\Order\Order {#13026 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27417
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12112 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27439 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12122 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}