Components

12 Twig Components
40 Render Count
71 ms Render Time
116.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
8 44.69ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
8 7.27ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
8 6.03ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
8 1.43ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.33ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.79ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.42ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 14.71ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.92ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.69ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.64ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.15ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 116.0 MiB 1.33 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12590
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12583 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12589 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12588 …}
    +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 {#13210
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12481 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12590
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12583 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12589 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12588 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 116.0 MiB 0.79 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13287
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13283 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13285 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13286 …}
    +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 {#13296
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13287
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13283 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13285 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13286 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 116.0 MiB 4.42 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13378
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13357 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13377 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13376 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#13393
  +cart: App\Entity\Order\Order {#13460 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13378
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13357 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13377 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13376 …}
    +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 116.0 MiB 14.71 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13646
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13634 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13640 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13632 …}
    +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 {#13655
  #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 {#13646
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13634 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13640 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13632 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 116.0 MiB 0.92 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27441
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27437 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27438 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27440 …}
    +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 {#27450
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27441
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27437 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27438 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27440 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 116.0 MiB 0.69 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27554
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27550 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27551 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27553 …}
    +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 {#27562
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27554
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27550 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27551 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27553 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 116.0 MiB 1.64 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27628
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27624 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27625 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27627 …}
    +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 {#27636
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27628
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27624 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27625 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27627 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 116.0 MiB 10.19 ms
Input props
[
  "product" => App\Entity\Product\Product {#7969
    #id: 3047
    #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
    #attributes: Doctrine\ORM\PersistentCollection {#8178 …}
    #variants: Doctrine\ORM\PersistentCollection {#8401 …}
    #options: Doctrine\ORM\PersistentCollection {#8529 …}
    #associations: Doctrine\ORM\PersistentCollection {#8469 …}
    #createdAt: DateTime @1758632747 {#7659
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#7725
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8528 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8531
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7969}
        #id: 3047
        #name: "Moulin Peugeot Paris Rouge Passion U'Select"
        #slug: "moulin-peugeot-paris-rouge-passion-u-select-4340"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT.</li>\n
          <li>Corps bois laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Paris Rouge Passion U'Select</h1><div class="col is-12">Le Moulin Peugeot Paris Rouge Passion U'Select&nbsp;sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris Rouge Passion U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8534 …}
    #channels: Doctrine\ORM\PersistentCollection {#8037 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7902 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8040 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28161
  +product: App\Entity\Product\Product {#7969
    #id: 3047
    #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
    #attributes: Doctrine\ORM\PersistentCollection {#8178 …}
    #variants: Doctrine\ORM\PersistentCollection {#8401 …}
    #options: Doctrine\ORM\PersistentCollection {#8529 …}
    #associations: Doctrine\ORM\PersistentCollection {#8469 …}
    #createdAt: DateTime @1758632747 {#7659
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#7725
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8528 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8531
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7969}
        #id: 3047
        #name: "Moulin Peugeot Paris Rouge Passion U'Select"
        #slug: "moulin-peugeot-paris-rouge-passion-u-select-4340"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT.</li>\n
          <li>Corps bois laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Paris Rouge Passion U'Select</h1><div class="col is-12">Le Moulin Peugeot Paris Rouge Passion U'Select&nbsp;sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris Rouge Passion U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8534 …}
    #channels: Doctrine\ORM\PersistentCollection {#8037 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7902 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8040 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#28423 …}
  +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 {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 2.06 ms
Input props
[
  "product" => App\Entity\Product\Product {#7969
    #id: 3047
    #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
    #attributes: Doctrine\ORM\PersistentCollection {#8178 …}
    #variants: Doctrine\ORM\PersistentCollection {#8401 …}
    #options: Doctrine\ORM\PersistentCollection {#8529 …}
    #associations: Doctrine\ORM\PersistentCollection {#8469 …}
    #createdAt: DateTime @1758632747 {#7659
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#7725
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8528 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8531
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7969}
        #id: 3047
        #name: "Moulin Peugeot Paris Rouge Passion U'Select"
        #slug: "moulin-peugeot-paris-rouge-passion-u-select-4340"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT.</li>\n
          <li>Corps bois laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Paris Rouge Passion U'Select</h1><div class="col is-12">Le Moulin Peugeot Paris Rouge Passion U'Select&nbsp;sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris Rouge Passion U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8534 …}
    #channels: Doctrine\ORM\PersistentCollection {#8037 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7902 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8040 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Paris Rouge Passion U'Select"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28834
  -props: [
    "product" => App\Entity\Product\Product {#7969
      #id: 3047
      #code: "moulin-peugeot-paris-rouge-passion-u-select-4340"
      #attributes: Doctrine\ORM\PersistentCollection {#8178 …}
      #variants: Doctrine\ORM\PersistentCollection {#8401 …}
      #options: Doctrine\ORM\PersistentCollection {#8529 …}
      #associations: Doctrine\ORM\PersistentCollection {#8469 …}
      #createdAt: DateTime @1758632747 {#7659
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#7725
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8528 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8531
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#7969}
          #id: 3047
          #name: "Moulin Peugeot Paris Rouge Passion U'Select"
          #slug: "moulin-peugeot-paris-rouge-passion-u-select-4340"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Syst&egrave;me&nbsp;USELECT.</li>\n
            <li>Corps bois laqu&eacute;.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul></div><h1>Description Moulin Peugeot Paris Rouge Passion U'Select</h1><div class="col is-12">Le Moulin Peugeot Paris Rouge Passion U'Select&nbsp;sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris Rouge Passion U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8534 …}
      #channels: Doctrine\ORM\PersistentCollection {#8037 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
      #reviews: Doctrine\ORM\PersistentCollection {#7902 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8040 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 1.17 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29011
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28922 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28917 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29010 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28423 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28769
    #collection: Doctrine\Common\Collections\ArrayCollection {#28768 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28606 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38095 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38147 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29011
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28922 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28917 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29010 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Paris Rouge Passion U'Select"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28769
    #collection: Doctrine\Common\Collections\ArrayCollection {#28768 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28606 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38095 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38147 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29015
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29011
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28922 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28917 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29010 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#28423 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#28769
      #collection: Doctrine\Common\Collections\ArrayCollection {#28768 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#28606 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38095 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38147 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.38 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29083
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29073 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29081 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29082 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28423 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29092
  +variant: App\Entity\Product\ProductVariant {#28423 …}
  +price: "33,00\u{A0}"
  +originalPrice: "39,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9051 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12481 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9048 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29083
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29073 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29081 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29082 …}
    +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 116.0 MiB 4.31 ms
Input props
[
  "product" => App\Entity\Product\Product {#8543
    #id: 3048
    #code: "moulin-peugeot-baya-4353"
    #attributes: Doctrine\ORM\PersistentCollection {#8550 …}
    #variants: Doctrine\ORM\PersistentCollection {#8552 …}
    #options: Doctrine\ORM\PersistentCollection {#8556 …}
    #associations: Doctrine\ORM\PersistentCollection {#8554 …}
    #createdAt: DateTime @1758632747 {#8541
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8542
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8559 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8560
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8543}
        #id: 3048
        #name: "Moulin Peugeot Baya"
        #slug: "moulin-peugeot-baya-4353"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Baya</h1><div class="col is-12">Le moulin Peugeot Baya &agrave; la ligne tr&egrave;s &eacute;pur&eacute;e et "japonisante" vous apportera de la "z&eacute;nitude". Parfaite prise en main, m&eacute;canismes efficaces et fiables, tout pour plaire !</div><h1>Caractéristiques Moulin Peugeot Baya</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 8 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 {#8562 …}
    #channels: Doctrine\ORM\PersistentCollection {#8548 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8544 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8546 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28812
  +product: App\Entity\Product\Product {#8543
    #id: 3048
    #code: "moulin-peugeot-baya-4353"
    #attributes: Doctrine\ORM\PersistentCollection {#8550 …}
    #variants: Doctrine\ORM\PersistentCollection {#8552 …}
    #options: Doctrine\ORM\PersistentCollection {#8556 …}
    #associations: Doctrine\ORM\PersistentCollection {#8554 …}
    #createdAt: DateTime @1758632747 {#8541
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8542
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8559 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8560
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8543}
        #id: 3048
        #name: "Moulin Peugeot Baya"
        #slug: "moulin-peugeot-baya-4353"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Baya</h1><div class="col is-12">Le moulin Peugeot Baya &agrave; la ligne tr&egrave;s &eacute;pur&eacute;e et "japonisante" vous apportera de la "z&eacute;nitude". Parfaite prise en main, m&eacute;canismes efficaces et fiables, tout pour plaire !</div><h1>Caractéristiques Moulin Peugeot Baya</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 8 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 {#8562 …}
    #channels: Doctrine\ORM\PersistentCollection {#8548 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8544 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8546 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29165 …}
  +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 {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.71 ms
Input props
[
  "product" => App\Entity\Product\Product {#8543
    #id: 3048
    #code: "moulin-peugeot-baya-4353"
    #attributes: Doctrine\ORM\PersistentCollection {#8550 …}
    #variants: Doctrine\ORM\PersistentCollection {#8552 …}
    #options: Doctrine\ORM\PersistentCollection {#8556 …}
    #associations: Doctrine\ORM\PersistentCollection {#8554 …}
    #createdAt: DateTime @1758632747 {#8541
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8542
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8559 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8560
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8543}
        #id: 3048
        #name: "Moulin Peugeot Baya"
        #slug: "moulin-peugeot-baya-4353"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Baya</h1><div class="col is-12">Le moulin Peugeot Baya &agrave; la ligne tr&egrave;s &eacute;pur&eacute;e et "japonisante" vous apportera de la "z&eacute;nitude". Parfaite prise en main, m&eacute;canismes efficaces et fiables, tout pour plaire !</div><h1>Caractéristiques Moulin Peugeot Baya</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 8 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 {#8562 …}
    #channels: Doctrine\ORM\PersistentCollection {#8548 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8544 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8546 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Baya"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29239
  -props: [
    "product" => App\Entity\Product\Product {#8543
      #id: 3048
      #code: "moulin-peugeot-baya-4353"
      #attributes: Doctrine\ORM\PersistentCollection {#8550 …}
      #variants: Doctrine\ORM\PersistentCollection {#8552 …}
      #options: Doctrine\ORM\PersistentCollection {#8556 …}
      #associations: Doctrine\ORM\PersistentCollection {#8554 …}
      #createdAt: DateTime @1758632747 {#8541
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8542
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8559 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8560
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8543}
          #id: 3048
          #name: "Moulin Peugeot Baya"
          #slug: "moulin-peugeot-baya-4353"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Tr&egrave;s bonne prise en main.</li>\n
            <li>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul></div><h1>Description Moulin Peugeot Baya</h1><div class="col is-12">Le moulin Peugeot Baya &agrave; la ligne tr&egrave;s &eacute;pur&eacute;e et "japonisante" vous apportera de la "z&eacute;nitude". Parfaite prise en main, m&eacute;canismes efficaces et fiables, tout pour plaire !</div><h1>Caractéristiques Moulin Peugeot Baya</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 8 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 {#8562 …}
      #channels: Doctrine\ORM\PersistentCollection {#8548 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8544 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8546 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.56 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29310
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29223 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29296 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29220 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29165 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29173
    #collection: Doctrine\Common\Collections\ArrayCollection {#29185 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29161 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38167 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38169 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29310
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29223 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29296 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29220 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Baya"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29173
    #collection: Doctrine\Common\Collections\ArrayCollection {#29185 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29161 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38167 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38169 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29315
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29310
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29223 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29296 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29220 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29165 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29173
      #collection: Doctrine\Common\Collections\ArrayCollection {#29185 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29161 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38167 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38169 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29364
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29355 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29362 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29363 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29165 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29367
  +variant: App\Entity\Product\ProductVariant {#29165 …}
  +price: "31,00\u{A0}"
  +originalPrice: "34,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9051 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12481 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9048 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29364
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29355 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29362 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29363 …}
    +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 116.0 MiB 5.39 ms
Input props
[
  "product" => App\Entity\Product\Product {#8566
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#8573 …}
    #variants: Doctrine\ORM\PersistentCollection {#8575 …}
    #options: Doctrine\ORM\PersistentCollection {#8579 …}
    #associations: Doctrine\ORM\PersistentCollection {#8577 …}
    #createdAt: DateTime @1758632747 {#8564
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8565
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8582 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8583
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8566}
        #id: 3049
        #name: "Moulin Peugeot Tahiti"
        #slug: "moulin-peugeot-tahiti-4354"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8585 …}
    #channels: Doctrine\ORM\PersistentCollection {#8571 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8567 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8569 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29230
  +product: App\Entity\Product\Product {#8566
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#8573 …}
    #variants: Doctrine\ORM\PersistentCollection {#8575 …}
    #options: Doctrine\ORM\PersistentCollection {#8579 …}
    #associations: Doctrine\ORM\PersistentCollection {#8577 …}
    #createdAt: DateTime @1758632747 {#8564
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8565
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8582 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8583
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8566}
        #id: 3049
        #name: "Moulin Peugeot Tahiti"
        #slug: "moulin-peugeot-tahiti-4354"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8585 …}
    #channels: Doctrine\ORM\PersistentCollection {#8571 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8567 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8569 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29430 …}
  +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 {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.67 ms
Input props
[
  "product" => App\Entity\Product\Product {#8566
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#8573 …}
    #variants: Doctrine\ORM\PersistentCollection {#8575 …}
    #options: Doctrine\ORM\PersistentCollection {#8579 …}
    #associations: Doctrine\ORM\PersistentCollection {#8577 …}
    #createdAt: DateTime @1758632747 {#8564
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8565
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8582 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8583
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8566}
        #id: 3049
        #name: "Moulin Peugeot Tahiti"
        #slug: "moulin-peugeot-tahiti-4354"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8585 …}
    #channels: Doctrine\ORM\PersistentCollection {#8571 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8567 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8569 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Tahiti"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29504
  -props: [
    "product" => App\Entity\Product\Product {#8566
      #id: 3049
      #code: "moulin-peugeot-tahiti-4354"
      #attributes: Doctrine\ORM\PersistentCollection {#8573 …}
      #variants: Doctrine\ORM\PersistentCollection {#8575 …}
      #options: Doctrine\ORM\PersistentCollection {#8579 …}
      #associations: Doctrine\ORM\PersistentCollection {#8577 …}
      #createdAt: DateTime @1758632747 {#8564
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8565
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8582 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8583
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8566}
          #id: 3049
          #name: "Moulin Peugeot Tahiti"
          #slug: "moulin-peugeot-tahiti-4354"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Tr&egrave;s bonne prise en main.</li>\n
            <li>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8585 …}
      #channels: Doctrine\ORM\PersistentCollection {#8571 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8567 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8569 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.65 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29613
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29488 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29558 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29485 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29430 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29438
    #collection: Doctrine\Common\Collections\ArrayCollection {#29450 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29426 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38181 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38183 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29613
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29488 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29558 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29485 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29438
    #collection: Doctrine\Common\Collections\ArrayCollection {#29450 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29426 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38181 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38183 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29618
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29613
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29488 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29558 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29485 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29430 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29438
      #collection: Doctrine\Common\Collections\ArrayCollection {#29450 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29426 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38181 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38183 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29667
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29658 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29665 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29666 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29430 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29670
  +variant: App\Entity\Product\ProductVariant {#29430 …}
  +price: "53,00\u{A0}"
  +originalPrice: "59,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9051 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12481 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9048 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29667
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29658 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29665 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29666 …}
    +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 116.0 MiB 4.83 ms
Input props
[
  "product" => App\Entity\Product\Product {#8589
    #id: 3050
    #code: "moulin-peugeot-tahiti-printemps-4355"
    #attributes: Doctrine\ORM\PersistentCollection {#8596 …}
    #variants: Doctrine\ORM\PersistentCollection {#8598 …}
    #options: Doctrine\ORM\PersistentCollection {#8602 …}
    #associations: Doctrine\ORM\PersistentCollection {#8600 …}
    #createdAt: DateTime @1758632747 {#8587
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8588
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8605 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8606
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8589}
        #id: 3050
        #name: "Moulin Peugeot Tahiti Printemps"
        #slug: "moulin-peugeot-tahiti-printemps-4355"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8608 …}
    #channels: Doctrine\ORM\PersistentCollection {#8594 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8590 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8592 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29495
  +product: App\Entity\Product\Product {#8589
    #id: 3050
    #code: "moulin-peugeot-tahiti-printemps-4355"
    #attributes: Doctrine\ORM\PersistentCollection {#8596 …}
    #variants: Doctrine\ORM\PersistentCollection {#8598 …}
    #options: Doctrine\ORM\PersistentCollection {#8602 …}
    #associations: Doctrine\ORM\PersistentCollection {#8600 …}
    #createdAt: DateTime @1758632747 {#8587
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8588
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8605 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8606
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8589}
        #id: 3050
        #name: "Moulin Peugeot Tahiti Printemps"
        #slug: "moulin-peugeot-tahiti-printemps-4355"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8608 …}
    #channels: Doctrine\ORM\PersistentCollection {#8594 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8590 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8592 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29733 …}
  +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 {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.65 ms
Input props
[
  "product" => App\Entity\Product\Product {#8589
    #id: 3050
    #code: "moulin-peugeot-tahiti-printemps-4355"
    #attributes: Doctrine\ORM\PersistentCollection {#8596 …}
    #variants: Doctrine\ORM\PersistentCollection {#8598 …}
    #options: Doctrine\ORM\PersistentCollection {#8602 …}
    #associations: Doctrine\ORM\PersistentCollection {#8600 …}
    #createdAt: DateTime @1758632747 {#8587
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8588
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8605 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8606
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8589}
        #id: 3050
        #name: "Moulin Peugeot Tahiti Printemps"
        #slug: "moulin-peugeot-tahiti-printemps-4355"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8608 …}
    #channels: Doctrine\ORM\PersistentCollection {#8594 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8590 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8592 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Tahiti Printemps"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29804
  -props: [
    "product" => App\Entity\Product\Product {#8589
      #id: 3050
      #code: "moulin-peugeot-tahiti-printemps-4355"
      #attributes: Doctrine\ORM\PersistentCollection {#8596 …}
      #variants: Doctrine\ORM\PersistentCollection {#8598 …}
      #options: Doctrine\ORM\PersistentCollection {#8602 …}
      #associations: Doctrine\ORM\PersistentCollection {#8600 …}
      #createdAt: DateTime @1758632747 {#8587
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8588
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8605 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8606
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8589}
          #id: 3050
          #name: "Moulin Peugeot Tahiti Printemps"
          #slug: "moulin-peugeot-tahiti-printemps-4355"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Uniquement en duo.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8608 …}
      #channels: Doctrine\ORM\PersistentCollection {#8594 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8590 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8592 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 1.01 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29797
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29788 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29858 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29785 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29733 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29741
    #collection: Doctrine\Common\Collections\ArrayCollection {#29750 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29729 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38195 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38197 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29797
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29788 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29858 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29785 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti Printemps"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29741
    #collection: Doctrine\Common\Collections\ArrayCollection {#29750 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29729 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38195 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38197 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29862
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29797
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29788 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29858 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29785 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29733 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29741
      #collection: Doctrine\Common\Collections\ArrayCollection {#29750 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29729 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38195 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38197 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.16 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29912
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29903 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29910 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29911 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29733 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29915
  +variant: App\Entity\Product\ProductVariant {#29733 …}
  +price: "53,00\u{A0}"
  +originalPrice: "59,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9051 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12481 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9048 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29912
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29903 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29910 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29911 …}
    +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 116.0 MiB 4.69 ms
Input props
[
  "product" => App\Entity\Product\Product {#8612
    #id: 3051
    #code: "moulin-peugeot-auberge-4360"
    #attributes: Doctrine\ORM\PersistentCollection {#8619 …}
    #variants: Doctrine\ORM\PersistentCollection {#8621 …}
    #options: Doctrine\ORM\PersistentCollection {#8625 …}
    #associations: Doctrine\ORM\PersistentCollection {#8623 …}
    #createdAt: DateTime @1758632747 {#8610
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8611
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8628 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8629
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8612}
        #id: 3051
        #name: "Moulin Peugeot Auberge"
        #slug: "moulin-peugeot-auberge-4360"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 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 {#8631 …}
    #channels: Doctrine\ORM\PersistentCollection {#8617 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8613 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8615 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29795
  +product: App\Entity\Product\Product {#8612
    #id: 3051
    #code: "moulin-peugeot-auberge-4360"
    #attributes: Doctrine\ORM\PersistentCollection {#8619 …}
    #variants: Doctrine\ORM\PersistentCollection {#8621 …}
    #options: Doctrine\ORM\PersistentCollection {#8625 …}
    #associations: Doctrine\ORM\PersistentCollection {#8623 …}
    #createdAt: DateTime @1758632747 {#8610
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8611
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8628 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8629
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8612}
        #id: 3051
        #name: "Moulin Peugeot Auberge"
        #slug: "moulin-peugeot-auberge-4360"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 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 {#8631 …}
    #channels: Doctrine\ORM\PersistentCollection {#8617 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8613 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8615 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29978 …}
  +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 {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.84 ms
Input props
[
  "product" => App\Entity\Product\Product {#8612
    #id: 3051
    #code: "moulin-peugeot-auberge-4360"
    #attributes: Doctrine\ORM\PersistentCollection {#8619 …}
    #variants: Doctrine\ORM\PersistentCollection {#8621 …}
    #options: Doctrine\ORM\PersistentCollection {#8625 …}
    #associations: Doctrine\ORM\PersistentCollection {#8623 …}
    #createdAt: DateTime @1758632747 {#8610
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8611
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8628 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8629
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8612}
        #id: 3051
        #name: "Moulin Peugeot Auberge"
        #slug: "moulin-peugeot-auberge-4360"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 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 {#8631 …}
    #channels: Doctrine\ORM\PersistentCollection {#8617 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8613 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8615 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Auberge"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30049
  -props: [
    "product" => App\Entity\Product\Product {#8612
      #id: 3051
      #code: "moulin-peugeot-auberge-4360"
      #attributes: Doctrine\ORM\PersistentCollection {#8619 …}
      #variants: Doctrine\ORM\PersistentCollection {#8621 …}
      #options: Doctrine\ORM\PersistentCollection {#8625 …}
      #associations: Doctrine\ORM\PersistentCollection {#8623 …}
      #createdAt: DateTime @1758632747 {#8610
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8611
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8628 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8629
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8612}
          #id: 3051
          #name: "Moulin Peugeot Auberge"
          #slug: "moulin-peugeot-auberge-4360"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
            <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 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 {#8631 …}
      #channels: Doctrine\ORM\PersistentCollection {#8617 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8613 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8615 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.57 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30117
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30033 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30106 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30030 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29978 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29986
    #collection: Doctrine\Common\Collections\ArrayCollection {#29995 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29974 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38209 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38211 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30117
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30033 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30106 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30030 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Auberge"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29986
    #collection: Doctrine\Common\Collections\ArrayCollection {#29995 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29974 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38209 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38211 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30122
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30117
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30033 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30106 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30030 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29978 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29986
      #collection: Doctrine\Common\Collections\ArrayCollection {#29995 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29974 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38209 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38211 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30171
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30162 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30169 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30170 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29978 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30174
  +variant: App\Entity\Product\ProductVariant {#29978 …}
  +price: "44,00\u{A0}"
  +originalPrice: "49,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9051 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12481 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9048 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30171
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30162 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30169 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30170 …}
    +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 116.0 MiB 4.48 ms
Input props
[
  "product" => App\Entity\Product\Product {#8635
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8642 …}
    #variants: Doctrine\ORM\PersistentCollection {#8644 …}
    #options: Doctrine\ORM\PersistentCollection {#8648 …}
    #associations: Doctrine\ORM\PersistentCollection {#8646 …}
    #createdAt: DateTime @1758632747 {#8633
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8634
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8651 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8652
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8635}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8654 …}
    #channels: Doctrine\ORM\PersistentCollection {#8640 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8636 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8638 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30040
  +product: App\Entity\Product\Product {#8635
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8642 …}
    #variants: Doctrine\ORM\PersistentCollection {#8644 …}
    #options: Doctrine\ORM\PersistentCollection {#8648 …}
    #associations: Doctrine\ORM\PersistentCollection {#8646 …}
    #createdAt: DateTime @1758632747 {#8633
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8634
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8651 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8652
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8635}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8654 …}
    #channels: Doctrine\ORM\PersistentCollection {#8640 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8636 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8638 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30237 …}
  +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 {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.71 ms
Input props
[
  "product" => App\Entity\Product\Product {#8635
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8642 …}
    #variants: Doctrine\ORM\PersistentCollection {#8644 …}
    #options: Doctrine\ORM\PersistentCollection {#8648 …}
    #associations: Doctrine\ORM\PersistentCollection {#8646 …}
    #createdAt: DateTime @1758632747 {#8633
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8634
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8651 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8652
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8635}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8654 …}
    #channels: Doctrine\ORM\PersistentCollection {#8640 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8636 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8638 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Paris Prestige Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30311
  -props: [
    "product" => App\Entity\Product\Product {#8635
      #id: 3054
      #code: "moulin-paris-prestige-peugeot-5111"
      #attributes: Doctrine\ORM\PersistentCollection {#8642 …}
      #variants: Doctrine\ORM\PersistentCollection {#8644 …}
      #options: Doctrine\ORM\PersistentCollection {#8648 …}
      #associations: Doctrine\ORM\PersistentCollection {#8646 …}
      #createdAt: DateTime @1758632747 {#8633
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8634
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8651 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8652
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8635}
          #id: 3054
          #name: "Moulin Paris Prestige Peugeot"
          #slug: "moulin-paris-prestige-peugeot-5111"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Bois d'origine fran&ccedil;aise.</li>\n
            <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
            <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
            <li>Finition parfaite.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul>\n
            <ul style="margin: 0px 10px; padding: 10px;">\n
            </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8654 …}
      #channels: Doctrine\ORM\PersistentCollection {#8640 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7721 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8636 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8638 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.56 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30379
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30295 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30368 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30292 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30237 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30245
    #collection: Doctrine\Common\Collections\ArrayCollection {#30257 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30233 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38223 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38225 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30379
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30295 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30368 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30292 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Paris Prestige Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30245
    #collection: Doctrine\Common\Collections\ArrayCollection {#30257 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30233 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38223 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38225 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30384
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30379
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30295 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30368 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30292 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30237 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30245
      #collection: Doctrine\Common\Collections\ArrayCollection {#30257 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30233 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38223 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38225 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.16 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30433
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30424 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30431 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30432 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30237 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30436
  +variant: App\Entity\Product\ProductVariant {#30237 …}
  +price: "1\u{202F}119,00\u{A0}"
  +originalPrice: "1\u{202F}119,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9051 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12481 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9048 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30433
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30424 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30431 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30432 …}
    +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 116.0 MiB 5.53 ms
Input props
[
  "product" => App\Entity\Product\Product {#8658
    #id: 2778
    #code: "moulins-poivre-et-sel-perfex-5809"
    #attributes: Doctrine\ORM\PersistentCollection {#8668 …}
    #variants: Doctrine\ORM\PersistentCollection {#8670 …}
    #options: Doctrine\ORM\PersistentCollection {#8674 …}
    #associations: Doctrine\ORM\PersistentCollection {#8672 …}
    #createdAt: DateTime @1758632649 {#8656
      date: 2025-09-23 21:04:09.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632649 {#8657
      date: 2025-09-23 21:04:09.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8677 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8678
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8658}
        #id: 2778
        #name: "Moulins poivre et sel Perfex"
        #slug: "moulins-poivre-et-sel-perfex-5809"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme haute pr&eacute;cision en acier sp&eacute;cial trait&eacute;.</li>\n
          <li>Design intemporel</li>\n
          <li>Fabrication fran&ccedil;aise&nbsp;</li>\n
          </ul></div><h1>Description Moulins poivre et sel Perfex</h1><div class="col is-12">Fabriqu&eacute; en France depuis 1946 dans un atelier de m&eacute;canique de haute pr&eacute;cision, le moulin Perfex est un exemple parfait de l'excellence technologique fran&ccedil;aise m&acirc;tin&eacute; de tradition. Le corps en aluminium moul&eacute; robuste est &eacute;quip&eacute; d'un m&eacute;canisme poivre ou sel en acier sp&eacute;cial trait&eacute; qui assure un broyage optimal. Le moulin Perfex est dot&eacute; d'une goulotte de remplissage sur le c&ocirc;t&eacute; brevet&eacute;. <br /><br />Son design intemporel et "industriel" et l'excellence de son m&eacute;canisme en font un objet pris&eacute; des collectionneurs. Pour l'anecdote,le moulin Perfex s'offre de g&eacute;n&eacute;ration en g&eacute;n&eacute;ration depuis 7 d&eacute;cennies dans les grandes familles am&eacute;ricaines ou anglaises.</div><h1>Caractéristiques Moulins poivre et sel Perfex</h1><div class="col is-12">Corps en aluminium moul&eacute;. M&eacute;canisme poivre ou sel acier hautre pr&eacute;cision. Goulotte de remplissage sur le c&ocirc;t&eacute; brevet&eacute;. Bouton de r&eacute;glage de mouture. Capacit&eacute; mod&egrave;le 10 cm 40 g. Capacit&eacute; mod&egrave;le 16 cm 110 g. Fabriqu&eacute; en France.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8680 …}
    #channels: Doctrine\ORM\PersistentCollection {#8666 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8660 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8662 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8664 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30302
  +product: App\Entity\Product\Product {#8658
    #id: 2778
    #code: "moulins-poivre-et-sel-perfex-5809"
    #attributes: Doctrine\ORM\PersistentCollection {#8668 …}
    #variants: Doctrine\ORM\PersistentCollection {#8670 …}
    #options: Doctrine\ORM\PersistentCollection {#8674 …}
    #associations: Doctrine\ORM\PersistentCollection {#8672 …}
    #createdAt: DateTime @1758632649 {#8656
      date: 2025-09-23 21:04:09.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632649 {#8657
      date: 2025-09-23 21:04:09.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8677 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8678
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8658}
        #id: 2778
        #name: "Moulins poivre et sel Perfex"
        #slug: "moulins-poivre-et-sel-perfex-5809"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme haute pr&eacute;cision en acier sp&eacute;cial trait&eacute;.</li>\n
          <li>Design intemporel</li>\n
          <li>Fabrication fran&ccedil;aise&nbsp;</li>\n
          </ul></div><h1>Description Moulins poivre et sel Perfex</h1><div class="col is-12">Fabriqu&eacute; en France depuis 1946 dans un atelier de m&eacute;canique de haute pr&eacute;cision, le moulin Perfex est un exemple parfait de l'excellence technologique fran&ccedil;aise m&acirc;tin&eacute; de tradition. Le corps en aluminium moul&eacute; robuste est &eacute;quip&eacute; d'un m&eacute;canisme poivre ou sel en acier sp&eacute;cial trait&eacute; qui assure un broyage optimal. Le moulin Perfex est dot&eacute; d'une goulotte de remplissage sur le c&ocirc;t&eacute; brevet&eacute;. <br /><br />Son design intemporel et "industriel" et l'excellence de son m&eacute;canisme en font un objet pris&eacute; des collectionneurs. Pour l'anecdote,le moulin Perfex s'offre de g&eacute;n&eacute;ration en g&eacute;n&eacute;ration depuis 7 d&eacute;cennies dans les grandes familles am&eacute;ricaines ou anglaises.</div><h1>Caractéristiques Moulins poivre et sel Perfex</h1><div class="col is-12">Corps en aluminium moul&eacute;. M&eacute;canisme poivre ou sel acier hautre pr&eacute;cision. Goulotte de remplissage sur le c&ocirc;t&eacute; brevet&eacute;. Bouton de r&eacute;glage de mouture. Capacit&eacute; mod&egrave;le 10 cm 40 g. Capacit&eacute; mod&egrave;le 16 cm 110 g. Fabriqu&eacute; en France.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8680 …}
    #channels: Doctrine\ORM\PersistentCollection {#8666 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8660 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8662 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8664 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30499 …}
  +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 {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.72 ms
Input props
[
  "product" => App\Entity\Product\Product {#8658
    #id: 2778
    #code: "moulins-poivre-et-sel-perfex-5809"
    #attributes: Doctrine\ORM\PersistentCollection {#8668 …}
    #variants: Doctrine\ORM\PersistentCollection {#8670 …}
    #options: Doctrine\ORM\PersistentCollection {#8674 …}
    #associations: Doctrine\ORM\PersistentCollection {#8672 …}
    #createdAt: DateTime @1758632649 {#8656
      date: 2025-09-23 21:04:09.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632649 {#8657
      date: 2025-09-23 21:04:09.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8677 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8678
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8658}
        #id: 2778
        #name: "Moulins poivre et sel Perfex"
        #slug: "moulins-poivre-et-sel-perfex-5809"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme haute pr&eacute;cision en acier sp&eacute;cial trait&eacute;.</li>\n
          <li>Design intemporel</li>\n
          <li>Fabrication fran&ccedil;aise&nbsp;</li>\n
          </ul></div><h1>Description Moulins poivre et sel Perfex</h1><div class="col is-12">Fabriqu&eacute; en France depuis 1946 dans un atelier de m&eacute;canique de haute pr&eacute;cision, le moulin Perfex est un exemple parfait de l'excellence technologique fran&ccedil;aise m&acirc;tin&eacute; de tradition. Le corps en aluminium moul&eacute; robuste est &eacute;quip&eacute; d'un m&eacute;canisme poivre ou sel en acier sp&eacute;cial trait&eacute; qui assure un broyage optimal. Le moulin Perfex est dot&eacute; d'une goulotte de remplissage sur le c&ocirc;t&eacute; brevet&eacute;. <br /><br />Son design intemporel et "industriel" et l'excellence de son m&eacute;canisme en font un objet pris&eacute; des collectionneurs. Pour l'anecdote,le moulin Perfex s'offre de g&eacute;n&eacute;ration en g&eacute;n&eacute;ration depuis 7 d&eacute;cennies dans les grandes familles am&eacute;ricaines ou anglaises.</div><h1>Caractéristiques Moulins poivre et sel Perfex</h1><div class="col is-12">Corps en aluminium moul&eacute;. M&eacute;canisme poivre ou sel acier hautre pr&eacute;cision. Goulotte de remplissage sur le c&ocirc;t&eacute; brevet&eacute;. Bouton de r&eacute;glage de mouture. Capacit&eacute; mod&egrave;le 10 cm 40 g. Capacit&eacute; mod&egrave;le 16 cm 110 g. Fabriqu&eacute; en France.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8680 …}
    #channels: Doctrine\ORM\PersistentCollection {#8666 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8660 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8662 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8664 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulins poivre et sel Perfex"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30570
  -props: [
    "product" => App\Entity\Product\Product {#8658
      #id: 2778
      #code: "moulins-poivre-et-sel-perfex-5809"
      #attributes: Doctrine\ORM\PersistentCollection {#8668 …}
      #variants: Doctrine\ORM\PersistentCollection {#8670 …}
      #options: Doctrine\ORM\PersistentCollection {#8674 …}
      #associations: Doctrine\ORM\PersistentCollection {#8672 …}
      #createdAt: DateTime @1758632649 {#8656
        date: 2025-09-23 21:04:09.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632649 {#8657
        date: 2025-09-23 21:04:09.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8677 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8678
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8658}
          #id: 2778
          #name: "Moulins poivre et sel Perfex"
          #slug: "moulins-poivre-et-sel-perfex-5809"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme haute pr&eacute;cision en acier sp&eacute;cial trait&eacute;.</li>\n
            <li>Design intemporel</li>\n
            <li>Fabrication fran&ccedil;aise&nbsp;</li>\n
            </ul></div><h1>Description Moulins poivre et sel Perfex</h1><div class="col is-12">Fabriqu&eacute; en France depuis 1946 dans un atelier de m&eacute;canique de haute pr&eacute;cision, le moulin Perfex est un exemple parfait de l'excellence technologique fran&ccedil;aise m&acirc;tin&eacute; de tradition. Le corps en aluminium moul&eacute; robuste est &eacute;quip&eacute; d'un m&eacute;canisme poivre ou sel en acier sp&eacute;cial trait&eacute; qui assure un broyage optimal. Le moulin Perfex est dot&eacute; d'une goulotte de remplissage sur le c&ocirc;t&eacute; brevet&eacute;. <br /><br />Son design intemporel et "industriel" et l'excellence de son m&eacute;canisme en font un objet pris&eacute; des collectionneurs. Pour l'anecdote,le moulin Perfex s'offre de g&eacute;n&eacute;ration en g&eacute;n&eacute;ration depuis 7 d&eacute;cennies dans les grandes familles am&eacute;ricaines ou anglaises.</div><h1>Caractéristiques Moulins poivre et sel Perfex</h1><div class="col is-12">Corps en aluminium moul&eacute;. M&eacute;canisme poivre ou sel acier hautre pr&eacute;cision. Goulotte de remplissage sur le c&ocirc;t&eacute; brevet&eacute;. Bouton de r&eacute;glage de mouture. Capacit&eacute; mod&egrave;le 10 cm 40 g. Capacit&eacute; mod&egrave;le 16 cm 110 g. Fabriqu&eacute; en France.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8680 …}
      #channels: Doctrine\ORM\PersistentCollection {#8666 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8660 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8662 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8664 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.77 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30663
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30554 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30627 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30551 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30499 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30507
    #collection: Doctrine\Common\Collections\ArrayCollection {#30516 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30495 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38237 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38239 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30663
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30554 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30627 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30551 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulins poivre et sel Perfex"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30507
    #collection: Doctrine\Common\Collections\ArrayCollection {#30516 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30495 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38237 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38239 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30664
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30663
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30554 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30627 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30551 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30499 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30507
      #collection: Doctrine\Common\Collections\ArrayCollection {#30516 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30495 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38237 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38239 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30717
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30708 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30715 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30716 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30499 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30720
  +variant: App\Entity\Product\ProductVariant {#30499 …}
  +price: "99,00\u{A0}"
  +originalPrice: "99,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9051 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12481 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9048 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30717
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30708 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30715 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30716 …}
    +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 116.0 MiB 5.28 ms
Input props
[
  "product" => App\Entity\Product\Product {#8687
    #id: 2551
    #code: "moulin-a-cafe-paris-press-peugeot-6320"
    #attributes: Doctrine\ORM\PersistentCollection {#8697 …}
    #variants: Doctrine\ORM\PersistentCollection {#8699 …}
    #options: Doctrine\ORM\PersistentCollection {#8703 …}
    #associations: Doctrine\ORM\PersistentCollection {#8701 …}
    #createdAt: DateTime @1758632572 {#8685
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632572 {#8686
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8706 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8707
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8687}
        #id: 2551
        #name: "Moulin à café Paris Press Peugeot"
        #slug: "moulin-a-cafe-paris-press-peugeot-6320"
        #description: """
          <div class="col is-12"><ul>\n
          <li>A la fois moulin &agrave; caf&eacute; et cafeti&egrave;re &agrave; piston.</li>\n
          <li>Mouture r&eacute;glable.</li>\n
          <li>Pour 4 tasses.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin à café Paris Press Peugeot</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Paris Press Peugeot&nbsp;combine astucieusement les fonctions de mouture et de cafeti&egrave;re &agrave; piston pour profiter pleinement de la saveur incomparable d'un caf&eacute; fra&icirc;chement moulu.</div><h1>Caractéristiques Combiné Moulin & Cafetière à Piston Peugeot</h1><div class="col is-12">- 2 fonctions en 1 : moulin et cafeti&egrave;re &agrave; piston.<br />- Mouture r&eacute;glable.<br />- Pour 4 tasses.<br />- Verre borosilicate.<br />- Cuill&egrave;re doseuse fournie.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8709 …}
    #channels: Doctrine\ORM\PersistentCollection {#8695 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8689 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8691 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8693 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30561
  +product: App\Entity\Product\Product {#8687
    #id: 2551
    #code: "moulin-a-cafe-paris-press-peugeot-6320"
    #attributes: Doctrine\ORM\PersistentCollection {#8697 …}
    #variants: Doctrine\ORM\PersistentCollection {#8699 …}
    #options: Doctrine\ORM\PersistentCollection {#8703 …}
    #associations: Doctrine\ORM\PersistentCollection {#8701 …}
    #createdAt: DateTime @1758632572 {#8685
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632572 {#8686
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8706 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8707
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8687}
        #id: 2551
        #name: "Moulin à café Paris Press Peugeot"
        #slug: "moulin-a-cafe-paris-press-peugeot-6320"
        #description: """
          <div class="col is-12"><ul>\n
          <li>A la fois moulin &agrave; caf&eacute; et cafeti&egrave;re &agrave; piston.</li>\n
          <li>Mouture r&eacute;glable.</li>\n
          <li>Pour 4 tasses.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin à café Paris Press Peugeot</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Paris Press Peugeot&nbsp;combine astucieusement les fonctions de mouture et de cafeti&egrave;re &agrave; piston pour profiter pleinement de la saveur incomparable d'un caf&eacute; fra&icirc;chement moulu.</div><h1>Caractéristiques Combiné Moulin & Cafetière à Piston Peugeot</h1><div class="col is-12">- 2 fonctions en 1 : moulin et cafeti&egrave;re &agrave; piston.<br />- Mouture r&eacute;glable.<br />- Pour 4 tasses.<br />- Verre borosilicate.<br />- Cuill&egrave;re doseuse fournie.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8709 …}
    #channels: Doctrine\ORM\PersistentCollection {#8695 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8689 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8691 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8693 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30783 …}
  +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 {#27693
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27726 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27732 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27719 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.90 ms
Input props
[
  "product" => App\Entity\Product\Product {#8687
    #id: 2551
    #code: "moulin-a-cafe-paris-press-peugeot-6320"
    #attributes: Doctrine\ORM\PersistentCollection {#8697 …}
    #variants: Doctrine\ORM\PersistentCollection {#8699 …}
    #options: Doctrine\ORM\PersistentCollection {#8703 …}
    #associations: Doctrine\ORM\PersistentCollection {#8701 …}
    #createdAt: DateTime @1758632572 {#8685
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632572 {#8686
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8706 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8707
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8687}
        #id: 2551
        #name: "Moulin à café Paris Press Peugeot"
        #slug: "moulin-a-cafe-paris-press-peugeot-6320"
        #description: """
          <div class="col is-12"><ul>\n
          <li>A la fois moulin &agrave; caf&eacute; et cafeti&egrave;re &agrave; piston.</li>\n
          <li>Mouture r&eacute;glable.</li>\n
          <li>Pour 4 tasses.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin à café Paris Press Peugeot</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Paris Press Peugeot&nbsp;combine astucieusement les fonctions de mouture et de cafeti&egrave;re &agrave; piston pour profiter pleinement de la saveur incomparable d'un caf&eacute; fra&icirc;chement moulu.</div><h1>Caractéristiques Combiné Moulin & Cafetière à Piston Peugeot</h1><div class="col is-12">- 2 fonctions en 1 : moulin et cafeti&egrave;re &agrave; piston.<br />- Mouture r&eacute;glable.<br />- Pour 4 tasses.<br />- Verre borosilicate.<br />- Cuill&egrave;re doseuse fournie.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8709 …}
    #channels: Doctrine\ORM\PersistentCollection {#8695 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8689 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8691 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8693 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin à café Paris Press Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30854
  -props: [
    "product" => App\Entity\Product\Product {#8687
      #id: 2551
      #code: "moulin-a-cafe-paris-press-peugeot-6320"
      #attributes: Doctrine\ORM\PersistentCollection {#8697 …}
      #variants: Doctrine\ORM\PersistentCollection {#8699 …}
      #options: Doctrine\ORM\PersistentCollection {#8703 …}
      #associations: Doctrine\ORM\PersistentCollection {#8701 …}
      #createdAt: DateTime @1758632572 {#8685
        date: 2025-09-23 21:02:52.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632572 {#8686
        date: 2025-09-23 21:02:52.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8706 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8707
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8687}
          #id: 2551
          #name: "Moulin à café Paris Press Peugeot"
          #slug: "moulin-a-cafe-paris-press-peugeot-6320"
          #description: """
            <div class="col is-12"><ul>\n
            <li>A la fois moulin &agrave; caf&eacute; et cafeti&egrave;re &agrave; piston.</li>\n
            <li>Mouture r&eacute;glable.</li>\n
            <li>Pour 4 tasses.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Descriptif Moulin à café Paris Press Peugeot</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Paris Press Peugeot&nbsp;combine astucieusement les fonctions de mouture et de cafeti&egrave;re &agrave; piston pour profiter pleinement de la saveur incomparable d'un caf&eacute; fra&icirc;chement moulu.</div><h1>Caractéristiques Combiné Moulin & Cafetière à Piston Peugeot</h1><div class="col is-12">- 2 fonctions en 1 : moulin et cafeti&egrave;re &agrave; piston.<br />- Mouture r&eacute;glable.<br />- Pour 4 tasses.<br />- Verre borosilicate.<br />- Cuill&egrave;re doseuse fournie.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8709 …}
      #channels: Doctrine\ORM\PersistentCollection {#8695 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8689 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8691 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8693 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.74 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30922
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30838 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30911 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30835 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30783 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30791
    #collection: Doctrine\Common\Collections\ArrayCollection {#30800 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30779 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38251 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38253 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30922
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30838 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30911 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30835 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin à café Paris Press Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30791
    #collection: Doctrine\Common\Collections\ArrayCollection {#30800 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30779 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38251 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38253 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30927
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30922
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30838 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30911 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30835 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30783 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30791
      #collection: Doctrine\Common\Collections\ArrayCollection {#30800 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30779 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38251 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38253 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30976
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30967 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30974 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30975 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30783 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30979
  +variant: App\Entity\Product\ProductVariant {#30783 …}
  +price: "124,00\u{A0}"
  +originalPrice: "124,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9051 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12481 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9048 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30976
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30967 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30974 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30975 …}
    +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 116.0 MiB 2.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27403
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12546 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27425 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12556 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31286
  +cart: App\Entity\Order\Order {#13460 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27403
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12546 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27425 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12556 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}