Components

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

Components

Name Metadata Render Count Render Time
sylius_shop:product:card
"Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
@SyliusUi/components/default.html.twig
9 46.35ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 7.01ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 5.71ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.51ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.13ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.70ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.53ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 18.45ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.96ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.62ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.64ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.07ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 114.0 MiB 1.13 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 114.0 MiB 0.70 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 114.0 MiB 4.53 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 114.0 MiB 18.45 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 114.0 MiB 0.96 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 114.0 MiB 0.62 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27569
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27565 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27566 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27568 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
  "template" => "@SyliusShop/product/index/content/body/sidebar/taxonomy.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/index/content/body/sidebar/taxonomy.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent {#27577
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27569
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27565 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27566 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27568 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 114.0 MiB 1.64 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27639
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27635 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27636 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27638 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
  "template" => "@SyliusShop/product/index/content/body/main/header.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/index/content/body/main/header.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent {#27647
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27639
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27635 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27636 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27638 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 8.44 ms
Input props
[
  "product" => App\Entity\Product\Product {#8000
    #id: 3057
    #code: "moulin-peugeot-tahiti-hiver-5767"
    #attributes: Doctrine\ORM\PersistentCollection {#8179 …}
    #variants: Doctrine\ORM\PersistentCollection {#8402 …}
    #options: Doctrine\ORM\PersistentCollection {#8530 …}
    #associations: Doctrine\ORM\PersistentCollection {#8470 …}
    #createdAt: DateTime @1758632747 {#7719
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#7758
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8529 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8532
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8000}
        #id: 3057
        #name: "Moulin Peugeot Tahiti Hiver"
        #slug: "moulin-peugeot-tahiti-hiver-5767"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#8038 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7998 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8041 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28172
  +product: App\Entity\Product\Product {#8000
    #id: 3057
    #code: "moulin-peugeot-tahiti-hiver-5767"
    #attributes: Doctrine\ORM\PersistentCollection {#8179 …}
    #variants: Doctrine\ORM\PersistentCollection {#8402 …}
    #options: Doctrine\ORM\PersistentCollection {#8530 …}
    #associations: Doctrine\ORM\PersistentCollection {#8470 …}
    #createdAt: DateTime @1758632747 {#7719
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#7758
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8529 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8532
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8000}
        #id: 3057
        #name: "Moulin Peugeot Tahiti Hiver"
        #slug: "moulin-peugeot-tahiti-hiver-5767"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#8038 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7998 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8041 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#28434 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 1.72 ms
Input props
[
  "product" => App\Entity\Product\Product {#8000
    #id: 3057
    #code: "moulin-peugeot-tahiti-hiver-5767"
    #attributes: Doctrine\ORM\PersistentCollection {#8179 …}
    #variants: Doctrine\ORM\PersistentCollection {#8402 …}
    #options: Doctrine\ORM\PersistentCollection {#8530 …}
    #associations: Doctrine\ORM\PersistentCollection {#8470 …}
    #createdAt: DateTime @1758632747 {#7719
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#7758
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8529 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8532
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8000}
        #id: 3057
        #name: "Moulin Peugeot Tahiti Hiver"
        #slug: "moulin-peugeot-tahiti-hiver-5767"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8535 …}
    #channels: Doctrine\ORM\PersistentCollection {#8038 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7998 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8041 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Tahiti Hiver"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28845
  -props: [
    "product" => App\Entity\Product\Product {#8000
      #id: 3057
      #code: "moulin-peugeot-tahiti-hiver-5767"
      #attributes: Doctrine\ORM\PersistentCollection {#8179 …}
      #variants: Doctrine\ORM\PersistentCollection {#8402 …}
      #options: Doctrine\ORM\PersistentCollection {#8530 …}
      #associations: Doctrine\ORM\PersistentCollection {#8470 …}
      #createdAt: DateTime @1758632747 {#7719
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#7758
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8529 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8532
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8000}
          #id: 3057
          #name: "Moulin Peugeot Tahiti Hiver"
          #slug: "moulin-peugeot-tahiti-hiver-5767"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Uniquement en duo.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8535 …}
      #channels: Doctrine\ORM\PersistentCollection {#8038 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#7998 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8041 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 1.19 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28915
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28918 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28913 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28912 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28434 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28780
    #collection: Doctrine\Common\Collections\ArrayCollection {#28779 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28617 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38647 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38699 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28915
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28918 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28913 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28912 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti Hiver"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28780
    #collection: Doctrine\Common\Collections\ArrayCollection {#28779 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28617 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38647 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38699 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28923
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28915
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28918 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28913 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28912 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#28434 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#28780
      #collection: Doctrine\Common\Collections\ArrayCollection {#28779 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#28617 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38647 …}
      -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 114.0 MiB 0.37 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28991
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28981 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28989 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28990 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28434 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29000
  +variant: App\Entity\Product\ProductVariant {#28434 …}
  +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 {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28991
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28981 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28989 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28990 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.48 ms
Input props
[
  "product" => App\Entity\Product\Product {#8541
    #id: 3058
    #code: "moulin-peugeot-fidji-olivier-5872"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632747 {#8539
      date: 2025-09-23 21:05:47.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: 3058
        #name: "Moulin Peugeot Fidji Olivier"
        #slug: "moulin-peugeot-fidji-olivier-5872"
        #description: """
          <div class="col is-12"><!-- li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Tahoma} ul.ul1 {list-style-type: disc} --> \n
          <ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>T&ecirc;te inox</li>\n
          <li>Corps Olivier.</li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Fidji Olivier</h1><div class="col is-12">R&eacute;alis&eacute; en bois d'Olivier, le moulin Fidji Peugeot devient un objet unique. Les inimitables veines du bois aux lignes naturelles extraordinaires lui conf&egrave;rent toute sa pr&eacute;ciosit&eacute;. Il dispose d'une t&ecirc;te inox et d'un m&eacute;canisme garanti &agrave; vie.</div><h1>Caractéristiques Moulin Peugeot Fidji Olivier</h1><div class="col is-12">Corps en bois d'Olivier.<br />T&ecirc;te et vis inox.<br />M&eacute;canisme garanti &agrave; vie.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8544 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28823
  +product: App\Entity\Product\Product {#8541
    #id: 3058
    #code: "moulin-peugeot-fidji-olivier-5872"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632747 {#8539
      date: 2025-09-23 21:05:47.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: 3058
        #name: "Moulin Peugeot Fidji Olivier"
        #slug: "moulin-peugeot-fidji-olivier-5872"
        #description: """
          <div class="col is-12"><!-- li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Tahoma} ul.ul1 {list-style-type: disc} --> \n
          <ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>T&ecirc;te inox</li>\n
          <li>Corps Olivier.</li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Fidji Olivier</h1><div class="col is-12">R&eacute;alis&eacute; en bois d'Olivier, le moulin Fidji Peugeot devient un objet unique. Les inimitables veines du bois aux lignes naturelles extraordinaires lui conf&egrave;rent toute sa pr&eacute;ciosit&eacute;. Il dispose d'une t&ecirc;te inox et d'un m&eacute;canisme garanti &agrave; vie.</div><h1>Caractéristiques Moulin Peugeot Fidji Olivier</h1><div class="col is-12">Corps en bois d'Olivier.<br />T&ecirc;te et vis inox.<br />M&eacute;canisme garanti &agrave; vie.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8544 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29073 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.63 ms
Input props
[
  "product" => App\Entity\Product\Product {#8541
    #id: 3058
    #code: "moulin-peugeot-fidji-olivier-5872"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632747 {#8539
      date: 2025-09-23 21:05:47.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: 3058
        #name: "Moulin Peugeot Fidji Olivier"
        #slug: "moulin-peugeot-fidji-olivier-5872"
        #description: """
          <div class="col is-12"><!-- li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Tahoma} ul.ul1 {list-style-type: disc} --> \n
          <ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>T&ecirc;te inox</li>\n
          <li>Corps Olivier.</li>\n
          </ul></div><h1>Descriptif Moulin Peugeot Fidji Olivier</h1><div class="col is-12">R&eacute;alis&eacute; en bois d'Olivier, le moulin Fidji Peugeot devient un objet unique. Les inimitables veines du bois aux lignes naturelles extraordinaires lui conf&egrave;rent toute sa pr&eacute;ciosit&eacute;. Il dispose d'une t&ecirc;te inox et d'un m&eacute;canisme garanti &agrave; vie.</div><h1>Caractéristiques Moulin Peugeot Fidji Olivier</h1><div class="col is-12">Corps en bois d'Olivier.<br />T&ecirc;te et vis inox.<br />M&eacute;canisme garanti &agrave; vie.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8544 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Fidji Olivier"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29147
  -props: [
    "product" => App\Entity\Product\Product {#8541
      #id: 3058
      #code: "moulin-peugeot-fidji-olivier-5872"
      #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
      #variants: Doctrine\ORM\PersistentCollection {#8550 …}
      #options: Doctrine\ORM\PersistentCollection {#8554 …}
      #associations: Doctrine\ORM\PersistentCollection {#8552 …}
      #createdAt: DateTime @1758632747 {#8539
        date: 2025-09-23 21:05:47.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: 3058
          #name: "Moulin Peugeot Fidji Olivier"
          #slug: "moulin-peugeot-fidji-olivier-5872"
          #description: """
            <div class="col is-12"><!-- li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Tahoma} ul.ul1 {list-style-type: disc} --> \n
            <ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>T&ecirc;te inox</li>\n
            <li>Corps Olivier.</li>\n
            </ul></div><h1>Descriptif Moulin Peugeot Fidji Olivier</h1><div class="col is-12">R&eacute;alis&eacute; en bois d'Olivier, le moulin Fidji Peugeot devient un objet unique. Les inimitables veines du bois aux lignes naturelles extraordinaires lui conf&egrave;rent toute sa pr&eacute;ciosit&eacute;. Il dispose d'une t&ecirc;te inox et d'un m&eacute;canisme garanti &agrave; vie.</div><h1>Caractéristiques Moulin Peugeot Fidji Olivier</h1><div class="col is-12">Corps en bois d'Olivier.<br />T&ecirc;te et vis inox.<br />M&eacute;canisme garanti &agrave; vie.&nbsp;</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8560 …}
      #channels: Doctrine\ORM\PersistentCollection {#8546 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8544 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.57 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29234
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29131 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29201 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29128 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29073 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29081
    #collection: Doctrine\Common\Collections\ArrayCollection {#29093 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29069 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38719 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38721 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29234
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29131 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29201 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29128 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Fidji Olivier"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29081
    #collection: Doctrine\Common\Collections\ArrayCollection {#29093 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29069 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38719 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38721 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29235
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29234
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29131 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29201 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29128 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29073 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29081
      #collection: Doctrine\Common\Collections\ArrayCollection {#29093 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29069 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38719 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38721 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29288
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29279 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29286 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29287 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29073 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29291
  +variant: App\Entity\Product\ProductVariant {#29073 …}
  +price: "69,00\u{A0}"
  +originalPrice: "76,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29288
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29279 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29286 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29287 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.92 ms
Input props
[
  "product" => App\Entity\Product\Product {#8564
    #id: 3072
    #code: "moulin-peugeot-vittel-519"
    #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
    #variants: Doctrine\ORM\PersistentCollection {#8573 …}
    #options: Doctrine\ORM\PersistentCollection {#8577 …}
    #associations: Doctrine\ORM\PersistentCollection {#8575 …}
    #createdAt: DateTime @1758632749 {#8562
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8563
      date: 2025-09-23 21:05:49.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: 3072
        #name: "Moulin Peugeot Vittel"
        #slug: "moulin-peugeot-vittel-519"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;.</li>\n
          </ul></div><h1>Description moulin Peugeot Vittel</h1><div class="col is-12">Le moulin Peugeot Vittel permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design permet d'envisager de pr&eacute;senter votre moulin &nbsp;directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Vittel</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps en acrylique - M&eacute;canisme anti-corrosion - Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage - M&eacute;canisme garanti &agrave; vie</div>\n
          <div>Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie</div>\n
          <div></div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
    #channels: Doctrine\ORM\PersistentCollection {#8569 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8567 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29138
  +product: App\Entity\Product\Product {#8564
    #id: 3072
    #code: "moulin-peugeot-vittel-519"
    #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
    #variants: Doctrine\ORM\PersistentCollection {#8573 …}
    #options: Doctrine\ORM\PersistentCollection {#8577 …}
    #associations: Doctrine\ORM\PersistentCollection {#8575 …}
    #createdAt: DateTime @1758632749 {#8562
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8563
      date: 2025-09-23 21:05:49.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: 3072
        #name: "Moulin Peugeot Vittel"
        #slug: "moulin-peugeot-vittel-519"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;.</li>\n
          </ul></div><h1>Description moulin Peugeot Vittel</h1><div class="col is-12">Le moulin Peugeot Vittel permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design permet d'envisager de pr&eacute;senter votre moulin &nbsp;directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Vittel</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps en acrylique - M&eacute;canisme anti-corrosion - Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage - M&eacute;canisme garanti &agrave; vie</div>\n
          <div>Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie</div>\n
          <div></div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
    #channels: Doctrine\ORM\PersistentCollection {#8569 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8567 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29354 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.68 ms
Input props
[
  "product" => App\Entity\Product\Product {#8564
    #id: 3072
    #code: "moulin-peugeot-vittel-519"
    #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
    #variants: Doctrine\ORM\PersistentCollection {#8573 …}
    #options: Doctrine\ORM\PersistentCollection {#8577 …}
    #associations: Doctrine\ORM\PersistentCollection {#8575 …}
    #createdAt: DateTime @1758632749 {#8562
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8563
      date: 2025-09-23 21:05:49.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: 3072
        #name: "Moulin Peugeot Vittel"
        #slug: "moulin-peugeot-vittel-519"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;.</li>\n
          </ul></div><h1>Description moulin Peugeot Vittel</h1><div class="col is-12">Le moulin Peugeot Vittel permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design permet d'envisager de pr&eacute;senter votre moulin &nbsp;directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Vittel</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps en acrylique - M&eacute;canisme anti-corrosion - Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage - M&eacute;canisme garanti &agrave; vie</div>\n
          <div>Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie</div>\n
          <div></div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
    #channels: Doctrine\ORM\PersistentCollection {#8569 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8567 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Vittel"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29428
  -props: [
    "product" => App\Entity\Product\Product {#8564
      #id: 3072
      #code: "moulin-peugeot-vittel-519"
      #attributes: Doctrine\ORM\PersistentCollection {#8571 …}
      #variants: Doctrine\ORM\PersistentCollection {#8573 …}
      #options: Doctrine\ORM\PersistentCollection {#8577 …}
      #associations: Doctrine\ORM\PersistentCollection {#8575 …}
      #createdAt: DateTime @1758632749 {#8562
        date: 2025-09-23 21:05:49.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632749 {#8563
        date: 2025-09-23 21:05:49.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: 3072
          #name: "Moulin Peugeot Vittel"
          #slug: "moulin-peugeot-vittel-519"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>R&eacute;glage de la mouture.</li>\n
            <li>Corps acrylique haute qualit&eacute;.</li>\n
            </ul></div><h1>Description moulin Peugeot Vittel</h1><div class="col is-12">Le moulin Peugeot Vittel permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design permet d'envisager de pr&eacute;senter votre moulin &nbsp;directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Vittel</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps en acrylique - M&eacute;canisme anti-corrosion - Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage - M&eacute;canisme garanti &agrave; vie</div>\n
            <div>Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie</div>\n
            <div></div></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8583 …}
      #channels: Doctrine\ORM\PersistentCollection {#8569 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8565 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8567 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.56 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29554
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29412 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29488 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29409 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29354 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29362
    #collection: Doctrine\Common\Collections\ArrayCollection {#29374 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29350 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38733 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38735 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29554
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29412 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29488 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29409 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Vittel"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29362
    #collection: Doctrine\Common\Collections\ArrayCollection {#29374 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29350 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38733 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38735 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29557
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29554
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29412 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29488 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29409 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29354 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29362
      #collection: Doctrine\Common\Collections\ArrayCollection {#29374 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29350 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38733 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38735 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29608
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29599 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29606 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29607 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29354 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29611
  +variant: App\Entity\Product\ProductVariant {#29354 …}
  +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 {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29608
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29599 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29606 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29607 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.18 ms
Input props
[
  "product" => App\Entity\Product\Product {#8587
    #id: 3073
    #code: "moulin-peugeot-baltic-2372"
    #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
    #variants: Doctrine\ORM\PersistentCollection {#8596 …}
    #options: Doctrine\ORM\PersistentCollection {#8600 …}
    #associations: Doctrine\ORM\PersistentCollection {#8598 …}
    #createdAt: DateTime @1758632749 {#8585
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8586
      date: 2025-09-23 21:05:49.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: 3073
        #name: "Moulin Peugeot Baltic"
        #slug: "moulin-peugeot-baltic-2372"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;</li>\n
          </ul></div><h1>Caractéristiques Moulin Peugeot Baltic</h1><div class="col is-12">Le moulin PEUGEOT BALTIC compte parmi les plus petits mod&egrave;les de la collection PEUGEOT. Il&nbsp;a cependant tout pour se montrer &agrave; la hauteur des plus grandes tables : Ligne contemporaine et courbes douces, ergonomie parfaite. <br />Corps acrylique. Syst&egrave;me de fermeture par vis. Taille 8 cm.</div><h1>Description mécanisme moulin PEUGEOT</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir  faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans.  Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est  constitu&eacute; de double rang&eacute;e de dents capturant les grains en les  entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels  m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs  pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur  fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner  &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans  une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us  avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les  styles. </p>\r\n
          <p><a href=""></a></p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8606 …}
    #channels: Doctrine\ORM\PersistentCollection {#8592 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8590 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29419
  +product: App\Entity\Product\Product {#8587
    #id: 3073
    #code: "moulin-peugeot-baltic-2372"
    #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
    #variants: Doctrine\ORM\PersistentCollection {#8596 …}
    #options: Doctrine\ORM\PersistentCollection {#8600 …}
    #associations: Doctrine\ORM\PersistentCollection {#8598 …}
    #createdAt: DateTime @1758632749 {#8585
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8586
      date: 2025-09-23 21:05:49.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: 3073
        #name: "Moulin Peugeot Baltic"
        #slug: "moulin-peugeot-baltic-2372"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;</li>\n
          </ul></div><h1>Caractéristiques Moulin Peugeot Baltic</h1><div class="col is-12">Le moulin PEUGEOT BALTIC compte parmi les plus petits mod&egrave;les de la collection PEUGEOT. Il&nbsp;a cependant tout pour se montrer &agrave; la hauteur des plus grandes tables : Ligne contemporaine et courbes douces, ergonomie parfaite. <br />Corps acrylique. Syst&egrave;me de fermeture par vis. Taille 8 cm.</div><h1>Description mécanisme moulin PEUGEOT</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir  faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans.  Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est  constitu&eacute; de double rang&eacute;e de dents capturant les grains en les  entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels  m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs  pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur  fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner  &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans  une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us  avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les  styles. </p>\r\n
          <p><a href=""></a></p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8606 …}
    #channels: Doctrine\ORM\PersistentCollection {#8592 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8590 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29674 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.66 ms
Input props
[
  "product" => App\Entity\Product\Product {#8587
    #id: 3073
    #code: "moulin-peugeot-baltic-2372"
    #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
    #variants: Doctrine\ORM\PersistentCollection {#8596 …}
    #options: Doctrine\ORM\PersistentCollection {#8600 …}
    #associations: Doctrine\ORM\PersistentCollection {#8598 …}
    #createdAt: DateTime @1758632749 {#8585
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8586
      date: 2025-09-23 21:05:49.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: 3073
        #name: "Moulin Peugeot Baltic"
        #slug: "moulin-peugeot-baltic-2372"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;</li>\n
          </ul></div><h1>Caractéristiques Moulin Peugeot Baltic</h1><div class="col is-12">Le moulin PEUGEOT BALTIC compte parmi les plus petits mod&egrave;les de la collection PEUGEOT. Il&nbsp;a cependant tout pour se montrer &agrave; la hauteur des plus grandes tables : Ligne contemporaine et courbes douces, ergonomie parfaite. <br />Corps acrylique. Syst&egrave;me de fermeture par vis. Taille 8 cm.</div><h1>Description mécanisme moulin PEUGEOT</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir  faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans.  Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est  constitu&eacute; de double rang&eacute;e de dents capturant les grains en les  entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels  m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs  pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur  fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner  &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans  une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us  avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les  styles. </p>\r\n
          <p><a href=""></a></p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8606 …}
    #channels: Doctrine\ORM\PersistentCollection {#8592 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8590 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Baltic"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29748
  -props: [
    "product" => App\Entity\Product\Product {#8587
      #id: 3073
      #code: "moulin-peugeot-baltic-2372"
      #attributes: Doctrine\ORM\PersistentCollection {#8594 …}
      #variants: Doctrine\ORM\PersistentCollection {#8596 …}
      #options: Doctrine\ORM\PersistentCollection {#8600 …}
      #associations: Doctrine\ORM\PersistentCollection {#8598 …}
      #createdAt: DateTime @1758632749 {#8585
        date: 2025-09-23 21:05:49.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632749 {#8586
        date: 2025-09-23 21:05:49.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: 3073
          #name: "Moulin Peugeot Baltic"
          #slug: "moulin-peugeot-baltic-2372"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>R&eacute;glage de la mouture.</li>\n
            <li>Corps acrylique haute qualit&eacute;</li>\n
            </ul></div><h1>Caractéristiques Moulin Peugeot Baltic</h1><div class="col is-12">Le moulin PEUGEOT BALTIC compte parmi les plus petits mod&egrave;les de la collection PEUGEOT. Il&nbsp;a cependant tout pour se montrer &agrave; la hauteur des plus grandes tables : Ligne contemporaine et courbes douces, ergonomie parfaite. <br />Corps acrylique. Syst&egrave;me de fermeture par vis. Taille 8 cm.</div><h1>Description mécanisme moulin PEUGEOT</h1><div class="col is-12"><p>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir  faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans.  Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est  constitu&eacute; de double rang&eacute;e de dents capturant les grains en les  entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels  m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs  pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur  fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner  &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans  une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us  avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les  styles. </p>\r\n
            <p><a href=""></a></p></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8606 …}
      #channels: Doctrine\ORM\PersistentCollection {#8592 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8588 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8590 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29816
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29732 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29805 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29729 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29674 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29682
    #collection: Doctrine\Common\Collections\ArrayCollection {#29694 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29670 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38747 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38749 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29816
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29732 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29805 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29729 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Baltic"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29682
    #collection: Doctrine\Common\Collections\ArrayCollection {#29694 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29670 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38747 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38749 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29821
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29816
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29732 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29805 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29729 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29674 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29682
      #collection: Doctrine\Common\Collections\ArrayCollection {#29694 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29670 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38747 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38749 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29870
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29861 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29868 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29869 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29674 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29873
  +variant: App\Entity\Product\ProductVariant {#29674 …}
  +price: "26,00\u{A0}"
  +originalPrice: "29,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29870
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29861 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29868 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29869 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.77 ms
Input props
[
  "product" => App\Entity\Product\Product {#8610
    #id: 3074
    #code: "moulin-peugeot-bali-3610"
    #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
    #variants: Doctrine\ORM\PersistentCollection {#8619 …}
    #options: Doctrine\ORM\PersistentCollection {#8623 …}
    #associations: Doctrine\ORM\PersistentCollection {#8621 …}
    #createdAt: DateTime @1758632749 {#8608
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8609
      date: 2025-09-23 21:05:49.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: 3074
        #name: "Moulin Peugeot Bali"
        #slug: "moulin-peugeot-bali-3610"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Design et couleurs soign&eacute;s.</li>\n
          <li>Bonne prise en main.</li>\n
          <li>M&eacute;canismes poivre ou sel garantis &agrave; vie&nbsp;</li>\n
          </ul></div><h1>Description moulin Peugeot Bali</h1><div class="col is-12">Le moulin Peugeot Bali est un moulin &agrave; poivre ou &agrave; sel au design &eacute;tudi&eacute;, id&eacute;al en cuisine comme pour pr&eacute;senter &agrave; table. Sa petite taille (8 cm) permet une excellente prise en main. Son m&eacute;canise poivre ou sel n' a plus rien &agrave; prouver en terme d'efficacit&eacute; comme de fiabilit&eacute;.</div><h1>Caractéristiques moulin Peugeot Bali</h1><div class="col is-12">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
    #channels: Doctrine\ORM\PersistentCollection {#8615 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8613 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29739
  +product: App\Entity\Product\Product {#8610
    #id: 3074
    #code: "moulin-peugeot-bali-3610"
    #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
    #variants: Doctrine\ORM\PersistentCollection {#8619 …}
    #options: Doctrine\ORM\PersistentCollection {#8623 …}
    #associations: Doctrine\ORM\PersistentCollection {#8621 …}
    #createdAt: DateTime @1758632749 {#8608
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8609
      date: 2025-09-23 21:05:49.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: 3074
        #name: "Moulin Peugeot Bali"
        #slug: "moulin-peugeot-bali-3610"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Design et couleurs soign&eacute;s.</li>\n
          <li>Bonne prise en main.</li>\n
          <li>M&eacute;canismes poivre ou sel garantis &agrave; vie&nbsp;</li>\n
          </ul></div><h1>Description moulin Peugeot Bali</h1><div class="col is-12">Le moulin Peugeot Bali est un moulin &agrave; poivre ou &agrave; sel au design &eacute;tudi&eacute;, id&eacute;al en cuisine comme pour pr&eacute;senter &agrave; table. Sa petite taille (8 cm) permet une excellente prise en main. Son m&eacute;canise poivre ou sel n' a plus rien &agrave; prouver en terme d'efficacit&eacute; comme de fiabilit&eacute;.</div><h1>Caractéristiques moulin Peugeot Bali</h1><div class="col is-12">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
    #channels: Doctrine\ORM\PersistentCollection {#8615 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8613 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29936 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.72 ms
Input props
[
  "product" => App\Entity\Product\Product {#8610
    #id: 3074
    #code: "moulin-peugeot-bali-3610"
    #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
    #variants: Doctrine\ORM\PersistentCollection {#8619 …}
    #options: Doctrine\ORM\PersistentCollection {#8623 …}
    #associations: Doctrine\ORM\PersistentCollection {#8621 …}
    #createdAt: DateTime @1758632749 {#8608
      date: 2025-09-23 21:05:49.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632749 {#8609
      date: 2025-09-23 21:05:49.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: 3074
        #name: "Moulin Peugeot Bali"
        #slug: "moulin-peugeot-bali-3610"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Design et couleurs soign&eacute;s.</li>\n
          <li>Bonne prise en main.</li>\n
          <li>M&eacute;canismes poivre ou sel garantis &agrave; vie&nbsp;</li>\n
          </ul></div><h1>Description moulin Peugeot Bali</h1><div class="col is-12">Le moulin Peugeot Bali est un moulin &agrave; poivre ou &agrave; sel au design &eacute;tudi&eacute;, id&eacute;al en cuisine comme pour pr&eacute;senter &agrave; table. Sa petite taille (8 cm) permet une excellente prise en main. Son m&eacute;canise poivre ou sel n' a plus rien &agrave; prouver en terme d'efficacit&eacute; comme de fiabilit&eacute;.</div><h1>Caractéristiques moulin Peugeot Bali</h1><div class="col is-12">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
    #channels: Doctrine\ORM\PersistentCollection {#8615 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8613 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Bali"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30007
  -props: [
    "product" => App\Entity\Product\Product {#8610
      #id: 3074
      #code: "moulin-peugeot-bali-3610"
      #attributes: Doctrine\ORM\PersistentCollection {#8617 …}
      #variants: Doctrine\ORM\PersistentCollection {#8619 …}
      #options: Doctrine\ORM\PersistentCollection {#8623 …}
      #associations: Doctrine\ORM\PersistentCollection {#8621 …}
      #createdAt: DateTime @1758632749 {#8608
        date: 2025-09-23 21:05:49.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632749 {#8609
        date: 2025-09-23 21:05:49.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: 3074
          #name: "Moulin Peugeot Bali"
          #slug: "moulin-peugeot-bali-3610"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Design et couleurs soign&eacute;s.</li>\n
            <li>Bonne prise en main.</li>\n
            <li>M&eacute;canismes poivre ou sel garantis &agrave; vie&nbsp;</li>\n
            </ul></div><h1>Description moulin Peugeot Bali</h1><div class="col is-12">Le moulin Peugeot Bali est un moulin &agrave; poivre ou &agrave; sel au design &eacute;tudi&eacute;, id&eacute;al en cuisine comme pour pr&eacute;senter &agrave; table. Sa petite taille (8 cm) permet une excellente prise en main. Son m&eacute;canise poivre ou sel n' a plus rien &agrave; prouver en terme d'efficacit&eacute; comme de fiabilit&eacute;.</div><h1>Caractéristiques moulin Peugeot Bali</h1><div class="col is-12">Hauteur 8 cm. M&eacute;canismes poivre ou sel (sec uniquement) garantis &agrave; vie. R&eacute;glage de la mouture. Plusieurs couleurs au choix suivant m&eacute;canisme.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8629 …}
      #channels: Doctrine\ORM\PersistentCollection {#8615 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8611 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8613 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.56 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30128
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29991 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30073 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29988 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29936 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29944
    #collection: Doctrine\Common\Collections\ArrayCollection {#29953 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29932 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38761 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38763 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30128
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29991 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30073 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29988 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Bali"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29944
    #collection: Doctrine\Common\Collections\ArrayCollection {#29953 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29932 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38761 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38763 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30133
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30128
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29991 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30073 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29988 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29936 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29944
      #collection: Doctrine\Common\Collections\ArrayCollection {#29953 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29932 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38761 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38763 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30182
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30173 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30180 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30181 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29936 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30185
  +variant: App\Entity\Product\ProductVariant {#29936 …}
  +price: "29,00\u{A0}"
  +originalPrice: "32,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30182
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30173 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30180 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30181 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.74 ms
Input props
[
  "product" => App\Entity\Product\Product {#8633
    #id: 3075
    #code: "moulin-peugeot-molene-3964"
    #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
    #variants: Doctrine\ORM\PersistentCollection {#8642 …}
    #options: Doctrine\ORM\PersistentCollection {#8646 …}
    #associations: Doctrine\ORM\PersistentCollection {#8644 …}
    #createdAt: DateTime @1758632750 {#8631
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8632
      date: 2025-09-23 21:05:50.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: 3075
        #name: "Moulin Peugeot Molène"
        #slug: "moulin-peugeot-molene-3964"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">R&eacute;glage de la mouture.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps acrylique haute qualit&eacute;.</div>\n
          <div>\n
          <ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;.</li>\n
          </ul>\n
          </div></div><h1>Description moulin Peugeot Molène</h1><div class="col is-12">Le moulin Peugeot Mol&egrave;ne permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design avec sa t&ecirc;te color&eacute;e permet de pr&eacute;senter votre moulin directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Molène</h1><div class="col is-12">Corps en acrylique. Hauteur 14 cm. Bouton inox. M&eacute;canisme inox anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie. Livr&eacute; rempli.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
    #channels: Doctrine\ORM\PersistentCollection {#8638 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8636 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29998
  +product: App\Entity\Product\Product {#8633
    #id: 3075
    #code: "moulin-peugeot-molene-3964"
    #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
    #variants: Doctrine\ORM\PersistentCollection {#8642 …}
    #options: Doctrine\ORM\PersistentCollection {#8646 …}
    #associations: Doctrine\ORM\PersistentCollection {#8644 …}
    #createdAt: DateTime @1758632750 {#8631
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8632
      date: 2025-09-23 21:05:50.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: 3075
        #name: "Moulin Peugeot Molène"
        #slug: "moulin-peugeot-molene-3964"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">R&eacute;glage de la mouture.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps acrylique haute qualit&eacute;.</div>\n
          <div>\n
          <ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;.</li>\n
          </ul>\n
          </div></div><h1>Description moulin Peugeot Molène</h1><div class="col is-12">Le moulin Peugeot Mol&egrave;ne permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design avec sa t&ecirc;te color&eacute;e permet de pr&eacute;senter votre moulin directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Molène</h1><div class="col is-12">Corps en acrylique. Hauteur 14 cm. Bouton inox. M&eacute;canisme inox anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie. Livr&eacute; rempli.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
    #channels: Doctrine\ORM\PersistentCollection {#8638 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8636 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30248 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.63 ms
Input props
[
  "product" => App\Entity\Product\Product {#8633
    #id: 3075
    #code: "moulin-peugeot-molene-3964"
    #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
    #variants: Doctrine\ORM\PersistentCollection {#8642 …}
    #options: Doctrine\ORM\PersistentCollection {#8646 …}
    #associations: Doctrine\ORM\PersistentCollection {#8644 …}
    #createdAt: DateTime @1758632750 {#8631
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8632
      date: 2025-09-23 21:05:50.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: 3075
        #name: "Moulin Peugeot Molène"
        #slug: "moulin-peugeot-molene-3964"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">R&eacute;glage de la mouture.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps acrylique haute qualit&eacute;.</div>\n
          <div>\n
          <ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>R&eacute;glage de la mouture.</li>\n
          <li>Corps acrylique haute qualit&eacute;.</li>\n
          </ul>\n
          </div></div><h1>Description moulin Peugeot Molène</h1><div class="col is-12">Le moulin Peugeot Mol&egrave;ne permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design avec sa t&ecirc;te color&eacute;e permet de pr&eacute;senter votre moulin directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Molène</h1><div class="col is-12">Corps en acrylique. Hauteur 14 cm. Bouton inox. M&eacute;canisme inox anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie. Livr&eacute; rempli.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
    #channels: Doctrine\ORM\PersistentCollection {#8638 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8636 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Molène"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30319
  -props: [
    "product" => App\Entity\Product\Product {#8633
      #id: 3075
      #code: "moulin-peugeot-molene-3964"
      #attributes: Doctrine\ORM\PersistentCollection {#8640 …}
      #variants: Doctrine\ORM\PersistentCollection {#8642 …}
      #options: Doctrine\ORM\PersistentCollection {#8646 …}
      #associations: Doctrine\ORM\PersistentCollection {#8644 …}
      #createdAt: DateTime @1758632750 {#8631
        date: 2025-09-23 21:05:50.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632750 {#8632
        date: 2025-09-23 21:05:50.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: 3075
          #name: "Moulin Peugeot Molène"
          #slug: "moulin-peugeot-molene-3964"
          #description: """
            <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">R&eacute;glage de la mouture.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Corps acrylique haute qualit&eacute;.</div>\n
            <div>\n
            <ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>R&eacute;glage de la mouture.</li>\n
            <li>Corps acrylique haute qualit&eacute;.</li>\n
            </ul>\n
            </div></div><h1>Description moulin Peugeot Molène</h1><div class="col is-12">Le moulin Peugeot Mol&egrave;ne permet de moudre efficacement sel et poivre. L'&eacute;l&eacute;gance de son design avec sa t&ecirc;te color&eacute;e permet de pr&eacute;senter votre moulin directement &agrave; table. Il b&eacute;n&eacute;ficie d'un m&eacute;canisme fiable et efficace garanti &agrave; vie.</div><h1>Caractéristiques moulin Peugeot Molène</h1><div class="col is-12">Corps en acrylique. Hauteur 14 cm. Bouton inox. M&eacute;canisme inox anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture pour chaque usage. M&eacute;canisme garanti &agrave; vie. Livr&eacute; rempli.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8652 …}
      #channels: Doctrine\ORM\PersistentCollection {#8638 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8634 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8636 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30425
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30303 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30370 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30300 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30248 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30256
    #collection: Doctrine\Common\Collections\ArrayCollection {#30265 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30244 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38775 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38777 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30425
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30303 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30370 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30300 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Molène"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30256
    #collection: Doctrine\Common\Collections\ArrayCollection {#30265 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30244 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38775 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38777 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30430
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30425
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30303 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30370 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30300 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30248 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30256
      #collection: Doctrine\Common\Collections\ArrayCollection {#30265 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30244 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38775 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38777 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30479
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30470 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30477 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30478 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30248 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30482
  +variant: App\Entity\Product\ProductVariant {#30248 …}
  +price: "26,00\u{A0}"
  +originalPrice: "31,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30479
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30470 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30477 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30478 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 6.25 ms
Input props
[
  "product" => App\Entity\Product\Product {#8656
    #id: 3076
    #code: "moulin-peugeot-nancy-4366"
    #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
    #variants: Doctrine\ORM\PersistentCollection {#8665 …}
    #options: Doctrine\ORM\PersistentCollection {#8669 …}
    #associations: Doctrine\ORM\PersistentCollection {#8667 …}
    #createdAt: DateTime @1758632750 {#8654
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8655
      date: 2025-09-23 21:05:50.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: 3076
        #name: "Moulin Peugeot Nancy"
        #slug: "moulin-peugeot-nancy-4366"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Nancy</h1><div class="col is-12">Le moulin Peugeot Nancy joue la transparence pour vous offrir le meilleur. Qu'il soit &agrave; poivre ou &agrave; sel, son m&eacute;canisme s'av&egrave;re tr&egrave;s fiable (garanti &agrave; vie) et tr&egrave;s efficace.</div><h1>Caractéristiques Moulin Peugeot Nancy</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture. M&eacute;canismes garanti &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8675 …}
    #channels: Doctrine\ORM\PersistentCollection {#8661 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8659 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30310
  +product: App\Entity\Product\Product {#8656
    #id: 3076
    #code: "moulin-peugeot-nancy-4366"
    #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
    #variants: Doctrine\ORM\PersistentCollection {#8665 …}
    #options: Doctrine\ORM\PersistentCollection {#8669 …}
    #associations: Doctrine\ORM\PersistentCollection {#8667 …}
    #createdAt: DateTime @1758632750 {#8654
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8655
      date: 2025-09-23 21:05:50.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: 3076
        #name: "Moulin Peugeot Nancy"
        #slug: "moulin-peugeot-nancy-4366"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Nancy</h1><div class="col is-12">Le moulin Peugeot Nancy joue la transparence pour vous offrir le meilleur. Qu'il soit &agrave; poivre ou &agrave; sel, son m&eacute;canisme s'av&egrave;re tr&egrave;s fiable (garanti &agrave; vie) et tr&egrave;s efficace.</div><h1>Caractéristiques Moulin Peugeot Nancy</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture. M&eacute;canismes garanti &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8675 …}
    #channels: Doctrine\ORM\PersistentCollection {#8661 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8659 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30545 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.68 ms
Input props
[
  "product" => App\Entity\Product\Product {#8656
    #id: 3076
    #code: "moulin-peugeot-nancy-4366"
    #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
    #variants: Doctrine\ORM\PersistentCollection {#8665 …}
    #options: Doctrine\ORM\PersistentCollection {#8669 …}
    #associations: Doctrine\ORM\PersistentCollection {#8667 …}
    #createdAt: DateTime @1758632750 {#8654
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8655
      date: 2025-09-23 21:05:50.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: 3076
        #name: "Moulin Peugeot Nancy"
        #slug: "moulin-peugeot-nancy-4366"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Nancy</h1><div class="col is-12">Le moulin Peugeot Nancy joue la transparence pour vous offrir le meilleur. Qu'il soit &agrave; poivre ou &agrave; sel, son m&eacute;canisme s'av&egrave;re tr&egrave;s fiable (garanti &agrave; vie) et tr&egrave;s efficace.</div><h1>Caractéristiques Moulin Peugeot Nancy</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture. M&eacute;canismes garanti &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8675 …}
    #channels: Doctrine\ORM\PersistentCollection {#8661 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8659 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Nancy"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30619
  -props: [
    "product" => App\Entity\Product\Product {#8656
      #id: 3076
      #code: "moulin-peugeot-nancy-4366"
      #attributes: Doctrine\ORM\PersistentCollection {#8663 …}
      #variants: Doctrine\ORM\PersistentCollection {#8665 …}
      #options: Doctrine\ORM\PersistentCollection {#8669 …}
      #associations: Doctrine\ORM\PersistentCollection {#8667 …}
      #createdAt: DateTime @1758632750 {#8654
        date: 2025-09-23 21:05:50.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632750 {#8655
        date: 2025-09-23 21:05:50.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: 3076
          #name: "Moulin Peugeot Nancy"
          #slug: "moulin-peugeot-nancy-4366"
          #description: """
            <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
            <div>\n
            <ul>\n
            <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
            <li>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul>\n
            </div></div><h1>Description Moulin Peugeot Nancy</h1><div class="col is-12">Le moulin Peugeot Nancy joue la transparence pour vous offrir le meilleur. Qu'il soit &agrave; poivre ou &agrave; sel, son m&eacute;canisme s'av&egrave;re tr&egrave;s fiable (garanti &agrave; vie) et tr&egrave;s efficace.</div><h1>Caractéristiques Moulin Peugeot Nancy</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture. M&eacute;canismes garanti &agrave; vie.</span></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8675 …}
      #channels: Doctrine\ORM\PersistentCollection {#8661 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8657 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8659 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.56 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30852
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30603 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30673 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30600 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30545 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30553
    #collection: Doctrine\Common\Collections\ArrayCollection {#30565 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30541 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38789 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38791 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30852
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30603 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30673 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30600 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Nancy"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30553
    #collection: Doctrine\Common\Collections\ArrayCollection {#30565 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30541 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38789 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38791 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30856
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30852
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30603 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30673 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30600 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30545 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30553
      #collection: Doctrine\Common\Collections\ArrayCollection {#30565 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30541 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38789 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38791 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.17 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30906
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30897 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30904 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30905 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30545 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30909
  +variant: App\Entity\Product\ProductVariant {#30545 …}
  +price: "25,00\u{A0}"
  +originalPrice: "27,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30906
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30897 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30904 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30905 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.10 ms
Input props
[
  "product" => App\Entity\Product\Product {#8679
    #id: 3077
    #code: "moulin-peugeot-chaumont-4374"
    #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
    #variants: Doctrine\ORM\PersistentCollection {#8688 …}
    #options: Doctrine\ORM\PersistentCollection {#4833 …}
    #associations: Doctrine\ORM\PersistentCollection {#8690 …}
    #createdAt: DateTime @1758632750 {#8677
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8678
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4838 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4829
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8679}
        #id: 3077
        #name: "Moulin Peugeot Chaumont"
        #slug: "moulin-peugeot-chaumont-4374"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Chaumont</h1><div class="col is-12">Le moulin Peugeot Chaumont joue la transparence pour vous offrir le meilleur. Qu'il soit &agrave; poivre ou &agrave; sel, son m&eacute;canisme s'av&egrave;re tr&egrave;s fiable (garanti &agrave; vie) et tr&egrave;s efficace.</div><h1>Caractéristiques Moulin Peugeot Chaumont</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture. M&eacute;canismes garantis &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4840 …}
    #channels: Doctrine\ORM\PersistentCollection {#8684 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8682 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30610
  +product: App\Entity\Product\Product {#8679
    #id: 3077
    #code: "moulin-peugeot-chaumont-4374"
    #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
    #variants: Doctrine\ORM\PersistentCollection {#8688 …}
    #options: Doctrine\ORM\PersistentCollection {#4833 …}
    #associations: Doctrine\ORM\PersistentCollection {#8690 …}
    #createdAt: DateTime @1758632750 {#8677
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8678
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4838 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4829
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8679}
        #id: 3077
        #name: "Moulin Peugeot Chaumont"
        #slug: "moulin-peugeot-chaumont-4374"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Chaumont</h1><div class="col is-12">Le moulin Peugeot Chaumont joue la transparence pour vous offrir le meilleur. Qu'il soit &agrave; poivre ou &agrave; sel, son m&eacute;canisme s'av&egrave;re tr&egrave;s fiable (garanti &agrave; vie) et tr&egrave;s efficace.</div><h1>Caractéristiques Moulin Peugeot Chaumont</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture. M&eacute;canismes garantis &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4840 …}
    #channels: Doctrine\ORM\PersistentCollection {#8684 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8682 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30972 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.61 ms
Input props
[
  "product" => App\Entity\Product\Product {#8679
    #id: 3077
    #code: "moulin-peugeot-chaumont-4374"
    #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
    #variants: Doctrine\ORM\PersistentCollection {#8688 …}
    #options: Doctrine\ORM\PersistentCollection {#4833 …}
    #associations: Doctrine\ORM\PersistentCollection {#8690 …}
    #createdAt: DateTime @1758632750 {#8677
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#8678
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4838 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4829
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8679}
        #id: 3077
        #name: "Moulin Peugeot Chaumont"
        #slug: "moulin-peugeot-chaumont-4374"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Chaumont</h1><div class="col is-12">Le moulin Peugeot Chaumont joue la transparence pour vous offrir le meilleur. Qu'il soit &agrave; poivre ou &agrave; sel, son m&eacute;canisme s'av&egrave;re tr&egrave;s fiable (garanti &agrave; vie) et tr&egrave;s efficace.</div><h1>Caractéristiques Moulin Peugeot Chaumont</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture. M&eacute;canismes garantis &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4840 …}
    #channels: Doctrine\ORM\PersistentCollection {#8684 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8682 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Chaumont"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31043
  -props: [
    "product" => App\Entity\Product\Product {#8679
      #id: 3077
      #code: "moulin-peugeot-chaumont-4374"
      #attributes: Doctrine\ORM\PersistentCollection {#8686 …}
      #variants: Doctrine\ORM\PersistentCollection {#8688 …}
      #options: Doctrine\ORM\PersistentCollection {#4833 …}
      #associations: Doctrine\ORM\PersistentCollection {#8690 …}
      #createdAt: DateTime @1758632750 {#8677
        date: 2025-09-23 21:05:50.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632750 {#8678
        date: 2025-09-23 21:05:50.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#4838 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#4829
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8679}
          #id: 3077
          #name: "Moulin Peugeot Chaumont"
          #slug: "moulin-peugeot-chaumont-4374"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
            <li>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Description Moulin Peugeot Chaumont</h1><div class="col is-12">Le moulin Peugeot Chaumont joue la transparence pour vous offrir le meilleur. Qu'il soit &agrave; poivre ou &agrave; sel, son m&eacute;canisme s'av&egrave;re tr&egrave;s fiable (garanti &agrave; vie) et tr&egrave;s efficace.</div><h1>Caractéristiques Moulin Peugeot Chaumont</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps en acrylique. M&eacute;canisme anti-corrosion. Syst&egrave;me de r&eacute;glage de la mouture. M&eacute;canismes garantis &agrave; vie.</span></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#4840 …}
      #channels: Doctrine\ORM\PersistentCollection {#8684 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8680 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8682 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.56 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31105
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31027 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31094 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31024 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30972 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30980
    #collection: Doctrine\Common\Collections\ArrayCollection {#30989 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30968 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38803 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38805 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31105
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31027 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31094 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31024 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Chaumont"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30980
    #collection: Doctrine\Common\Collections\ArrayCollection {#30989 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30968 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38803 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38805 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31110
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31105
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31027 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31094 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31024 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30972 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30980
      #collection: Doctrine\Common\Collections\ArrayCollection {#30989 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30968 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38803 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38805 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31159
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31150 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31157 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31158 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30972 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31162
  +variant: App\Entity\Product\ProductVariant {#30972 …}
  +price: "31,00\u{A0}"
  +originalPrice: "34,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31159
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31150 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31157 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31158 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.46 ms
Input props
[
  "product" => App\Entity\Product\Product {#4839
    #id: 3078
    #code: "moulin-peugeot-pep-s-5028"
    #attributes: Doctrine\ORM\PersistentCollection {#4845 …}
    #variants: Doctrine\ORM\PersistentCollection {#4857 …}
    #options: Doctrine\ORM\PersistentCollection {#5147 …}
    #associations: Doctrine\ORM\PersistentCollection {#4844 …}
    #createdAt: DateTime @1758632750 {#4837
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#4827
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5144 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5157
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4839}
        #id: 3078
        #name: "Moulin Peugeot Pep's"
        #slug: "moulin-peugeot-pep-s-5028"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Astucieux, &agrave; la fois moulin &agrave; poivre et sali&egrave;re.</li>\n
          <li>Ludique, couleurs et design modernes.</li>\n
          <li>Fiable, m&eacute;canisme garanti &agrave; vie.</li>\n
          </ul></div><h1>Description Moulin Peugeot Pep's</h1><div class="col is-12">Le moulin Peugeot Pep's est &agrave; la fois ludique par sa pr&eacute;sentation et astucieux par sa conception. Son corps acrylique de couleurs vives apporteront de la gaiet&eacute; &agrave; votre cuisine.&nbsp;<br />2 fonctions dans un seul moulin, &agrave; la fois moulin &agrave; poivre et sali&egrave;re, il trouvera facilement sa place en cuisine ou &agrave; table.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Pep's</h1><div class="col is-12">Corpd acryl-abs. M&eacute;canisme poivre garanti &agrave; vie. Sali&egrave;re int&eacute;gr&eacute;e. Hauteur 8 cm.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#5126 …}
    #channels: Doctrine\ORM\PersistentCollection {#4848 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4830 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4850 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#31034
  +product: App\Entity\Product\Product {#4839
    #id: 3078
    #code: "moulin-peugeot-pep-s-5028"
    #attributes: Doctrine\ORM\PersistentCollection {#4845 …}
    #variants: Doctrine\ORM\PersistentCollection {#4857 …}
    #options: Doctrine\ORM\PersistentCollection {#5147 …}
    #associations: Doctrine\ORM\PersistentCollection {#4844 …}
    #createdAt: DateTime @1758632750 {#4837
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#4827
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5144 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5157
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4839}
        #id: 3078
        #name: "Moulin Peugeot Pep's"
        #slug: "moulin-peugeot-pep-s-5028"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Astucieux, &agrave; la fois moulin &agrave; poivre et sali&egrave;re.</li>\n
          <li>Ludique, couleurs et design modernes.</li>\n
          <li>Fiable, m&eacute;canisme garanti &agrave; vie.</li>\n
          </ul></div><h1>Description Moulin Peugeot Pep's</h1><div class="col is-12">Le moulin Peugeot Pep's est &agrave; la fois ludique par sa pr&eacute;sentation et astucieux par sa conception. Son corps acrylique de couleurs vives apporteront de la gaiet&eacute; &agrave; votre cuisine.&nbsp;<br />2 fonctions dans un seul moulin, &agrave; la fois moulin &agrave; poivre et sali&egrave;re, il trouvera facilement sa place en cuisine ou &agrave; table.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Pep's</h1><div class="col is-12">Corpd acryl-abs. M&eacute;canisme poivre garanti &agrave; vie. Sali&egrave;re int&eacute;gr&eacute;e. Hauteur 8 cm.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#5126 …}
    #channels: Doctrine\ORM\PersistentCollection {#4848 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4830 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4850 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#31225 …}
  +slug: null
  #productRepository: Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository {#6914 …}
  #productVariantResolver: Sylius\Component\Product\Resolver\CompositeProductVariantResolver {#5455 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27704
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27737 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27743 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27730 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.68 ms
Input props
[
  "product" => App\Entity\Product\Product {#4839
    #id: 3078
    #code: "moulin-peugeot-pep-s-5028"
    #attributes: Doctrine\ORM\PersistentCollection {#4845 …}
    #variants: Doctrine\ORM\PersistentCollection {#4857 …}
    #options: Doctrine\ORM\PersistentCollection {#5147 …}
    #associations: Doctrine\ORM\PersistentCollection {#4844 …}
    #createdAt: DateTime @1758632750 {#4837
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632750 {#4827
      date: 2025-09-23 21:05:50.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5144 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5157
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4839}
        #id: 3078
        #name: "Moulin Peugeot Pep's"
        #slug: "moulin-peugeot-pep-s-5028"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Astucieux, &agrave; la fois moulin &agrave; poivre et sali&egrave;re.</li>\n
          <li>Ludique, couleurs et design modernes.</li>\n
          <li>Fiable, m&eacute;canisme garanti &agrave; vie.</li>\n
          </ul></div><h1>Description Moulin Peugeot Pep's</h1><div class="col is-12">Le moulin Peugeot Pep's est &agrave; la fois ludique par sa pr&eacute;sentation et astucieux par sa conception. Son corps acrylique de couleurs vives apporteront de la gaiet&eacute; &agrave; votre cuisine.&nbsp;<br />2 fonctions dans un seul moulin, &agrave; la fois moulin &agrave; poivre et sali&egrave;re, il trouvera facilement sa place en cuisine ou &agrave; table.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Pep's</h1><div class="col is-12">Corpd acryl-abs. M&eacute;canisme poivre garanti &agrave; vie. Sali&egrave;re int&eacute;gr&eacute;e. Hauteur 8 cm.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#5126 …}
    #channels: Doctrine\ORM\PersistentCollection {#4848 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4830 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4850 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Pep's"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31296
  -props: [
    "product" => App\Entity\Product\Product {#4839
      #id: 3078
      #code: "moulin-peugeot-pep-s-5028"
      #attributes: Doctrine\ORM\PersistentCollection {#4845 …}
      #variants: Doctrine\ORM\PersistentCollection {#4857 …}
      #options: Doctrine\ORM\PersistentCollection {#5147 …}
      #associations: Doctrine\ORM\PersistentCollection {#4844 …}
      #createdAt: DateTime @1758632750 {#4837
        date: 2025-09-23 21:05:50.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632750 {#4827
        date: 2025-09-23 21:05:50.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#5144 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#5157
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#4839}
          #id: 3078
          #name: "Moulin Peugeot Pep's"
          #slug: "moulin-peugeot-pep-s-5028"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Astucieux, &agrave; la fois moulin &agrave; poivre et sali&egrave;re.</li>\n
            <li>Ludique, couleurs et design modernes.</li>\n
            <li>Fiable, m&eacute;canisme garanti &agrave; vie.</li>\n
            </ul></div><h1>Description Moulin Peugeot Pep's</h1><div class="col is-12">Le moulin Peugeot Pep's est &agrave; la fois ludique par sa pr&eacute;sentation et astucieux par sa conception. Son corps acrylique de couleurs vives apporteront de la gaiet&eacute; &agrave; votre cuisine.&nbsp;<br />2 fonctions dans un seul moulin, &agrave; la fois moulin &agrave; poivre et sali&egrave;re, il trouvera facilement sa place en cuisine ou &agrave; table.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Pep's</h1><div class="col is-12">Corpd acryl-abs. M&eacute;canisme poivre garanti &agrave; vie. Sali&egrave;re int&eacute;gr&eacute;e. Hauteur 8 cm.&nbsp;</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#5126 …}
      #channels: Doctrine\ORM\PersistentCollection {#4848 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7711 …}
      #reviews: Doctrine\ORM\PersistentCollection {#4830 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#4850 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.56 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31392
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31280 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31356 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31277 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31225 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31233
    #collection: Doctrine\Common\Collections\ArrayCollection {#31242 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31221 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38817 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38819 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31392
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31280 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31356 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31277 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Pep's"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31233
    #collection: Doctrine\Common\Collections\ArrayCollection {#31242 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31221 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38817 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38819 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31393
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31392
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31280 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31356 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31277 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#31225 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#31233
      #collection: Doctrine\Common\Collections\ArrayCollection {#31242 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#31221 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38817 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38819 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31446
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31437 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31444 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31445 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31225 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31449
  +variant: App\Entity\Product\ProductVariant {#31225 …}
  +price: "21,00\u{A0}"
  +originalPrice: "25,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12047 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8145 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31446
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31437 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31444 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31445 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:cart:widget:offcanvas Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 114.0 MiB 2.07 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 {#31763
  +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 …}
}