GET https://sylius-cuisinstore.preprod.eu/fr_FR/taxons/coin-cuisine-moulin-peugeot-1138?page=10

Components

12 Twig Components
44 Render Count
82 ms Render Time
112.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
sylius_shop:product:card
"Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
@SyliusUi/components/default.html.twig
9 49.80ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 8.05ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 6.21ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.61ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.10ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.72ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 8.85ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 14.63ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.08ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.05ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 2.28ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.11ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 112.0 MiB 1.10 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12156
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12149 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12155 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12154 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/currency_switcher.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/currency_switcher.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent {#12776
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12156
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12149 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12155 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12154 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 112.0 MiB 0.72 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12853
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12849 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12851 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12852 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/locale_switcher.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/locale_switcher.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent {#12862
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12853
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12849 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12851 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12852 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 112.0 MiB 8.85 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12944
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12923 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12943 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12942 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#12959
  +cart: App\Entity\Order\Order {#13026 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12944
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12923 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12943 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12942 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  +template: "@SyliusShop/shared/components/header/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}
sylius_shop:common:taxon_menu Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent 112.0 MiB 14.63 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13212
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13200 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13206 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13198 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/header/navbar/menu.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/shared/layout/base/header/navbar/menu.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent {#13221
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13212
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13200 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13206 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13198 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 112.0 MiB 1.08 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27455
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27451 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27452 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27454 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
  "template" => "@SyliusShop/product/index/content/breadcrumbs.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/index/content/breadcrumbs.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent {#27464
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27455
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27451 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27452 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27454 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 112.0 MiB 1.05 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27568
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27564 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27565 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27567 …}
    +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 {#27576
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27568
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27564 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27565 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27567 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 112.0 MiB 2.28 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27653
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27649 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27650 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27652 …}
    +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 {#27661
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27653
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27649 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27650 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27652 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 9.57 ms
Input props
[
  "product" => App\Entity\Product\Product {#8000
    #id: 3061
    #code: "moulin-peugeot-paris-icone-noyer-6318"
    #attributes: Doctrine\ORM\PersistentCollection {#8176 …}
    #variants: Doctrine\ORM\PersistentCollection {#8399 …}
    #options: Doctrine\ORM\PersistentCollection {#8527 …}
    #associations: Doctrine\ORM\PersistentCollection {#8467 …}
    #createdAt: DateTime @1758632748 {#7719
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#7758
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8526 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8529
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8000}
        #id: 3061
        #name: "Moulin Peugeot Paris Icône Noyer"
        #slug: "moulin-peugeot-paris-icone-noyer-6318"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canismes U'select garantis &agrave; vie</li>\n
          <li>Remplissage facile.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">Version du mod&egrave;le Paris r&eacute;alis&eacute; dans des essences de bois pr&eacute;cieux (Noyer ou merisier) et int&eacute;grant la fonction de r&eacute;glage de la mouture u'select. Pr&eacute;sent&eacute; en coffret, et disponible poivre ou sel dans les tailles 18, 22, 30 cm.</div><h1>Caractéristiques Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">- M&eacute;canisme u'select.<br />- Poivre ou sel.<br />- M&eacute;canismes garantis &agrave; vie.<br />- Fabrication fran&ccedil;aise.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8532 …}
    #channels: Doctrine\ORM\PersistentCollection {#8035 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7923 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8038 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28186
  +product: App\Entity\Product\Product {#8000
    #id: 3061
    #code: "moulin-peugeot-paris-icone-noyer-6318"
    #attributes: Doctrine\ORM\PersistentCollection {#8176 …}
    #variants: Doctrine\ORM\PersistentCollection {#8399 …}
    #options: Doctrine\ORM\PersistentCollection {#8527 …}
    #associations: Doctrine\ORM\PersistentCollection {#8467 …}
    #createdAt: DateTime @1758632748 {#7719
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#7758
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8526 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8529
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8000}
        #id: 3061
        #name: "Moulin Peugeot Paris Icône Noyer"
        #slug: "moulin-peugeot-paris-icone-noyer-6318"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canismes U'select garantis &agrave; vie</li>\n
          <li>Remplissage facile.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">Version du mod&egrave;le Paris r&eacute;alis&eacute; dans des essences de bois pr&eacute;cieux (Noyer ou merisier) et int&eacute;grant la fonction de r&eacute;glage de la mouture u'select. Pr&eacute;sent&eacute; en coffret, et disponible poivre ou sel dans les tailles 18, 22, 30 cm.</div><h1>Caractéristiques Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">- M&eacute;canisme u'select.<br />- Poivre ou sel.<br />- M&eacute;canismes garantis &agrave; vie.<br />- Fabrication fran&ccedil;aise.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8532 …}
    #channels: Doctrine\ORM\PersistentCollection {#8035 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7923 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8038 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#28448 …}
  +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 {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 1.87 ms
Input props
[
  "product" => App\Entity\Product\Product {#8000
    #id: 3061
    #code: "moulin-peugeot-paris-icone-noyer-6318"
    #attributes: Doctrine\ORM\PersistentCollection {#8176 …}
    #variants: Doctrine\ORM\PersistentCollection {#8399 …}
    #options: Doctrine\ORM\PersistentCollection {#8527 …}
    #associations: Doctrine\ORM\PersistentCollection {#8467 …}
    #createdAt: DateTime @1758632748 {#7719
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#7758
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8526 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8529
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8000}
        #id: 3061
        #name: "Moulin Peugeot Paris Icône Noyer"
        #slug: "moulin-peugeot-paris-icone-noyer-6318"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canismes U'select garantis &agrave; vie</li>\n
          <li>Remplissage facile.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">Version du mod&egrave;le Paris r&eacute;alis&eacute; dans des essences de bois pr&eacute;cieux (Noyer ou merisier) et int&eacute;grant la fonction de r&eacute;glage de la mouture u'select. Pr&eacute;sent&eacute; en coffret, et disponible poivre ou sel dans les tailles 18, 22, 30 cm.</div><h1>Caractéristiques Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">- M&eacute;canisme u'select.<br />- Poivre ou sel.<br />- M&eacute;canismes garantis &agrave; vie.<br />- Fabrication fran&ccedil;aise.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8532 …}
    #channels: Doctrine\ORM\PersistentCollection {#8035 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7923 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8038 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Paris Icône Noyer"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28859
  -props: [
    "product" => App\Entity\Product\Product {#8000
      #id: 3061
      #code: "moulin-peugeot-paris-icone-noyer-6318"
      #attributes: Doctrine\ORM\PersistentCollection {#8176 …}
      #variants: Doctrine\ORM\PersistentCollection {#8399 …}
      #options: Doctrine\ORM\PersistentCollection {#8527 …}
      #associations: Doctrine\ORM\PersistentCollection {#8467 …}
      #createdAt: DateTime @1758632748 {#7719
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#7758
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8526 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8529
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8000}
          #id: 3061
          #name: "Moulin Peugeot Paris Icône Noyer"
          #slug: "moulin-peugeot-paris-icone-noyer-6318"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canismes U'select garantis &agrave; vie</li>\n
            <li>Remplissage facile.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Descriptif Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">Version du mod&egrave;le Paris r&eacute;alis&eacute; dans des essences de bois pr&eacute;cieux (Noyer ou merisier) et int&eacute;grant la fonction de r&eacute;glage de la mouture u'select. Pr&eacute;sent&eacute; en coffret, et disponible poivre ou sel dans les tailles 18, 22, 30 cm.</div><h1>Caractéristiques Moulin Peugeot Paris Icône Noyer</h1><div class="col is-12">- M&eacute;canisme u'select.<br />- Poivre ou sel.<br />- M&eacute;canismes garantis &agrave; vie.<br />- Fabrication fran&ccedil;aise.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8532 …}
      #channels: Doctrine\ORM\PersistentCollection {#8035 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#7923 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8038 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 1.21 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28974
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28935 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28930 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28971 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28448 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28794
    #collection: Doctrine\Common\Collections\ArrayCollection {#28793 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28631 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38597 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38649 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28974
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28935 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28930 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28971 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Paris Icône Noyer"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28794
    #collection: Doctrine\Common\Collections\ArrayCollection {#28793 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28631 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38597 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38649 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28975
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28974
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28935 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28930 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28971 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#28448 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#28794
      #collection: Doctrine\Common\Collections\ArrayCollection {#28793 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#28631 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38597 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38649 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.39 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29044
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29034 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29042 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29043 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28448 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29053
  +variant: App\Entity\Product\ProductVariant {#28448 …}
  +price: "67,00\u{A0}"
  +originalPrice: "74,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8141 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8136 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29044
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29034 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29042 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29043 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 4.83 ms
Input props
[
  "product" => App\Entity\Product\Product {#8541
    #id: 3062
    #code: "moulin-pop-peugeot-6826"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632748 {#8539
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8540
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8557 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8558
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8541}
        #id: 3062
        #name: "Moulin Pop Peugeot"
        #slug: "moulin-pop-peugeot-6826"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Look color&eacute;, dynamique et hyper tendance.</li>\n
          <li>Corps en bois.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Pop Peugeot</h1><div class="col is-12">Le moulin Pop Peugeot annonce la couleur ! Tout de bois v&ecirc;tu, ce moulin se pare d'un d&eacute;cor d&eacute;cal&eacute; tel un jet de peinture, assorti &agrave; la couleur de son chapeau. Un style "Splash" surprenant qui ne passera pas inaper&ccedil;u sur votre table ou dans votre cuisine.&nbsp;</div><h1>Caractéristiques Moulin Pop Peugeot</h1><div class="col is-12">- Mati&egrave;re : bois.<br />- Taille : 10 cm.<br />- R&eacute;glage : classique.<br />- Moulin &agrave; sel : jaune anis et corail.<br />- Moulin &agrave; poivre : prune et vert.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8544 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28837
  +product: App\Entity\Product\Product {#8541
    #id: 3062
    #code: "moulin-pop-peugeot-6826"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632748 {#8539
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8540
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8557 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8558
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8541}
        #id: 3062
        #name: "Moulin Pop Peugeot"
        #slug: "moulin-pop-peugeot-6826"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Look color&eacute;, dynamique et hyper tendance.</li>\n
          <li>Corps en bois.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Pop Peugeot</h1><div class="col is-12">Le moulin Pop Peugeot annonce la couleur ! Tout de bois v&ecirc;tu, ce moulin se pare d'un d&eacute;cor d&eacute;cal&eacute; tel un jet de peinture, assorti &agrave; la couleur de son chapeau. Un style "Splash" surprenant qui ne passera pas inaper&ccedil;u sur votre table ou dans votre cuisine.&nbsp;</div><h1>Caractéristiques Moulin Pop Peugeot</h1><div class="col is-12">- Mati&egrave;re : bois.<br />- Taille : 10 cm.<br />- R&eacute;glage : classique.<br />- Moulin &agrave; sel : jaune anis et corail.<br />- Moulin &agrave; poivre : prune et vert.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8544 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29126 …}
  +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 {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.65 ms
Input props
[
  "product" => App\Entity\Product\Product {#8541
    #id: 3062
    #code: "moulin-pop-peugeot-6826"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632748 {#8539
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8540
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8557 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8558
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8541}
        #id: 3062
        #name: "Moulin Pop Peugeot"
        #slug: "moulin-pop-peugeot-6826"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Look color&eacute;, dynamique et hyper tendance.</li>\n
          <li>Corps en bois.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Pop Peugeot</h1><div class="col is-12">Le moulin Pop Peugeot annonce la couleur ! Tout de bois v&ecirc;tu, ce moulin se pare d'un d&eacute;cor d&eacute;cal&eacute; tel un jet de peinture, assorti &agrave; la couleur de son chapeau. Un style "Splash" surprenant qui ne passera pas inaper&ccedil;u sur votre table ou dans votre cuisine.&nbsp;</div><h1>Caractéristiques Moulin Pop Peugeot</h1><div class="col is-12">- Mati&egrave;re : bois.<br />- Taille : 10 cm.<br />- R&eacute;glage : classique.<br />- Moulin &agrave; sel : jaune anis et corail.<br />- Moulin &agrave; poivre : prune et vert.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8544 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Pop Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29197
  -props: [
    "product" => App\Entity\Product\Product {#8541
      #id: 3062
      #code: "moulin-pop-peugeot-6826"
      #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
      #variants: Doctrine\ORM\PersistentCollection {#8550 …}
      #options: Doctrine\ORM\PersistentCollection {#8554 …}
      #associations: Doctrine\ORM\PersistentCollection {#8552 …}
      #createdAt: DateTime @1758632748 {#8539
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#8540
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8557 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8558
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8541}
          #id: 3062
          #name: "Moulin Pop Peugeot"
          #slug: "moulin-pop-peugeot-6826"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Look color&eacute;, dynamique et hyper tendance.</li>\n
            <li>Corps en bois.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Descriptif Moulin Pop Peugeot</h1><div class="col is-12">Le moulin Pop Peugeot annonce la couleur ! Tout de bois v&ecirc;tu, ce moulin se pare d'un d&eacute;cor d&eacute;cal&eacute; tel un jet de peinture, assorti &agrave; la couleur de son chapeau. Un style "Splash" surprenant qui ne passera pas inaper&ccedil;u sur votre table ou dans votre cuisine.&nbsp;</div><h1>Caractéristiques Moulin Pop Peugeot</h1><div class="col is-12">- Mati&egrave;re : bois.<br />- Taille : 10 cm.<br />- R&eacute;glage : classique.<br />- Moulin &agrave; sel : jaune anis et corail.<br />- Moulin &agrave; poivre : prune et vert.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8560 …}
      #channels: Doctrine\ORM\PersistentCollection {#8546 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8544 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.62 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29281
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29181 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29248 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29178 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29126 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29134
    #collection: Doctrine\Common\Collections\ArrayCollection {#29143 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29122 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38669 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38671 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29281
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29181 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29248 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29178 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Pop Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29134
    #collection: Doctrine\Common\Collections\ArrayCollection {#29143 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29122 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38669 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38671 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29282
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29281
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29181 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29248 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29178 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29126 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29134
      #collection: Doctrine\Common\Collections\ArrayCollection {#29143 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29122 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38669 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38671 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29326 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29333 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29334 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29126 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29338
  +variant: App\Entity\Product\ProductVariant {#29126 …}
  +price: "24,00\u{A0}"
  +originalPrice: "24,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8141 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8136 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29335
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29326 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29333 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29334 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 5.24 ms
Input props
[
  "product" => App\Entity\Product\Product {#8564
    #id: 3063
    #code: "moulin-paris-graphite-peugeot-7499"
    #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
    #variants: Doctrine\ORM\PersistentCollection {#8573 …}
    #options: Doctrine\ORM\PersistentCollection {#8577 …}
    #associations: Doctrine\ORM\PersistentCollection {#8575 …}
    #createdAt: DateTime @1758632748 {#8562
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8563
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8580 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8581
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8564}
        #id: 3063
        #name: "Moulin Paris Graphite Peugeot"
        #slug: "moulin-paris-graphite-peugeot-7499"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.</li>\n
          <li>Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.</li>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris Graphite Peugeot</h1><div class="col is-12">L'embl&eacute;matique Moulin &agrave; poivre Paris Peugeot se pare d'une nouvelle livr&eacute;e anthracite tr&egrave;s tendance. Cette finition l&eacute;g&egrave;rement m&eacute;tallis&eacute;e symbolise la fusion du bois et de l'acier et met en &eacute;vidence les singuli&egrave;res veines du bois. Peinture et vernis hydrosolubles, bois issu de for&ecirc;ts labellis&eacute;es PEFC, le moulin &agrave; poivre Paris graphite est fabriqu&eacute; en France et se veut respectueux de l'environnement. Performant et durable, son m&eacute;canisme est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris Graphite Peugeot</h1><div class="col is-12">- Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosolubles.<br />- R&eacute;glage de mouture U'Select.<br />- M&eacute;canisme garanti sans limiotation de dur&eacute;e.<br />- Taille : 22 &amp; 30 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
    #channels: Doctrine\ORM\PersistentCollection {#8569 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8567 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29188
  +product: App\Entity\Product\Product {#8564
    #id: 3063
    #code: "moulin-paris-graphite-peugeot-7499"
    #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
    #variants: Doctrine\ORM\PersistentCollection {#8573 …}
    #options: Doctrine\ORM\PersistentCollection {#8577 …}
    #associations: Doctrine\ORM\PersistentCollection {#8575 …}
    #createdAt: DateTime @1758632748 {#8562
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8563
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8580 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8581
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8564}
        #id: 3063
        #name: "Moulin Paris Graphite Peugeot"
        #slug: "moulin-paris-graphite-peugeot-7499"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.</li>\n
          <li>Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.</li>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris Graphite Peugeot</h1><div class="col is-12">L'embl&eacute;matique Moulin &agrave; poivre Paris Peugeot se pare d'une nouvelle livr&eacute;e anthracite tr&egrave;s tendance. Cette finition l&eacute;g&egrave;rement m&eacute;tallis&eacute;e symbolise la fusion du bois et de l'acier et met en &eacute;vidence les singuli&egrave;res veines du bois. Peinture et vernis hydrosolubles, bois issu de for&ecirc;ts labellis&eacute;es PEFC, le moulin &agrave; poivre Paris graphite est fabriqu&eacute; en France et se veut respectueux de l'environnement. Performant et durable, son m&eacute;canisme est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris Graphite Peugeot</h1><div class="col is-12">- Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosolubles.<br />- R&eacute;glage de mouture U'Select.<br />- M&eacute;canisme garanti sans limiotation de dur&eacute;e.<br />- Taille : 22 &amp; 30 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
    #channels: Doctrine\ORM\PersistentCollection {#8569 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8567 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29401 …}
  +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 {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.77 ms
Input props
[
  "product" => App\Entity\Product\Product {#8564
    #id: 3063
    #code: "moulin-paris-graphite-peugeot-7499"
    #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
    #variants: Doctrine\ORM\PersistentCollection {#8573 …}
    #options: Doctrine\ORM\PersistentCollection {#8577 …}
    #associations: Doctrine\ORM\PersistentCollection {#8575 …}
    #createdAt: DateTime @1758632748 {#8562
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8563
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8580 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8581
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8564}
        #id: 3063
        #name: "Moulin Paris Graphite Peugeot"
        #slug: "moulin-paris-graphite-peugeot-7499"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.</li>\n
          <li>Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.</li>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris Graphite Peugeot</h1><div class="col is-12">L'embl&eacute;matique Moulin &agrave; poivre Paris Peugeot se pare d'une nouvelle livr&eacute;e anthracite tr&egrave;s tendance. Cette finition l&eacute;g&egrave;rement m&eacute;tallis&eacute;e symbolise la fusion du bois et de l'acier et met en &eacute;vidence les singuli&egrave;res veines du bois. Peinture et vernis hydrosolubles, bois issu de for&ecirc;ts labellis&eacute;es PEFC, le moulin &agrave; poivre Paris graphite est fabriqu&eacute; en France et se veut respectueux de l'environnement. Performant et durable, son m&eacute;canisme est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris Graphite Peugeot</h1><div class="col is-12">- Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosolubles.<br />- R&eacute;glage de mouture U'Select.<br />- M&eacute;canisme garanti sans limiotation de dur&eacute;e.<br />- Taille : 22 &amp; 30 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
    #channels: Doctrine\ORM\PersistentCollection {#8569 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8567 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Paris Graphite Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29472
  -props: [
    "product" => App\Entity\Product\Product {#8564
      #id: 3063
      #code: "moulin-paris-graphite-peugeot-7499"
      #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
      #variants: Doctrine\ORM\PersistentCollection {#8573 …}
      #options: Doctrine\ORM\PersistentCollection {#8577 …}
      #associations: Doctrine\ORM\PersistentCollection {#8575 …}
      #createdAt: DateTime @1758632748 {#8562
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#8563
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8580 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8581
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8564}
          #id: 3063
          #name: "Moulin Paris Graphite Peugeot"
          #slug: "moulin-paris-graphite-peugeot-7499"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.</li>\n
            <li>Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.</li>\n
            <li>Syst&egrave;me U'Select.</li>\n
            <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Descriptif Moulin Paris Graphite Peugeot</h1><div class="col is-12">L'embl&eacute;matique Moulin &agrave; poivre Paris Peugeot se pare d'une nouvelle livr&eacute;e anthracite tr&egrave;s tendance. Cette finition l&eacute;g&egrave;rement m&eacute;tallis&eacute;e symbolise la fusion du bois et de l'acier et met en &eacute;vidence les singuli&egrave;res veines du bois. Peinture et vernis hydrosolubles, bois issu de for&ecirc;ts labellis&eacute;es PEFC, le moulin &agrave; poivre Paris graphite est fabriqu&eacute; en France et se veut respectueux de l'environnement. Performant et durable, son m&eacute;canisme est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris Graphite Peugeot</h1><div class="col is-12">- Bois PEFC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosolubles.<br />- R&eacute;glage de mouture U'Select.<br />- M&eacute;canisme garanti sans limiotation de dur&eacute;e.<br />- Taille : 22 &amp; 30 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
      #channels: Doctrine\ORM\PersistentCollection {#8569 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8567 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.61 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29587
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29456 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29532 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29453 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29401 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29409
    #collection: Doctrine\Common\Collections\ArrayCollection {#29418 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29397 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38683 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38685 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29587
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29456 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29532 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29453 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Paris Graphite Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29409
    #collection: Doctrine\Common\Collections\ArrayCollection {#29418 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29397 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38683 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38685 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29592
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29587
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29456 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29532 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29453 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29401 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29409
      #collection: Doctrine\Common\Collections\ArrayCollection {#29418 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29397 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38683 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38685 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29641
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29632 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29639 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29640 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29401 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29644
  +variant: App\Entity\Product\ProductVariant {#29401 …}
  +price: "35,00\u{A0}"
  +originalPrice: "39,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8141 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8136 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29641
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29632 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29639 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29640 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 4.43 ms
Input props
[
  "product" => App\Entity\Product\Product {#8587
    #id: 3064
    #code: "moulin-bistro-graphite-peugeot-7501"
    #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
    #variants: Doctrine\ORM\PersistentCollection {#8596 …}
    #options: Doctrine\ORM\PersistentCollection {#8600 …}
    #associations: Doctrine\ORM\PersistentCollection {#8598 …}
    #createdAt: DateTime @1758632748 {#8585
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8586
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8603 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8604
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8587}
        #id: 3064
        #name: "Moulin Bistro Graphite Peugeot"
        #slug: "moulin-bistro-graphite-peugeot-7501"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Nouvelle finition graphite.</li>\n
          <li>Teintes &amp; vernis hydrosolubles.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li>Fabriqu&eacute; en France.</li>\n
          </ul></div><h1>Descriptif Moulin Bistro Graphite Peugeot</h1><div class="col is-12">Enti&egrave;rement fabriqu&eacute; dans le Doubs, ce moulin &agrave; poivre est &eacute;quip&eacute; d'un m&eacute;canisme exclusif et garanti sans limitation de dur&eacute;e. Il a &eacute;t&eacute; con&ccedil;u pour moudre parfaitement. Le magnifique bouton qui le surmonte permet de r&eacute;gler la mouture d'un simple geste.</div><h1>Caractéristiques Moulin Bistro Graphite Peugeot</h1><div class="col is-12">- Fabrication fran&ccedil;aise.<br />- Nouvelle finition : gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.<br />- Bois PFEC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte &amp; vernis hydrosolubles.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Taille : 10 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 {#8606 …}
    #channels: Doctrine\ORM\PersistentCollection {#8592 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8590 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29463
  +product: App\Entity\Product\Product {#8587
    #id: 3064
    #code: "moulin-bistro-graphite-peugeot-7501"
    #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
    #variants: Doctrine\ORM\PersistentCollection {#8596 …}
    #options: Doctrine\ORM\PersistentCollection {#8600 …}
    #associations: Doctrine\ORM\PersistentCollection {#8598 …}
    #createdAt: DateTime @1758632748 {#8585
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8586
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8603 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8604
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8587}
        #id: 3064
        #name: "Moulin Bistro Graphite Peugeot"
        #slug: "moulin-bistro-graphite-peugeot-7501"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Nouvelle finition graphite.</li>\n
          <li>Teintes &amp; vernis hydrosolubles.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li>Fabriqu&eacute; en France.</li>\n
          </ul></div><h1>Descriptif Moulin Bistro Graphite Peugeot</h1><div class="col is-12">Enti&egrave;rement fabriqu&eacute; dans le Doubs, ce moulin &agrave; poivre est &eacute;quip&eacute; d'un m&eacute;canisme exclusif et garanti sans limitation de dur&eacute;e. Il a &eacute;t&eacute; con&ccedil;u pour moudre parfaitement. Le magnifique bouton qui le surmonte permet de r&eacute;gler la mouture d'un simple geste.</div><h1>Caractéristiques Moulin Bistro Graphite Peugeot</h1><div class="col is-12">- Fabrication fran&ccedil;aise.<br />- Nouvelle finition : gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.<br />- Bois PFEC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte &amp; vernis hydrosolubles.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Taille : 10 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 {#8606 …}
    #channels: Doctrine\ORM\PersistentCollection {#8592 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8590 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29707 …}
  +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 {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.76 ms
Input props
[
  "product" => App\Entity\Product\Product {#8587
    #id: 3064
    #code: "moulin-bistro-graphite-peugeot-7501"
    #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
    #variants: Doctrine\ORM\PersistentCollection {#8596 …}
    #options: Doctrine\ORM\PersistentCollection {#8600 …}
    #associations: Doctrine\ORM\PersistentCollection {#8598 …}
    #createdAt: DateTime @1758632748 {#8585
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8586
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8603 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8604
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8587}
        #id: 3064
        #name: "Moulin Bistro Graphite Peugeot"
        #slug: "moulin-bistro-graphite-peugeot-7501"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Nouvelle finition graphite.</li>\n
          <li>Teintes &amp; vernis hydrosolubles.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li>Fabriqu&eacute; en France.</li>\n
          </ul></div><h1>Descriptif Moulin Bistro Graphite Peugeot</h1><div class="col is-12">Enti&egrave;rement fabriqu&eacute; dans le Doubs, ce moulin &agrave; poivre est &eacute;quip&eacute; d'un m&eacute;canisme exclusif et garanti sans limitation de dur&eacute;e. Il a &eacute;t&eacute; con&ccedil;u pour moudre parfaitement. Le magnifique bouton qui le surmonte permet de r&eacute;gler la mouture d'un simple geste.</div><h1>Caractéristiques Moulin Bistro Graphite Peugeot</h1><div class="col is-12">- Fabrication fran&ccedil;aise.<br />- Nouvelle finition : gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.<br />- Bois PFEC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte &amp; vernis hydrosolubles.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Taille : 10 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 {#8606 …}
    #channels: Doctrine\ORM\PersistentCollection {#8592 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8590 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Bistro Graphite Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29778
  -props: [
    "product" => App\Entity\Product\Product {#8587
      #id: 3064
      #code: "moulin-bistro-graphite-peugeot-7501"
      #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
      #variants: Doctrine\ORM\PersistentCollection {#8596 …}
      #options: Doctrine\ORM\PersistentCollection {#8600 …}
      #associations: Doctrine\ORM\PersistentCollection {#8598 …}
      #createdAt: DateTime @1758632748 {#8585
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#8586
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8603 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8604
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8587}
          #id: 3064
          #name: "Moulin Bistro Graphite Peugeot"
          #slug: "moulin-bistro-graphite-peugeot-7501"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Nouvelle finition graphite.</li>\n
            <li>Teintes &amp; vernis hydrosolubles.</li>\n
            <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
            <li>Fabriqu&eacute; en France.</li>\n
            </ul></div><h1>Descriptif Moulin Bistro Graphite Peugeot</h1><div class="col is-12">Enti&egrave;rement fabriqu&eacute; dans le Doubs, ce moulin &agrave; poivre est &eacute;quip&eacute; d'un m&eacute;canisme exclusif et garanti sans limitation de dur&eacute;e. Il a &eacute;t&eacute; con&ccedil;u pour moudre parfaitement. Le magnifique bouton qui le surmonte permet de r&eacute;gler la mouture d'un simple geste.</div><h1>Caractéristiques Moulin Bistro Graphite Peugeot</h1><div class="col is-12">- Fabrication fran&ccedil;aise.<br />- Nouvelle finition : gris anthracite avec effet l&eacute;g&egrave;rement m&eacute;tallis&eacute;.<br />- Bois PFEC issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte &amp; vernis hydrosolubles.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Taille : 10 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 {#8606 …}
      #channels: Doctrine\ORM\PersistentCollection {#8592 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8590 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29849
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29762 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29838 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29759 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29707 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29715
    #collection: Doctrine\Common\Collections\ArrayCollection {#29724 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29703 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38697 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38699 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29849
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29762 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29838 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29759 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Bistro Graphite Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29715
    #collection: Doctrine\Common\Collections\ArrayCollection {#29724 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29703 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38697 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38699 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29854
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29849
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29762 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29838 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29759 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29707 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29715
      #collection: Doctrine\Common\Collections\ArrayCollection {#29724 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29703 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38697 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38699 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.17 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29903
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29894 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29901 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29902 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29707 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29906
  +variant: App\Entity\Product\ProductVariant {#29707 …}
  +price: "24,00\u{A0}"
  +originalPrice: "26,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8141 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8136 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29903
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29894 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29901 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29902 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 4.72 ms
Input props
[
  "product" => App\Entity\Product\Product {#8610
    #id: 3065
    #code: "moulin-bistro-bois-d-olivier-peugeot-7541"
    #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
    #variants: Doctrine\ORM\PersistentCollection {#8619 …}
    #options: Doctrine\ORM\PersistentCollection {#8623 …}
    #associations: Doctrine\ORM\PersistentCollection {#8621 …}
    #createdAt: DateTime @1758632748 {#8608
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8609
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8626 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8627
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8610}
        #id: 3065
        #name: "Moulin Bistro bois d'Olivier Peugeot"
        #slug: "moulin-bistro-bois-d-olivier-peugeot-7541"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Noblesse &amp; authenticit&eacute;.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Bistro bois d'Olivier Peugeot</h1><div class="col is-12">Noble et authentique, le bois d'olivier, issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es dans le respect des ressources naturelles, donne &agrave; l'iconique moulin Bistro de Peugeot sa personnnalit&eacute; et son caract&egrave;re. Compact, 10 cm, il est le compagnon id&eacute;al de votre table. Pratique, le bouton situ&eacute; sur la t&ecirc;te du moulin &agrave; poivre permet de r&eacute;gler facilement la taille de la mouture.</div><h1>Caractéristiques Moulin Bistro bois d'Olivier Peugeot</h1><div class="col is-12">- Fabrication fran&ccedil;aise.<br />- Bois noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Taille : 10 cm.<br />- Moulin &agrave; sel utilisable avec avec des cristaux de sel sec (sel gemme) d'une taille max de 4 mm. <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )<br />- Moulin &agrave; poivre utilisable avec poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre.<br />&nbsp; (15% maxi dans un m&eacute;lange de poivre)</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
    #channels: Doctrine\ORM\PersistentCollection {#8615 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8613 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29769
  +product: App\Entity\Product\Product {#8610
    #id: 3065
    #code: "moulin-bistro-bois-d-olivier-peugeot-7541"
    #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
    #variants: Doctrine\ORM\PersistentCollection {#8619 …}
    #options: Doctrine\ORM\PersistentCollection {#8623 …}
    #associations: Doctrine\ORM\PersistentCollection {#8621 …}
    #createdAt: DateTime @1758632748 {#8608
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8609
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8626 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8627
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8610}
        #id: 3065
        #name: "Moulin Bistro bois d'Olivier Peugeot"
        #slug: "moulin-bistro-bois-d-olivier-peugeot-7541"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Noblesse &amp; authenticit&eacute;.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Bistro bois d'Olivier Peugeot</h1><div class="col is-12">Noble et authentique, le bois d'olivier, issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es dans le respect des ressources naturelles, donne &agrave; l'iconique moulin Bistro de Peugeot sa personnnalit&eacute; et son caract&egrave;re. Compact, 10 cm, il est le compagnon id&eacute;al de votre table. Pratique, le bouton situ&eacute; sur la t&ecirc;te du moulin &agrave; poivre permet de r&eacute;gler facilement la taille de la mouture.</div><h1>Caractéristiques Moulin Bistro bois d'Olivier Peugeot</h1><div class="col is-12">- Fabrication fran&ccedil;aise.<br />- Bois noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Taille : 10 cm.<br />- Moulin &agrave; sel utilisable avec avec des cristaux de sel sec (sel gemme) d'une taille max de 4 mm. <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )<br />- Moulin &agrave; poivre utilisable avec poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre.<br />&nbsp; (15% maxi dans un m&eacute;lange de poivre)</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
    #channels: Doctrine\ORM\PersistentCollection {#8615 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8613 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29969 …}
  +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 {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.75 ms
Input props
[
  "product" => App\Entity\Product\Product {#8610
    #id: 3065
    #code: "moulin-bistro-bois-d-olivier-peugeot-7541"
    #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
    #variants: Doctrine\ORM\PersistentCollection {#8619 …}
    #options: Doctrine\ORM\PersistentCollection {#8623 …}
    #associations: Doctrine\ORM\PersistentCollection {#8621 …}
    #createdAt: DateTime @1758632748 {#8608
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8609
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8626 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8627
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8610}
        #id: 3065
        #name: "Moulin Bistro bois d'Olivier Peugeot"
        #slug: "moulin-bistro-bois-d-olivier-peugeot-7541"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Noblesse &amp; authenticit&eacute;.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Bistro bois d'Olivier Peugeot</h1><div class="col is-12">Noble et authentique, le bois d'olivier, issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es dans le respect des ressources naturelles, donne &agrave; l'iconique moulin Bistro de Peugeot sa personnnalit&eacute; et son caract&egrave;re. Compact, 10 cm, il est le compagnon id&eacute;al de votre table. Pratique, le bouton situ&eacute; sur la t&ecirc;te du moulin &agrave; poivre permet de r&eacute;gler facilement la taille de la mouture.</div><h1>Caractéristiques Moulin Bistro bois d'Olivier Peugeot</h1><div class="col is-12">- Fabrication fran&ccedil;aise.<br />- Bois noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Taille : 10 cm.<br />- Moulin &agrave; sel utilisable avec avec des cristaux de sel sec (sel gemme) d'une taille max de 4 mm. <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )<br />- Moulin &agrave; poivre utilisable avec poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre.<br />&nbsp; (15% maxi dans un m&eacute;lange de poivre)</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
    #channels: Doctrine\ORM\PersistentCollection {#8615 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8613 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Bistro bois d'Olivier Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30040
  -props: [
    "product" => App\Entity\Product\Product {#8610
      #id: 3065
      #code: "moulin-bistro-bois-d-olivier-peugeot-7541"
      #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
      #variants: Doctrine\ORM\PersistentCollection {#8619 …}
      #options: Doctrine\ORM\PersistentCollection {#8623 …}
      #associations: Doctrine\ORM\PersistentCollection {#8621 …}
      #createdAt: DateTime @1758632748 {#8608
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#8609
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8626 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8627
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8610}
          #id: 3065
          #name: "Moulin Bistro bois d'Olivier Peugeot"
          #slug: "moulin-bistro-bois-d-olivier-peugeot-7541"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Noblesse &amp; authenticit&eacute;.</li>\n
            <li>Toucher velout&eacute;.</li>\n
            <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Descriptif Moulin Bistro bois d'Olivier Peugeot</h1><div class="col is-12">Noble et authentique, le bois d'olivier, issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es dans le respect des ressources naturelles, donne &agrave; l'iconique moulin Bistro de Peugeot sa personnnalit&eacute; et son caract&egrave;re. Compact, 10 cm, il est le compagnon id&eacute;al de votre table. Pratique, le bouton situ&eacute; sur la t&ecirc;te du moulin &agrave; poivre permet de r&eacute;gler facilement la taille de la mouture.</div><h1>Caractéristiques Moulin Bistro bois d'Olivier Peugeot</h1><div class="col is-12">- Fabrication fran&ccedil;aise.<br />- Bois noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Taille : 10 cm.<br />- Moulin &agrave; sel utilisable avec avec des cristaux de sel sec (sel gemme) d'une taille max de 4 mm. <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )<br />- Moulin &agrave; poivre utilisable avec poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre.<br />&nbsp; (15% maxi dans un m&eacute;lange de poivre)</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
      #channels: Doctrine\ORM\PersistentCollection {#8615 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8613 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.64 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30122
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30024 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30100 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30021 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29969 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29977
    #collection: Doctrine\Common\Collections\ArrayCollection {#29986 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29965 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38711 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38713 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30122
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30024 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30100 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30021 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Bistro bois d'Olivier Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29977
    #collection: Doctrine\Common\Collections\ArrayCollection {#29986 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29965 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38711 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38713 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30125
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30122
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30024 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30100 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30021 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29969 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29977
      #collection: Doctrine\Common\Collections\ArrayCollection {#29986 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29965 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38711 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38713 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30176
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30167 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30174 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29969 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30179
  +variant: App\Entity\Product\ProductVariant {#29969 …}
  +price: "76,00\u{A0}"
  +originalPrice: "84,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8141 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8136 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30176
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30167 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30174 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30175 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 5.04 ms
Input props
[
  "product" => App\Entity\Product\Product {#8633
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
    #variants: Doctrine\ORM\PersistentCollection {#8642 …}
    #options: Doctrine\ORM\PersistentCollection {#8646 …}
    #associations: Doctrine\ORM\PersistentCollection {#8644 …}
    #createdAt: DateTime @1758632748 {#8631
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8632
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8649 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8650
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8633}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
    #channels: Doctrine\ORM\PersistentCollection {#8638 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8636 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30031
  +product: App\Entity\Product\Product {#8633
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
    #variants: Doctrine\ORM\PersistentCollection {#8642 …}
    #options: Doctrine\ORM\PersistentCollection {#8646 …}
    #associations: Doctrine\ORM\PersistentCollection {#8644 …}
    #createdAt: DateTime @1758632748 {#8631
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8632
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8649 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8650
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8633}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
    #channels: Doctrine\ORM\PersistentCollection {#8638 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8636 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30242 …}
  +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 {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.77 ms
Input props
[
  "product" => App\Entity\Product\Product {#8633
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
    #variants: Doctrine\ORM\PersistentCollection {#8642 …}
    #options: Doctrine\ORM\PersistentCollection {#8646 …}
    #associations: Doctrine\ORM\PersistentCollection {#8644 …}
    #createdAt: DateTime @1758632748 {#8631
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8632
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8649 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8650
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8633}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
    #channels: Doctrine\ORM\PersistentCollection {#8638 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8636 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Paris bois d'Olivier Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30313
  -props: [
    "product" => App\Entity\Product\Product {#8633
      #id: 3066
      #code: "moulin-paris-bois-d-olivier-peugeot-7542"
      #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
      #variants: Doctrine\ORM\PersistentCollection {#8642 …}
      #options: Doctrine\ORM\PersistentCollection {#8646 …}
      #associations: Doctrine\ORM\PersistentCollection {#8644 …}
      #createdAt: DateTime @1758632748 {#8631
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#8632
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8649 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8650
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8633}
          #id: 3066
          #name: "Moulin Paris bois d'Olivier Peugeot"
          #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
            <li>Toucher velout&eacute;.</li>\n
            <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
      #channels: Doctrine\ORM\PersistentCollection {#8638 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8636 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.62 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30406
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30297 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30373 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30294 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30242 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30250
    #collection: Doctrine\Common\Collections\ArrayCollection {#30259 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30238 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38725 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38727 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30406
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30297 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30373 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30294 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Paris bois d'Olivier Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30250
    #collection: Doctrine\Common\Collections\ArrayCollection {#30259 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30238 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38725 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38727 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30407
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30406
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30297 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30373 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30294 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30242 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30250
      #collection: Doctrine\Common\Collections\ArrayCollection {#30259 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30238 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38725 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38727 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30460
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30451 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30458 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30459 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30242 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30463
  +variant: App\Entity\Product\ProductVariant {#30242 …}
  +price: "62,00\u{A0}"
  +originalPrice: "69,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8141 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8136 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30460
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30451 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30458 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30459 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 4.48 ms
Input props
[
  "product" => App\Entity\Product\Product {#8656
    #id: 3067
    #code: "moulin-chatel-peugeot-7568"
    #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
    #variants: Doctrine\ORM\PersistentCollection {#8665 …}
    #options: Doctrine\ORM\PersistentCollection {#8669 …}
    #associations: Doctrine\ORM\PersistentCollection {#8667 …}
    #createdAt: DateTime @1758632748 {#8654
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8655
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8672 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8673
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8656}
        #id: 3067
        #name: "Moulin Chatel Peugeot"
        #slug: "moulin-chatel-peugeot-7568"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Noyer.</li>\n
          <li>M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Chatel Peugeot</h1><div class="col is-12">Con&ccedil;u et r&eacute;alis&eacute; tout en sobri&eacute;t&eacute; avec un design contemporain minimaliste, le moulin Chatel Peugeot Noyer apportera sur votre table ou en cuisine une touche chaleureuse. Son m&eacute;canisme en acier est garanti sans limitation de dur&eacute;e et son bouton grav&eacute; t&ecirc;te de lion permet de r&eacute;gler la mouture.</div><h1>Caractéristiques Moulin Chatel Peugeot</h1><div class="col is-12"><strong><em>Moulin &agrave; Poivre</em></strong><br />- Noyer.<br />- R&eacute;glage classique.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- Taille : 21 cm.<br /><br /><strong><em>Moulin &agrave; Sel</em></strong><br />- Noyer.<br />- R&eacute;glage classique.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- Taille : 21 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 {#8675 …}
    #channels: Doctrine\ORM\PersistentCollection {#8661 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8659 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30304
  +product: App\Entity\Product\Product {#8656
    #id: 3067
    #code: "moulin-chatel-peugeot-7568"
    #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
    #variants: Doctrine\ORM\PersistentCollection {#8665 …}
    #options: Doctrine\ORM\PersistentCollection {#8669 …}
    #associations: Doctrine\ORM\PersistentCollection {#8667 …}
    #createdAt: DateTime @1758632748 {#8654
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8655
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8672 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8673
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8656}
        #id: 3067
        #name: "Moulin Chatel Peugeot"
        #slug: "moulin-chatel-peugeot-7568"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Noyer.</li>\n
          <li>M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Chatel Peugeot</h1><div class="col is-12">Con&ccedil;u et r&eacute;alis&eacute; tout en sobri&eacute;t&eacute; avec un design contemporain minimaliste, le moulin Chatel Peugeot Noyer apportera sur votre table ou en cuisine une touche chaleureuse. Son m&eacute;canisme en acier est garanti sans limitation de dur&eacute;e et son bouton grav&eacute; t&ecirc;te de lion permet de r&eacute;gler la mouture.</div><h1>Caractéristiques Moulin Chatel Peugeot</h1><div class="col is-12"><strong><em>Moulin &agrave; Poivre</em></strong><br />- Noyer.<br />- R&eacute;glage classique.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- Taille : 21 cm.<br /><br /><strong><em>Moulin &agrave; Sel</em></strong><br />- Noyer.<br />- R&eacute;glage classique.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- Taille : 21 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 {#8675 …}
    #channels: Doctrine\ORM\PersistentCollection {#8661 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8659 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30526 …}
  +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 {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.75 ms
Input props
[
  "product" => App\Entity\Product\Product {#8656
    #id: 3067
    #code: "moulin-chatel-peugeot-7568"
    #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
    #variants: Doctrine\ORM\PersistentCollection {#8665 …}
    #options: Doctrine\ORM\PersistentCollection {#8669 …}
    #associations: Doctrine\ORM\PersistentCollection {#8667 …}
    #createdAt: DateTime @1758632748 {#8654
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8655
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8672 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8673
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8656}
        #id: 3067
        #name: "Moulin Chatel Peugeot"
        #slug: "moulin-chatel-peugeot-7568"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Noyer.</li>\n
          <li>M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul></div><h1>Descriptif Moulin Chatel Peugeot</h1><div class="col is-12">Con&ccedil;u et r&eacute;alis&eacute; tout en sobri&eacute;t&eacute; avec un design contemporain minimaliste, le moulin Chatel Peugeot Noyer apportera sur votre table ou en cuisine une touche chaleureuse. Son m&eacute;canisme en acier est garanti sans limitation de dur&eacute;e et son bouton grav&eacute; t&ecirc;te de lion permet de r&eacute;gler la mouture.</div><h1>Caractéristiques Moulin Chatel Peugeot</h1><div class="col is-12"><strong><em>Moulin &agrave; Poivre</em></strong><br />- Noyer.<br />- R&eacute;glage classique.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- Taille : 21 cm.<br /><br /><strong><em>Moulin &agrave; Sel</em></strong><br />- Noyer.<br />- R&eacute;glage classique.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- Taille : 21 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 {#8675 …}
    #channels: Doctrine\ORM\PersistentCollection {#8661 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8659 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Chatel Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30597
  -props: [
    "product" => App\Entity\Product\Product {#8656
      #id: 3067
      #code: "moulin-chatel-peugeot-7568"
      #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
      #variants: Doctrine\ORM\PersistentCollection {#8665 …}
      #options: Doctrine\ORM\PersistentCollection {#8669 …}
      #associations: Doctrine\ORM\PersistentCollection {#8667 …}
      #createdAt: DateTime @1758632748 {#8654
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#8655
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8672 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8673
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8656}
          #id: 3067
          #name: "Moulin Chatel Peugeot"
          #slug: "moulin-chatel-peugeot-7568"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Noyer.</li>\n
            <li>M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.</li>\n
            <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
            </ul></div><h1>Descriptif Moulin Chatel Peugeot</h1><div class="col is-12">Con&ccedil;u et r&eacute;alis&eacute; tout en sobri&eacute;t&eacute; avec un design contemporain minimaliste, le moulin Chatel Peugeot Noyer apportera sur votre table ou en cuisine une touche chaleureuse. Son m&eacute;canisme en acier est garanti sans limitation de dur&eacute;e et son bouton grav&eacute; t&ecirc;te de lion permet de r&eacute;gler la mouture.</div><h1>Caractéristiques Moulin Chatel Peugeot</h1><div class="col is-12"><strong><em>Moulin &agrave; Poivre</em></strong><br />- Noyer.<br />- R&eacute;glage classique.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- Taille : 21 cm.<br /><br /><strong><em>Moulin &agrave; Sel</em></strong><br />- Noyer.<br />- R&eacute;glage classique.<br />- M&eacute;canisme en acier garanti sans limitation de dur&eacute;e.<br />- Taille : 21 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 {#8675 …}
      #channels: Doctrine\ORM\PersistentCollection {#8661 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8659 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.60 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30671
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30581 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30657 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30578 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30526 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30534
    #collection: Doctrine\Common\Collections\ArrayCollection {#30543 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30522 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38739 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38741 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30671
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30581 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30657 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30578 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Chatel Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30534
    #collection: Doctrine\Common\Collections\ArrayCollection {#30543 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30522 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38739 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38741 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30676
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30671
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30581 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30657 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30578 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30526 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30534
      #collection: Doctrine\Common\Collections\ArrayCollection {#30543 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30522 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38739 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38741 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30725
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30716 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30723 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30526 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30728
  +variant: App\Entity\Product\ProductVariant {#30526 …}
  +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 {#8141 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8136 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30725
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30716 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30723 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30724 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 4.89 ms
Input props
[
  "product" => App\Entity\Product\Product {#8679
    #id: 3068
    #code: "moulin-meribel-peugeot-7569"
    #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
    #variants: Doctrine\ORM\PersistentCollection {#8688 …}
    #options: Doctrine\ORM\PersistentCollection {#8692 …}
    #associations: Doctrine\ORM\PersistentCollection {#8690 …}
    #createdAt: DateTime @1758632748 {#8677
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8678
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4834 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4835
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8679}
        #id: 3068
        #name: "Moulin Méribel Peugeot"
        #slug: "moulin-meribel-peugeot-7569"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Corps noyer enrob&eacute; d'acrylique, premi&egrave;re mondiale.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          </ul></div><h1>Descriptif Moulin Méribel Peugeot</h1><div class="col is-12">Tout Schuss avec le nouveau Moulin &agrave; Poivre/Sel en noyer M&eacute;ribel Peugeot envelopp&eacute; d'acryl pour le prot&eacute;ger et le magnifier. Cette premi&egrave;re mondiale est le r&eacute;sultat de plusieurs ann&eacute;es de recherche et de d&eacute;veloppement men&eacute;es en collaboration avec une entreprise fran&ccedil;aise experte dans l'injection. Les b&eacute;n&eacute;fices sont nombreux &agrave; commencer par un contraste esth&eacute;tique remarquable entre le corps du moulin tr&egrave;s brillant et son chapeau tr&egrave;s mate. Le traitement &agrave; l'acryl permet aussi de pr&eacute;server le bois de l'humidit&eacute; pour une utilisation intensive.</div><h1>Caractéristiques Moulin Méribel Peugeot</h1><div class="col is-12">- Bois et Acryl.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- R&eacute;glage de la mouture.<br />- Taille : 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4829 …}
    #channels: Doctrine\ORM\PersistentCollection {#8684 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8682 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30588
  +product: App\Entity\Product\Product {#8679
    #id: 3068
    #code: "moulin-meribel-peugeot-7569"
    #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
    #variants: Doctrine\ORM\PersistentCollection {#8688 …}
    #options: Doctrine\ORM\PersistentCollection {#8692 …}
    #associations: Doctrine\ORM\PersistentCollection {#8690 …}
    #createdAt: DateTime @1758632748 {#8677
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8678
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4834 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4835
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8679}
        #id: 3068
        #name: "Moulin Méribel Peugeot"
        #slug: "moulin-meribel-peugeot-7569"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Corps noyer enrob&eacute; d'acrylique, premi&egrave;re mondiale.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          </ul></div><h1>Descriptif Moulin Méribel Peugeot</h1><div class="col is-12">Tout Schuss avec le nouveau Moulin &agrave; Poivre/Sel en noyer M&eacute;ribel Peugeot envelopp&eacute; d'acryl pour le prot&eacute;ger et le magnifier. Cette premi&egrave;re mondiale est le r&eacute;sultat de plusieurs ann&eacute;es de recherche et de d&eacute;veloppement men&eacute;es en collaboration avec une entreprise fran&ccedil;aise experte dans l'injection. Les b&eacute;n&eacute;fices sont nombreux &agrave; commencer par un contraste esth&eacute;tique remarquable entre le corps du moulin tr&egrave;s brillant et son chapeau tr&egrave;s mate. Le traitement &agrave; l'acryl permet aussi de pr&eacute;server le bois de l'humidit&eacute; pour une utilisation intensive.</div><h1>Caractéristiques Moulin Méribel Peugeot</h1><div class="col is-12">- Bois et Acryl.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- R&eacute;glage de la mouture.<br />- Taille : 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4829 …}
    #channels: Doctrine\ORM\PersistentCollection {#8684 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8682 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30791 …}
  +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 {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.83 ms
Input props
[
  "product" => App\Entity\Product\Product {#8679
    #id: 3068
    #code: "moulin-meribel-peugeot-7569"
    #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
    #variants: Doctrine\ORM\PersistentCollection {#8688 …}
    #options: Doctrine\ORM\PersistentCollection {#8692 …}
    #associations: Doctrine\ORM\PersistentCollection {#8690 …}
    #createdAt: DateTime @1758632748 {#8677
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8678
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4834 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4835
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8679}
        #id: 3068
        #name: "Moulin Méribel Peugeot"
        #slug: "moulin-meribel-peugeot-7569"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Corps noyer enrob&eacute; d'acrylique, premi&egrave;re mondiale.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          </ul></div><h1>Descriptif Moulin Méribel Peugeot</h1><div class="col is-12">Tout Schuss avec le nouveau Moulin &agrave; Poivre/Sel en noyer M&eacute;ribel Peugeot envelopp&eacute; d'acryl pour le prot&eacute;ger et le magnifier. Cette premi&egrave;re mondiale est le r&eacute;sultat de plusieurs ann&eacute;es de recherche et de d&eacute;veloppement men&eacute;es en collaboration avec une entreprise fran&ccedil;aise experte dans l'injection. Les b&eacute;n&eacute;fices sont nombreux &agrave; commencer par un contraste esth&eacute;tique remarquable entre le corps du moulin tr&egrave;s brillant et son chapeau tr&egrave;s mate. Le traitement &agrave; l'acryl permet aussi de pr&eacute;server le bois de l'humidit&eacute; pour une utilisation intensive.</div><h1>Caractéristiques Moulin Méribel Peugeot</h1><div class="col is-12">- Bois et Acryl.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- R&eacute;glage de la mouture.<br />- Taille : 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4829 …}
    #channels: Doctrine\ORM\PersistentCollection {#8684 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8682 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Méribel Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30865
  -props: [
    "product" => App\Entity\Product\Product {#8679
      #id: 3068
      #code: "moulin-meribel-peugeot-7569"
      #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
      #variants: Doctrine\ORM\PersistentCollection {#8688 …}
      #options: Doctrine\ORM\PersistentCollection {#8692 …}
      #associations: Doctrine\ORM\PersistentCollection {#8690 …}
      #createdAt: DateTime @1758632748 {#8677
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#8678
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#4834 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#4835
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8679}
          #id: 3068
          #name: "Moulin Méribel Peugeot"
          #slug: "moulin-meribel-peugeot-7569"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Corps noyer enrob&eacute; d'acrylique, premi&egrave;re mondiale.</li>\n
            <li>R&eacute;glage de la mouture.</li>\n
            <li>M&eacute;canismes garantis &agrave; vie.</li>\n
            </ul></div><h1>Descriptif Moulin Méribel Peugeot</h1><div class="col is-12">Tout Schuss avec le nouveau Moulin &agrave; Poivre/Sel en noyer M&eacute;ribel Peugeot envelopp&eacute; d'acryl pour le prot&eacute;ger et le magnifier. Cette premi&egrave;re mondiale est le r&eacute;sultat de plusieurs ann&eacute;es de recherche et de d&eacute;veloppement men&eacute;es en collaboration avec une entreprise fran&ccedil;aise experte dans l'injection. Les b&eacute;n&eacute;fices sont nombreux &agrave; commencer par un contraste esth&eacute;tique remarquable entre le corps du moulin tr&egrave;s brillant et son chapeau tr&egrave;s mate. Le traitement &agrave; l'acryl permet aussi de pr&eacute;server le bois de l'humidit&eacute; pour une utilisation intensive.</div><h1>Caractéristiques Moulin Méribel Peugeot</h1><div class="col is-12">- Bois et Acryl.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- R&eacute;glage de la mouture.<br />- Taille : 14 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#4829 …}
      #channels: Doctrine\ORM\PersistentCollection {#8684 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8682 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30933
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30849 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30922 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30846 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30791 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30799
    #collection: Doctrine\Common\Collections\ArrayCollection {#30811 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30787 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38753 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38755 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30933
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30849 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30922 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30846 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Méribel Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30799
    #collection: Doctrine\Common\Collections\ArrayCollection {#30811 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30787 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38753 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38755 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30938
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30933
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30849 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30922 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30846 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30791 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30799
      #collection: Doctrine\Common\Collections\ArrayCollection {#30811 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30787 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38753 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38755 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.16 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30987
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30978 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30985 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30986 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30791 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30990
  +variant: App\Entity\Product\ProductVariant {#30791 …}
  +price: "49,00\u{A0}"
  +originalPrice: "54,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8141 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8136 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30987
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30978 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30985 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30986 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 6.60 ms
Input props
[
  "product" => App\Entity\Product\Product {#4837
    #id: 3069
    #code: "moulin-bistro-couleur-peugeot-7750"
    #attributes: Doctrine\ORM\PersistentCollection {#4848 …}
    #variants: Doctrine\ORM\PersistentCollection {#4845 …}
    #options: Doctrine\ORM\PersistentCollection {#4844 …}
    #associations: Doctrine\ORM\PersistentCollection {#4857 …}
    #createdAt: DateTime @1758632748 {#4840
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#4826
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5145 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5146
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4837}
        #id: 3069
        #name: "Moulin Bistro Couleur Peugeot"
        #slug: "moulin-bistro-couleur-peugeot-7750"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Icone Peugeot.</li>\n
          <li>Bois de h&ecirc;tre.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          </ul></div><h1>Descriptif Moulin Bistro Couleur Peugeot</h1><div class="col is-12">Icone de la marque Peugeot cr&eacute;e en 1874, le Moulin Bistro se d&eacute;cline d&eacute;sormais en couleurs fra&icirc;ches et vitamin&eacute;es pour apporter des touches chatoyantes sur vos tables. Fabriqu&eacute;s en Franche-Comt&eacute; avec du bois de h&ecirc;tre issu de for&ecirc;ts g&eacute;r&eacute;es durablement, ces moulins sont &eacute;quip&eacute;s d'un m&eacute;canisme Peugeot garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Bistro Couleur Peugeot</h1><div class="col is-12">- Bois de h&ecirc;tre issu de for&ecirc;ts g&eacute;r&eacute;es durablement.<br />- M&eacute;canismes Peugeot garantis sans limitation de dur&eacute;e.<br />- Coloris : rose bonbon, aubergine, ivoire, pistache, bleu pacifique, terracotta, ardoise, rouge passion.</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 {#5157 …}
    #channels: Doctrine\ORM\PersistentCollection {#4850 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4827 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4830 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30856
  +product: App\Entity\Product\Product {#4837
    #id: 3069
    #code: "moulin-bistro-couleur-peugeot-7750"
    #attributes: Doctrine\ORM\PersistentCollection {#4848 …}
    #variants: Doctrine\ORM\PersistentCollection {#4845 …}
    #options: Doctrine\ORM\PersistentCollection {#4844 …}
    #associations: Doctrine\ORM\PersistentCollection {#4857 …}
    #createdAt: DateTime @1758632748 {#4840
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#4826
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5145 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5146
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4837}
        #id: 3069
        #name: "Moulin Bistro Couleur Peugeot"
        #slug: "moulin-bistro-couleur-peugeot-7750"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Icone Peugeot.</li>\n
          <li>Bois de h&ecirc;tre.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          </ul></div><h1>Descriptif Moulin Bistro Couleur Peugeot</h1><div class="col is-12">Icone de la marque Peugeot cr&eacute;e en 1874, le Moulin Bistro se d&eacute;cline d&eacute;sormais en couleurs fra&icirc;ches et vitamin&eacute;es pour apporter des touches chatoyantes sur vos tables. Fabriqu&eacute;s en Franche-Comt&eacute; avec du bois de h&ecirc;tre issu de for&ecirc;ts g&eacute;r&eacute;es durablement, ces moulins sont &eacute;quip&eacute;s d'un m&eacute;canisme Peugeot garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Bistro Couleur Peugeot</h1><div class="col is-12">- Bois de h&ecirc;tre issu de for&ecirc;ts g&eacute;r&eacute;es durablement.<br />- M&eacute;canismes Peugeot garantis sans limitation de dur&eacute;e.<br />- Coloris : rose bonbon, aubergine, ivoire, pistache, bleu pacifique, terracotta, ardoise, rouge passion.</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 {#5157 …}
    #channels: Doctrine\ORM\PersistentCollection {#4850 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4827 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4830 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#31053 …}
  +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 {#27718
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27751 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27757 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27744 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.91 ms
Input props
[
  "product" => App\Entity\Product\Product {#4837
    #id: 3069
    #code: "moulin-bistro-couleur-peugeot-7750"
    #attributes: Doctrine\ORM\PersistentCollection {#4848 …}
    #variants: Doctrine\ORM\PersistentCollection {#4845 …}
    #options: Doctrine\ORM\PersistentCollection {#4844 …}
    #associations: Doctrine\ORM\PersistentCollection {#4857 …}
    #createdAt: DateTime @1758632748 {#4840
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#4826
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5145 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5146
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4837}
        #id: 3069
        #name: "Moulin Bistro Couleur Peugeot"
        #slug: "moulin-bistro-couleur-peugeot-7750"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Icone Peugeot.</li>\n
          <li>Bois de h&ecirc;tre.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          </ul></div><h1>Descriptif Moulin Bistro Couleur Peugeot</h1><div class="col is-12">Icone de la marque Peugeot cr&eacute;e en 1874, le Moulin Bistro se d&eacute;cline d&eacute;sormais en couleurs fra&icirc;ches et vitamin&eacute;es pour apporter des touches chatoyantes sur vos tables. Fabriqu&eacute;s en Franche-Comt&eacute; avec du bois de h&ecirc;tre issu de for&ecirc;ts g&eacute;r&eacute;es durablement, ces moulins sont &eacute;quip&eacute;s d'un m&eacute;canisme Peugeot garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Bistro Couleur Peugeot</h1><div class="col is-12">- Bois de h&ecirc;tre issu de for&ecirc;ts g&eacute;r&eacute;es durablement.<br />- M&eacute;canismes Peugeot garantis sans limitation de dur&eacute;e.<br />- Coloris : rose bonbon, aubergine, ivoire, pistache, bleu pacifique, terracotta, ardoise, rouge passion.</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 {#5157 …}
    #channels: Doctrine\ORM\PersistentCollection {#4850 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4827 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4830 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Bistro Couleur Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31124
  -props: [
    "product" => App\Entity\Product\Product {#4837
      #id: 3069
      #code: "moulin-bistro-couleur-peugeot-7750"
      #attributes: Doctrine\ORM\PersistentCollection {#4848 …}
      #variants: Doctrine\ORM\PersistentCollection {#4845 …}
      #options: Doctrine\ORM\PersistentCollection {#4844 …}
      #associations: Doctrine\ORM\PersistentCollection {#4857 …}
      #createdAt: DateTime @1758632748 {#4840
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#4826
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#5145 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#5146
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#4837}
          #id: 3069
          #name: "Moulin Bistro Couleur Peugeot"
          #slug: "moulin-bistro-couleur-peugeot-7750"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Icone Peugeot.</li>\n
            <li>Bois de h&ecirc;tre.</li>\n
            <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
            </ul></div><h1>Descriptif Moulin Bistro Couleur Peugeot</h1><div class="col is-12">Icone de la marque Peugeot cr&eacute;e en 1874, le Moulin Bistro se d&eacute;cline d&eacute;sormais en couleurs fra&icirc;ches et vitamin&eacute;es pour apporter des touches chatoyantes sur vos tables. Fabriqu&eacute;s en Franche-Comt&eacute; avec du bois de h&ecirc;tre issu de for&ecirc;ts g&eacute;r&eacute;es durablement, ces moulins sont &eacute;quip&eacute;s d'un m&eacute;canisme Peugeot garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Bistro Couleur Peugeot</h1><div class="col is-12">- Bois de h&ecirc;tre issu de for&ecirc;ts g&eacute;r&eacute;es durablement.<br />- M&eacute;canismes Peugeot garantis sans limitation de dur&eacute;e.<br />- Coloris : rose bonbon, aubergine, ivoire, pistache, bleu pacifique, terracotta, ardoise, rouge passion.</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 {#5157 …}
      #channels: Doctrine\ORM\PersistentCollection {#4850 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#4827 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#4830 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.61 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31352
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31108 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31187 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31105 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31053 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31061
    #collection: Doctrine\Common\Collections\ArrayCollection {#31070 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31049 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38767 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38769 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31352
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31108 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31187 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31105 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Bistro Couleur Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31061
    #collection: Doctrine\Common\Collections\ArrayCollection {#31070 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31049 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38767 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38769 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31353
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31352
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31108 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31187 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31105 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#31053 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#31061
      #collection: Doctrine\Common\Collections\ArrayCollection {#31070 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#31049 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38767 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38769 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31406
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31397 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31404 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31405 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31053 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31409
  +variant: App\Entity\Product\ProductVariant {#31053 …}
  +price: "27,00\u{A0}"
  +originalPrice: "27,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8141 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8136 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31406
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31397 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31404 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31405 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:cart:widget:offcanvas Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 112.0 MiB 2.11 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27417
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12112 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27439 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12122 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31726
  +cart: App\Entity\Order\Order {#13026 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27417
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12112 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27439 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12122 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}