Components

12 Twig Components
44 Render Count
222 ms Render Time
116.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
sylius_shop:product:card
"Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
@SyliusUi/components/default.html.twig
9 142.66ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 43.37ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 22.00ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.61ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.09ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.69ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 12.66ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 52.32ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.08ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.89ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 8.13ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.08ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 116.0 MiB 1.09 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12608
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12601 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12607 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12606 …}
    +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 {#13228
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12608
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12601 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12607 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12606 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 116.0 MiB 0.69 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13305
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13301 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13303 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13304 …}
    +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 {#13314
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13305
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13301 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13303 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13304 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 116.0 MiB 12.66 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13396
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13375 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13395 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13394 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#13411
  +cart: App\Entity\Order\Order {#13478 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13396
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13375 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13395 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13394 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  +template: "@SyliusShop/shared/components/header/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}
sylius_shop:common:taxon_menu Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent 116.0 MiB 52.32 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13664
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13652 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13658 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13650 …}
    +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 {#13673
  #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 {#13664
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13652 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13658 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13650 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 116.0 MiB 1.08 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27459
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27455 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27456 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27458 …}
    +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 {#27468
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27459
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27455 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27456 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27458 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 116.0 MiB 0.89 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27572
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27568 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27569 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27571 …}
    +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 {#27580
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27572
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27568 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27569 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27571 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 116.0 MiB 8.13 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27646
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27642 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27643 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27645 …}
    +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 {#27654
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27646
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27642 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27643 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27645 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 116.0 MiB 26.02 ms
Input props
[
  "product" => App\Entity\Product\Product {#7964
    #id: 2551
    #code: "moulin-a-cafe-paris-press-peugeot-6320"
    #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
    #variants: Doctrine\ORM\PersistentCollection {#8396 …}
    #options: Doctrine\ORM\PersistentCollection {#8524 …}
    #associations: Doctrine\ORM\PersistentCollection {#8464 …}
    #createdAt: DateTime @1758632572 {#7787
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632572 {#7403
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8523 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8526
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7964}
        #id: 2551
        #name: "Moulin à café Paris Press Peugeot"
        #slug: "moulin-a-cafe-paris-press-peugeot-6320"
        #description: """
          <div class="col is-12"><ul>\n
          <li>A la fois moulin &agrave; caf&eacute; et cafeti&egrave;re &agrave; piston.</li>\n
          <li>Mouture r&eacute;glable.</li>\n
          <li>Pour 4 tasses.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin à café Paris Press Peugeot</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Paris Press Peugeot&nbsp;combine astucieusement les fonctions de mouture et de cafeti&egrave;re &agrave; piston pour profiter pleinement de la saveur incomparable d'un caf&eacute; fra&icirc;chement moulu.</div><h1>Caractéristiques Combiné Moulin & Cafetière à Piston Peugeot</h1><div class="col is-12">- 2 fonctions en 1 : moulin et cafeti&egrave;re &agrave; piston.<br />- Mouture r&eacute;glable.<br />- Pour 4 tasses.<br />- Verre borosilicate.<br />- Cuill&egrave;re doseuse fournie.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8529 …}
    #channels: Doctrine\ORM\PersistentCollection {#8032 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7941 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8035 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28180
  +product: App\Entity\Product\Product {#7964
    #id: 2551
    #code: "moulin-a-cafe-paris-press-peugeot-6320"
    #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
    #variants: Doctrine\ORM\PersistentCollection {#8396 …}
    #options: Doctrine\ORM\PersistentCollection {#8524 …}
    #associations: Doctrine\ORM\PersistentCollection {#8464 …}
    #createdAt: DateTime @1758632572 {#7787
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632572 {#7403
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8523 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8526
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7964}
        #id: 2551
        #name: "Moulin à café Paris Press Peugeot"
        #slug: "moulin-a-cafe-paris-press-peugeot-6320"
        #description: """
          <div class="col is-12"><ul>\n
          <li>A la fois moulin &agrave; caf&eacute; et cafeti&egrave;re &agrave; piston.</li>\n
          <li>Mouture r&eacute;glable.</li>\n
          <li>Pour 4 tasses.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin à café Paris Press Peugeot</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Paris Press Peugeot&nbsp;combine astucieusement les fonctions de mouture et de cafeti&egrave;re &agrave; piston pour profiter pleinement de la saveur incomparable d'un caf&eacute; fra&icirc;chement moulu.</div><h1>Caractéristiques Combiné Moulin & Cafetière à Piston Peugeot</h1><div class="col is-12">- 2 fonctions en 1 : moulin et cafeti&egrave;re &agrave; piston.<br />- Mouture r&eacute;glable.<br />- Pour 4 tasses.<br />- Verre borosilicate.<br />- Cuill&egrave;re doseuse fournie.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8529 …}
    #channels: Doctrine\ORM\PersistentCollection {#8032 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7941 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8035 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#28446 …}
  +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 {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 9.88 ms
Input props
[
  "product" => App\Entity\Product\Product {#7964
    #id: 2551
    #code: "moulin-a-cafe-paris-press-peugeot-6320"
    #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
    #variants: Doctrine\ORM\PersistentCollection {#8396 …}
    #options: Doctrine\ORM\PersistentCollection {#8524 …}
    #associations: Doctrine\ORM\PersistentCollection {#8464 …}
    #createdAt: DateTime @1758632572 {#7787
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632572 {#7403
      date: 2025-09-23 21:02:52.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8523 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8526
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7964}
        #id: 2551
        #name: "Moulin à café Paris Press Peugeot"
        #slug: "moulin-a-cafe-paris-press-peugeot-6320"
        #description: """
          <div class="col is-12"><ul>\n
          <li>A la fois moulin &agrave; caf&eacute; et cafeti&egrave;re &agrave; piston.</li>\n
          <li>Mouture r&eacute;glable.</li>\n
          <li>Pour 4 tasses.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Descriptif Moulin à café Paris Press Peugeot</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Paris Press Peugeot&nbsp;combine astucieusement les fonctions de mouture et de cafeti&egrave;re &agrave; piston pour profiter pleinement de la saveur incomparable d'un caf&eacute; fra&icirc;chement moulu.</div><h1>Caractéristiques Combiné Moulin & Cafetière à Piston Peugeot</h1><div class="col is-12">- 2 fonctions en 1 : moulin et cafeti&egrave;re &agrave; piston.<br />- Mouture r&eacute;glable.<br />- Pour 4 tasses.<br />- Verre borosilicate.<br />- Cuill&egrave;re doseuse fournie.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8529 …}
    #channels: Doctrine\ORM\PersistentCollection {#8032 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7941 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8035 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin à café Paris Press Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28857
  -props: [
    "product" => App\Entity\Product\Product {#7964
      #id: 2551
      #code: "moulin-a-cafe-paris-press-peugeot-6320"
      #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
      #variants: Doctrine\ORM\PersistentCollection {#8396 …}
      #options: Doctrine\ORM\PersistentCollection {#8524 …}
      #associations: Doctrine\ORM\PersistentCollection {#8464 …}
      #createdAt: DateTime @1758632572 {#7787
        date: 2025-09-23 21:02:52.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632572 {#7403
        date: 2025-09-23 21:02:52.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8523 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8526
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#7964}
          #id: 2551
          #name: "Moulin à café Paris Press Peugeot"
          #slug: "moulin-a-cafe-paris-press-peugeot-6320"
          #description: """
            <div class="col is-12"><ul>\n
            <li>A la fois moulin &agrave; caf&eacute; et cafeti&egrave;re &agrave; piston.</li>\n
            <li>Mouture r&eacute;glable.</li>\n
            <li>Pour 4 tasses.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Descriptif Moulin à café Paris Press Peugeot</h1><div class="col is-12">Le Moulin &agrave; caf&eacute; Paris Press Peugeot&nbsp;combine astucieusement les fonctions de mouture et de cafeti&egrave;re &agrave; piston pour profiter pleinement de la saveur incomparable d'un caf&eacute; fra&icirc;chement moulu.</div><h1>Caractéristiques Combiné Moulin & Cafetière à Piston Peugeot</h1><div class="col is-12">- 2 fonctions en 1 : moulin et cafeti&egrave;re &agrave; piston.<br />- Mouture r&eacute;glable.<br />- Pour 4 tasses.<br />- Verre borosilicate.<br />- Cuill&egrave;re doseuse fournie.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-cafe-f560-p1.html">En savoir plus sur le moulin &agrave; caf&eacute;</a></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8529 …}
      #channels: Doctrine\ORM\PersistentCollection {#8032 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#7527 …}
      #reviews: Doctrine\ORM\PersistentCollection {#7941 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8035 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 1.52 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28954
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28936 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28931 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28950 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28446 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28792
    #collection: Doctrine\Common\Collections\ArrayCollection {#28791 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28629 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38541 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38593 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28954
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28936 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28931 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28950 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin à café Paris Press Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28792
    #collection: Doctrine\Common\Collections\ArrayCollection {#28791 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28629 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38541 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38593 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28953
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28954
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28936 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28931 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28950 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#28446 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#28792
      #collection: Doctrine\Common\Collections\ArrayCollection {#28791 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#28629 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38541 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38593 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.41 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29023
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29013 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29021 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29022 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28446 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29032
  +variant: App\Entity\Product\ProductVariant {#28446 …}
  +price: "124,00\u{A0}"
  +originalPrice: "124,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29023
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29013 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29021 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29022 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 116.0 MiB 4.29 ms
Input props
[
  "product" => App\Entity\Product\Product {#8538
    #id: 3253
    #code: "moulin-a-muscade-marlux-de-buyer-3701"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632866 {#8536
      date: 2025-09-23 21:07:46.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632866 {#8537
      date: 2025-09-23 21:07:46.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 {#8538}
        #id: 3253
        #name: "Moulin à muscade Marlux De Buyer"
        #slug: "moulin-a-muscade-marlux-de-buyer-3701"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme sp&eacute;cifique pour la muscade.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Val d'ajol (vosges).</strong></li>\n
          </ul></div><h1>Description moulin à muscade Marlux</h1><div class="col is-12">Le moulin &agrave; muscade Marlux permet de stocker et de broyer vos noix de muscade. Son m&eacute;canisme sp&eacute;cialement &eacute;tudi&eacute; r&acirc;pe la noix de muscade avec une mouture fine permettant d'en relever tous les ar&ocirc;mes.</div><h1>Caractéristiques moulin à muscade Marlux</h1><div class="col is-12">M&eacute;canisme &agrave; manivelle. Hauteur 11 cm. &oslash; 5 cm.fabriqu&eacute; en france.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-muscade-f1895-p1.html">En savoir plus sur le moulin &agrave; muscade</a>\n
          <div id="gtx-trans" style="position: absolute; left: 147px; top: 21.7244px;"></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 {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8540 …}
    #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 {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28835
  +product: App\Entity\Product\Product {#8538
    #id: 3253
    #code: "moulin-a-muscade-marlux-de-buyer-3701"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632866 {#8536
      date: 2025-09-23 21:07:46.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632866 {#8537
      date: 2025-09-23 21:07:46.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 {#8538}
        #id: 3253
        #name: "Moulin à muscade Marlux De Buyer"
        #slug: "moulin-a-muscade-marlux-de-buyer-3701"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme sp&eacute;cifique pour la muscade.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Val d'ajol (vosges).</strong></li>\n
          </ul></div><h1>Description moulin à muscade Marlux</h1><div class="col is-12">Le moulin &agrave; muscade Marlux permet de stocker et de broyer vos noix de muscade. Son m&eacute;canisme sp&eacute;cialement &eacute;tudi&eacute; r&acirc;pe la noix de muscade avec une mouture fine permettant d'en relever tous les ar&ocirc;mes.</div><h1>Caractéristiques moulin à muscade Marlux</h1><div class="col is-12">M&eacute;canisme &agrave; manivelle. Hauteur 11 cm. &oslash; 5 cm.fabriqu&eacute; en france.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-muscade-f1895-p1.html">En savoir plus sur le moulin &agrave; muscade</a>\n
          <div id="gtx-trans" style="position: absolute; left: 147px; top: 21.7244px;"></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 {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8540 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8542 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8544 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29105 …}
  +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 {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.70 ms
Input props
[
  "product" => App\Entity\Product\Product {#8538
    #id: 3253
    #code: "moulin-a-muscade-marlux-de-buyer-3701"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632866 {#8536
      date: 2025-09-23 21:07:46.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632866 {#8537
      date: 2025-09-23 21:07:46.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 {#8538}
        #id: 3253
        #name: "Moulin à muscade Marlux De Buyer"
        #slug: "moulin-a-muscade-marlux-de-buyer-3701"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme sp&eacute;cifique pour la muscade.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Val d'ajol (vosges).</strong></li>\n
          </ul></div><h1>Description moulin à muscade Marlux</h1><div class="col is-12">Le moulin &agrave; muscade Marlux permet de stocker et de broyer vos noix de muscade. Son m&eacute;canisme sp&eacute;cialement &eacute;tudi&eacute; r&acirc;pe la noix de muscade avec une mouture fine permettant d'en relever tous les ar&ocirc;mes.</div><h1>Caractéristiques moulin à muscade Marlux</h1><div class="col is-12">M&eacute;canisme &agrave; manivelle. Hauteur 11 cm. &oslash; 5 cm.fabriqu&eacute; en france.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-muscade-f1895-p1.html">En savoir plus sur le moulin &agrave; muscade</a>\n
          <div id="gtx-trans" style="position: absolute; left: 147px; top: 21.7244px;"></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 {#8560 …}
    #channels: Doctrine\ORM\PersistentCollection {#8546 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8540 …}
    #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 à muscade Marlux De Buyer"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29179
  -props: [
    "product" => App\Entity\Product\Product {#8538
      #id: 3253
      #code: "moulin-a-muscade-marlux-de-buyer-3701"
      #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
      #variants: Doctrine\ORM\PersistentCollection {#8550 …}
      #options: Doctrine\ORM\PersistentCollection {#8554 …}
      #associations: Doctrine\ORM\PersistentCollection {#8552 …}
      #createdAt: DateTime @1758632866 {#8536
        date: 2025-09-23 21:07:46.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632866 {#8537
        date: 2025-09-23 21:07:46.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 {#8538}
          #id: 3253
          #name: "Moulin à muscade Marlux De Buyer"
          #slug: "moulin-a-muscade-marlux-de-buyer-3701"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme sp&eacute;cifique pour la muscade.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Val d'ajol (vosges).</strong></li>\n
            </ul></div><h1>Description moulin à muscade Marlux</h1><div class="col is-12">Le moulin &agrave; muscade Marlux permet de stocker et de broyer vos noix de muscade. Son m&eacute;canisme sp&eacute;cialement &eacute;tudi&eacute; r&acirc;pe la noix de muscade avec une mouture fine permettant d'en relever tous les ar&ocirc;mes.</div><h1>Caractéristiques moulin à muscade Marlux</h1><div class="col is-12">M&eacute;canisme &agrave; manivelle. Hauteur 11 cm. &oslash; 5 cm.fabriqu&eacute; en france.</div><div class="col is-12"><a rel="nofollow" href="https://www.cuisinstore.com/moulin-a-muscade-f1895-p1.html">En savoir plus sur le moulin &agrave; muscade</a>\n
            <div id="gtx-trans" style="position: absolute; left: 147px; top: 21.7244px;"></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 {#8560 …}
      #channels: Doctrine\ORM\PersistentCollection {#8546 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8540 …}
      #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]
116.0 MiB 0.65 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29172
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29163 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29230 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29160 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29105 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29113
    #collection: Doctrine\Common\Collections\ArrayCollection {#29125 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29101 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38613 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38615 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29172
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29163 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29230 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29160 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin à muscade Marlux De Buyer"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29113
    #collection: Doctrine\Common\Collections\ArrayCollection {#29125 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29101 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38613 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38615 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29234
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29172
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29163 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29230 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29160 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29105 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29113
      #collection: Doctrine\Common\Collections\ArrayCollection {#29125 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29101 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38613 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38615 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29284
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29275 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29282 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29283 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29105 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29287
  +variant: App\Entity\Product\ProductVariant {#29105 …}
  +price: "23,00\u{A0}"
  +originalPrice: "23,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29284
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29275 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29282 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29283 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 116.0 MiB 9.71 ms
Input props
[
  "product" => App\Entity\Product\Product {#8567
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8577 …}
    #variants: Doctrine\ORM\PersistentCollection {#8579 …}
    #options: Doctrine\ORM\PersistentCollection {#8583 …}
    #associations: Doctrine\ORM\PersistentCollection {#8581 …}
    #createdAt: DateTime @1758632754 {#8565
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8566
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8586 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8587
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8567}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8589 …}
    #channels: Doctrine\ORM\PersistentCollection {#8575 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8571 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8573 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29170
  +product: App\Entity\Product\Product {#8567
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8577 …}
    #variants: Doctrine\ORM\PersistentCollection {#8579 …}
    #options: Doctrine\ORM\PersistentCollection {#8583 …}
    #associations: Doctrine\ORM\PersistentCollection {#8581 …}
    #createdAt: DateTime @1758632754 {#8565
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8566
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8586 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8587
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8567}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8589 …}
    #channels: Doctrine\ORM\PersistentCollection {#8575 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8571 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8573 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29350 …}
  +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 {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.72 ms
Input props
[
  "product" => App\Entity\Product\Product {#8567
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8577 …}
    #variants: Doctrine\ORM\PersistentCollection {#8579 …}
    #options: Doctrine\ORM\PersistentCollection {#8583 …}
    #associations: Doctrine\ORM\PersistentCollection {#8581 …}
    #createdAt: DateTime @1758632754 {#8565
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8566
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8586 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8587
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8567}
        #id: 3098
        #name: "Moulin à poivre Peugeot Roellinger"
        #slug: "moulin-a-poivre-peugeot-roellinger-2111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie. </li>\n
          <li>Corp en bois verni. </li>\n
          <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8589 …}
    #channels: Doctrine\ORM\PersistentCollection {#8575 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8571 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8573 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin à poivre Peugeot Roellinger"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29421
  -props: [
    "product" => App\Entity\Product\Product {#8567
      #id: 3098
      #code: "moulin-a-poivre-peugeot-roellinger-2111"
      #attributes: Doctrine\ORM\PersistentCollection {#8577 …}
      #variants: Doctrine\ORM\PersistentCollection {#8579 …}
      #options: Doctrine\ORM\PersistentCollection {#8583 …}
      #associations: Doctrine\ORM\PersistentCollection {#8581 …}
      #createdAt: DateTime @1758632754 {#8565
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#8566
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8586 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8587
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8567}
          #id: 3098
          #name: "Moulin à poivre Peugeot Roellinger"
          #slug: "moulin-a-poivre-peugeot-roellinger-2111"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie. </li>\n
            <li>Corp en bois verni. </li>\n
            <li>Imagin&eacute; par le Chef &eacute;toil&eacute; Olivier Roellinger.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Description moulin à poivre Peugeot Roellinger</h1><div class="col is-12">Ce moulin &agrave; poivre Roellinger se recharge tr&egrave;s simplement par le haut et dispose d'un tiroir pour r&eacute;cup&eacute;rer la mouture.<br />Corps en bois verni. Mouture r&eacute;glable. Base : 8.5 x 8.5 cm. Hauteur 13 cm.</div><h1>Description mécanisme moulin Peugeot Roellinger</h1><div class="col is-12">Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8589 …}
      #channels: Doctrine\ORM\PersistentCollection {#8575 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8571 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8573 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 1.68 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29495
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29405 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29481 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29402 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29350 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29358
    #collection: Doctrine\Common\Collections\ArrayCollection {#29367 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29346 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38627 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38629 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29495
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29405 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29481 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29402 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin à poivre Peugeot Roellinger"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29358
    #collection: Doctrine\Common\Collections\ArrayCollection {#29367 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29346 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38627 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38629 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29500
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29495
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29405 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29481 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29402 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29350 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29358
      #collection: Doctrine\Common\Collections\ArrayCollection {#29367 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29346 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38627 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38629 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29549
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29540 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29547 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29548 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29350 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29552
  +variant: App\Entity\Product\ProductVariant {#29350 …}
  +price: "67,00\u{A0}"
  +originalPrice: "74,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29549
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29540 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29547 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29548 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 116.0 MiB 16.94 ms
Input props
[
  "product" => App\Entity\Product\Product {#8596
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8603 …}
    #variants: Doctrine\ORM\PersistentCollection {#8605 …}
    #options: Doctrine\ORM\PersistentCollection {#8609 …}
    #associations: Doctrine\ORM\PersistentCollection {#8607 …}
    #createdAt: DateTime @1758632748 {#8594
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8595
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8612 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8613
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8596}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8615 …}
    #channels: Doctrine\ORM\PersistentCollection {#8601 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8597 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8599 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29412
  +product: App\Entity\Product\Product {#8596
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8603 …}
    #variants: Doctrine\ORM\PersistentCollection {#8605 …}
    #options: Doctrine\ORM\PersistentCollection {#8609 …}
    #associations: Doctrine\ORM\PersistentCollection {#8607 …}
    #createdAt: DateTime @1758632748 {#8594
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8595
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8612 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8613
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8596}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8615 …}
    #channels: Doctrine\ORM\PersistentCollection {#8601 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8597 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8599 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29615 …}
  +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 {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 6.59 ms
Input props
[
  "product" => App\Entity\Product\Product {#8596
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8603 …}
    #variants: Doctrine\ORM\PersistentCollection {#8605 …}
    #options: Doctrine\ORM\PersistentCollection {#8609 …}
    #associations: Doctrine\ORM\PersistentCollection {#8607 …}
    #createdAt: DateTime @1758632748 {#8594
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8595
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8612 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8613
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8596}
        #id: 3066
        #name: "Moulin Paris bois d'Olivier Peugeot"
        #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
          <li>Toucher velout&eacute;.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8615 …}
    #channels: Doctrine\ORM\PersistentCollection {#8601 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8597 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8599 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Paris bois d'Olivier Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29686
  -props: [
    "product" => App\Entity\Product\Product {#8596
      #id: 3066
      #code: "moulin-paris-bois-d-olivier-peugeot-7542"
      #attributes: Doctrine\ORM\PersistentCollection {#8603 …}
      #variants: Doctrine\ORM\PersistentCollection {#8605 …}
      #options: Doctrine\ORM\PersistentCollection {#8609 …}
      #associations: Doctrine\ORM\PersistentCollection {#8607 …}
      #createdAt: DateTime @1758632748 {#8594
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#8595
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8612 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8613
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8596}
          #id: 3066
          #name: "Moulin Paris bois d'Olivier Peugeot"
          #slug: "moulin-paris-bois-d-olivier-peugeot-7542"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Chaleur &amp; authenticit&eacute; du bois.</li>\n
            <li>Toucher velout&eacute;.</li>\n
            <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Descriptif Moulin Paris bois d'Olivier Peugeot</h1><div class="col is-12">Mod&egrave;le iconique et intemporel de la marque au lion, le Moulin Paris se d&eacute;cline aujourd'hui dans un magnifique bois d'olivier caract&eacute;ris&eacute; par son veinage vif faisant de lui le phare de votre table. Fabriqu&eacute; en France avec du bois d'olivier issu de for&ecirc;ts europ&eacute;ennes g&eacute;r&eacute;es durablement, il est &eacute;quip&eacute; de m&eacute;canismes garantis sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Paris sel/poivre bois d'Olivier Peugeot</h1><div class="col is-12">- Bois d'olivier, noble, authentique, chaleureux et contrast&eacute;.<br />- Toucher velout&eacute;.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin &agrave; poivre utilisable pour moudre les poivres noirs, blancs, verts, rouges, baies roses, graines de coriandre. <br />&nbsp; ( 15% maxi dans un m&eacute;lange de poivre )<br />- Moulin &agrave; sel utilisable avec des cristaux de sel sec ( sel gemme ) <br />&nbsp; ( ne pas utiliser avec du sel de mer humide m&ecirc;me s&eacute;ch&eacute; )</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8615 …}
      #channels: Doctrine\ORM\PersistentCollection {#8601 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8597 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8599 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.84 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29779
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29670 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29746 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29667 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29615 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29623
    #collection: Doctrine\Common\Collections\ArrayCollection {#29632 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29611 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38641 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38643 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29779
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29670 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29746 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29667 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Paris bois d'Olivier Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29623
    #collection: Doctrine\Common\Collections\ArrayCollection {#29632 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29611 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38641 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38643 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29780
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29779
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29670 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29746 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29667 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29615 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29623
      #collection: Doctrine\Common\Collections\ArrayCollection {#29632 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29611 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38641 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38643 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29833
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29824 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29831 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29832 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29615 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29836
  +variant: App\Entity\Product\ProductVariant {#29615 …}
  +price: "62,00\u{A0}"
  +originalPrice: "69,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29833
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29824 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29831 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29832 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 116.0 MiB 21.80 ms
Input props
[
  "product" => App\Entity\Product\Product {#8619
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8626 …}
    #variants: Doctrine\ORM\PersistentCollection {#8628 …}
    #options: Doctrine\ORM\PersistentCollection {#8632 …}
    #associations: Doctrine\ORM\PersistentCollection {#8630 …}
    #createdAt: DateTime @1758632747 {#8617
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8618
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8635 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8636
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8619}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8638 …}
    #channels: Doctrine\ORM\PersistentCollection {#8624 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8620 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8622 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29677
  +product: App\Entity\Product\Product {#8619
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8626 …}
    #variants: Doctrine\ORM\PersistentCollection {#8628 …}
    #options: Doctrine\ORM\PersistentCollection {#8632 …}
    #associations: Doctrine\ORM\PersistentCollection {#8630 …}
    #createdAt: DateTime @1758632747 {#8617
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8618
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8635 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8636
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8619}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8638 …}
    #channels: Doctrine\ORM\PersistentCollection {#8624 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8620 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8622 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29899 …}
  +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 {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 3.81 ms
Input props
[
  "product" => App\Entity\Product\Product {#8619
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8626 …}
    #variants: Doctrine\ORM\PersistentCollection {#8628 …}
    #options: Doctrine\ORM\PersistentCollection {#8632 …}
    #associations: Doctrine\ORM\PersistentCollection {#8630 …}
    #createdAt: DateTime @1758632747 {#8617
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8618
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8635 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8636
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8619}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8638 …}
    #channels: Doctrine\ORM\PersistentCollection {#8624 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8620 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8622 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Paris Prestige Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29973
  -props: [
    "product" => App\Entity\Product\Product {#8619
      #id: 3054
      #code: "moulin-paris-prestige-peugeot-5111"
      #attributes: Doctrine\ORM\PersistentCollection {#8626 …}
      #variants: Doctrine\ORM\PersistentCollection {#8628 …}
      #options: Doctrine\ORM\PersistentCollection {#8632 …}
      #associations: Doctrine\ORM\PersistentCollection {#8630 …}
      #createdAt: DateTime @1758632747 {#8617
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8618
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8635 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8636
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8619}
          #id: 3054
          #name: "Moulin Paris Prestige Peugeot"
          #slug: "moulin-paris-prestige-peugeot-5111"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Bois d'origine fran&ccedil;aise.</li>\n
            <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
            <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
            <li>Finition parfaite.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul>\n
            <ul style="margin: 0px 10px; padding: 10px;">\n
            </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8638 …}
      #channels: Doctrine\ORM\PersistentCollection {#8624 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8620 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8622 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 14.44 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30041
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29957 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30030 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29954 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29899 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29907
    #collection: Doctrine\Common\Collections\ArrayCollection {#29919 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29895 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38655 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38657 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30041
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29957 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30030 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29954 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Paris Prestige Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29907
    #collection: Doctrine\Common\Collections\ArrayCollection {#29919 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29895 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38655 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38657 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30046
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30041
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29957 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30030 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29954 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29899 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29907
      #collection: Doctrine\Common\Collections\ArrayCollection {#29919 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29895 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38655 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38657 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30095
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30086 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30093 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30094 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29899 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30098
  +variant: App\Entity\Product\ProductVariant {#29899 …}
  +price: "1\u{202F}119,00\u{A0}"
  +originalPrice: "1\u{202F}119,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30095
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30086 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30093 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30094 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 116.0 MiB 4.78 ms
Input props
[
  "product" => App\Entity\Product\Product {#8642
    #id: 3051
    #code: "moulin-peugeot-auberge-4360"
    #attributes: Doctrine\ORM\PersistentCollection {#8649 …}
    #variants: Doctrine\ORM\PersistentCollection {#8651 …}
    #options: Doctrine\ORM\PersistentCollection {#8655 …}
    #associations: Doctrine\ORM\PersistentCollection {#8653 …}
    #createdAt: DateTime @1758632747 {#8640
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8641
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8658 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8659
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8642}
        #id: 3051
        #name: "Moulin Peugeot Auberge"
        #slug: "moulin-peugeot-auberge-4360"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8661 …}
    #channels: Doctrine\ORM\PersistentCollection {#8647 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8643 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8645 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29964
  +product: App\Entity\Product\Product {#8642
    #id: 3051
    #code: "moulin-peugeot-auberge-4360"
    #attributes: Doctrine\ORM\PersistentCollection {#8649 …}
    #variants: Doctrine\ORM\PersistentCollection {#8651 …}
    #options: Doctrine\ORM\PersistentCollection {#8655 …}
    #associations: Doctrine\ORM\PersistentCollection {#8653 …}
    #createdAt: DateTime @1758632747 {#8640
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8641
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8658 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8659
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8642}
        #id: 3051
        #name: "Moulin Peugeot Auberge"
        #slug: "moulin-peugeot-auberge-4360"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8661 …}
    #channels: Doctrine\ORM\PersistentCollection {#8647 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8643 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8645 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30161 …}
  +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 {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.82 ms
Input props
[
  "product" => App\Entity\Product\Product {#8642
    #id: 3051
    #code: "moulin-peugeot-auberge-4360"
    #attributes: Doctrine\ORM\PersistentCollection {#8649 …}
    #variants: Doctrine\ORM\PersistentCollection {#8651 …}
    #options: Doctrine\ORM\PersistentCollection {#8655 …}
    #associations: Doctrine\ORM\PersistentCollection {#8653 …}
    #createdAt: DateTime @1758632747 {#8640
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8641
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8658 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8659
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8642}
        #id: 3051
        #name: "Moulin Peugeot Auberge"
        #slug: "moulin-peugeot-auberge-4360"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8661 …}
    #channels: Doctrine\ORM\PersistentCollection {#8647 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8643 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8645 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Auberge"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30232
  -props: [
    "product" => App\Entity\Product\Product {#8642
      #id: 3051
      #code: "moulin-peugeot-auberge-4360"
      #attributes: Doctrine\ORM\PersistentCollection {#8649 …}
      #variants: Doctrine\ORM\PersistentCollection {#8651 …}
      #options: Doctrine\ORM\PersistentCollection {#8655 …}
      #associations: Doctrine\ORM\PersistentCollection {#8653 …}
      #createdAt: DateTime @1758632747 {#8640
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8641
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8658 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8659
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8642}
          #id: 3051
          #name: "Moulin Peugeot Auberge"
          #slug: "moulin-peugeot-auberge-4360"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
            <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8661 …}
      #channels: Doctrine\ORM\PersistentCollection {#8647 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8643 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8645 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.66 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30216 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30289 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30213 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30161 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30169
    #collection: Doctrine\Common\Collections\ArrayCollection {#30178 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30157 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38669 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38671 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30300
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30216 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30289 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30213 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Auberge"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30169
    #collection: Doctrine\Common\Collections\ArrayCollection {#30178 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30157 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38669 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38671 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30305
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30300
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30216 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30289 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30213 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30161 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30169
      #collection: Doctrine\Common\Collections\ArrayCollection {#30178 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30157 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38669 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38671 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30354
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30345 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30352 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30353 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30161 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30357
  +variant: App\Entity\Product\ProductVariant {#30161 …}
  +price: "44,00\u{A0}"
  +originalPrice: "49,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30354
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30345 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30352 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30353 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 116.0 MiB 19.81 ms
Input props
[
  "product" => App\Entity\Product\Product {#8665
    #id: 3048
    #code: "moulin-peugeot-baya-4353"
    #attributes: Doctrine\ORM\PersistentCollection {#8672 …}
    #variants: Doctrine\ORM\PersistentCollection {#8674 …}
    #options: Doctrine\ORM\PersistentCollection {#8678 …}
    #associations: Doctrine\ORM\PersistentCollection {#8676 …}
    #createdAt: DateTime @1758632747 {#8663
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8664
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8681 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8682
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8665}
        #id: 3048
        #name: "Moulin Peugeot Baya"
        #slug: "moulin-peugeot-baya-4353"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Baya</h1><div class="col is-12">Le moulin Peugeot Baya &agrave; la ligne tr&egrave;s &eacute;pur&eacute;e et "japonisante" vous apportera de la "z&eacute;nitude". Parfaite prise en main, m&eacute;canismes efficaces et fiables, tout pour plaire !</div><h1>Caractéristiques Moulin Peugeot Baya</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 8 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8684 …}
    #channels: Doctrine\ORM\PersistentCollection {#8670 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8666 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8668 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30223
  +product: App\Entity\Product\Product {#8665
    #id: 3048
    #code: "moulin-peugeot-baya-4353"
    #attributes: Doctrine\ORM\PersistentCollection {#8672 …}
    #variants: Doctrine\ORM\PersistentCollection {#8674 …}
    #options: Doctrine\ORM\PersistentCollection {#8678 …}
    #associations: Doctrine\ORM\PersistentCollection {#8676 …}
    #createdAt: DateTime @1758632747 {#8663
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8664
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8681 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8682
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8665}
        #id: 3048
        #name: "Moulin Peugeot Baya"
        #slug: "moulin-peugeot-baya-4353"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Baya</h1><div class="col is-12">Le moulin Peugeot Baya &agrave; la ligne tr&egrave;s &eacute;pur&eacute;e et "japonisante" vous apportera de la "z&eacute;nitude". Parfaite prise en main, m&eacute;canismes efficaces et fiables, tout pour plaire !</div><h1>Caractéristiques Moulin Peugeot Baya</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 8 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8684 …}
    #channels: Doctrine\ORM\PersistentCollection {#8670 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8666 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8668 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30420 …}
  +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 {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 15.78 ms
Input props
[
  "product" => App\Entity\Product\Product {#8665
    #id: 3048
    #code: "moulin-peugeot-baya-4353"
    #attributes: Doctrine\ORM\PersistentCollection {#8672 …}
    #variants: Doctrine\ORM\PersistentCollection {#8674 …}
    #options: Doctrine\ORM\PersistentCollection {#8678 …}
    #associations: Doctrine\ORM\PersistentCollection {#8676 …}
    #createdAt: DateTime @1758632747 {#8663
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8664
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8681 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8682
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8665}
        #id: 3048
        #name: "Moulin Peugeot Baya"
        #slug: "moulin-peugeot-baya-4353"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Baya</h1><div class="col is-12">Le moulin Peugeot Baya &agrave; la ligne tr&egrave;s &eacute;pur&eacute;e et "japonisante" vous apportera de la "z&eacute;nitude". Parfaite prise en main, m&eacute;canismes efficaces et fiables, tout pour plaire !</div><h1>Caractéristiques Moulin Peugeot Baya</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 8 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8684 …}
    #channels: Doctrine\ORM\PersistentCollection {#8670 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8666 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8668 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Baya"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30491
  -props: [
    "product" => App\Entity\Product\Product {#8665
      #id: 3048
      #code: "moulin-peugeot-baya-4353"
      #attributes: Doctrine\ORM\PersistentCollection {#8672 …}
      #variants: Doctrine\ORM\PersistentCollection {#8674 …}
      #options: Doctrine\ORM\PersistentCollection {#8678 …}
      #associations: Doctrine\ORM\PersistentCollection {#8676 …}
      #createdAt: DateTime @1758632747 {#8663
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8664
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8681 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8682
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8665}
          #id: 3048
          #name: "Moulin Peugeot Baya"
          #slug: "moulin-peugeot-baya-4353"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Tr&egrave;s bonne prise en main.</li>\n
            <li>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul></div><h1>Description Moulin Peugeot Baya</h1><div class="col is-12">Le moulin Peugeot Baya &agrave; la ligne tr&egrave;s &eacute;pur&eacute;e et "japonisante" vous apportera de la "z&eacute;nitude". Parfaite prise en main, m&eacute;canismes efficaces et fiables, tout pour plaire !</div><h1>Caractéristiques Moulin Peugeot Baya</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 8 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8684 …}
      #channels: Doctrine\ORM\PersistentCollection {#8670 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8666 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8668 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.63 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30559
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30475 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30548 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30472 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30420 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30428
    #collection: Doctrine\Common\Collections\ArrayCollection {#30437 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30416 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38683 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38685 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30559
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30475 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30548 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30472 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Baya"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30428
    #collection: Doctrine\Common\Collections\ArrayCollection {#30437 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30416 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38683 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38685 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30564
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30559
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30475 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30548 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30472 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30420 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30428
      #collection: Doctrine\Common\Collections\ArrayCollection {#30437 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30416 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38683 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38685 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30613
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30604 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30611 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30612 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30420 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30616
  +variant: App\Entity\Product\ProductVariant {#30420 …}
  +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 {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30613
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30604 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30611 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30612 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 116.0 MiB 16.77 ms
Input props
[
  "product" => App\Entity\Product\Product {#8688
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8695 …}
    #variants: Doctrine\ORM\PersistentCollection {#8697 …}
    #options: Doctrine\ORM\PersistentCollection {#8701 …}
    #associations: Doctrine\ORM\PersistentCollection {#8699 …}
    #createdAt: DateTime @1758632747 {#8686
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8687
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8704 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8705
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8688}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8707 …}
    #channels: Doctrine\ORM\PersistentCollection {#8693 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8689 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8691 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30482
  +product: App\Entity\Product\Product {#8688
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8695 …}
    #variants: Doctrine\ORM\PersistentCollection {#8697 …}
    #options: Doctrine\ORM\PersistentCollection {#8701 …}
    #associations: Doctrine\ORM\PersistentCollection {#8699 …}
    #createdAt: DateTime @1758632747 {#8686
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8687
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8704 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8705
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8688}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8707 …}
    #channels: Doctrine\ORM\PersistentCollection {#8693 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8689 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8691 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30679 …}
  +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 {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 0.70 ms
Input props
[
  "product" => App\Entity\Product\Product {#8688
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8695 …}
    #variants: Doctrine\ORM\PersistentCollection {#8697 …}
    #options: Doctrine\ORM\PersistentCollection {#8701 …}
    #associations: Doctrine\ORM\PersistentCollection {#8699 …}
    #createdAt: DateTime @1758632747 {#8686
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8687
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8704 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8705
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8688}
        #id: 3043
        #name: "Moulin Peugeot Bistro"
        #slug: "moulin-peugeot-bistro-2682"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8707 …}
    #channels: Doctrine\ORM\PersistentCollection {#8693 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8689 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8691 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Bistro"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30750
  -props: [
    "product" => App\Entity\Product\Product {#8688
      #id: 3043
      #code: "moulin-peugeot-bistro-2682"
      #attributes: Doctrine\ORM\PersistentCollection {#8695 …}
      #variants: Doctrine\ORM\PersistentCollection {#8697 …}
      #options: Doctrine\ORM\PersistentCollection {#8701 …}
      #associations: Doctrine\ORM\PersistentCollection {#8699 …}
      #createdAt: DateTime @1758632747 {#8686
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8687
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8704 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8705
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8688}
          #id: 3043
          #name: "Moulin Peugeot Bistro"
          #slug: "moulin-peugeot-bistro-2682"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie</li>\n
            <li>Corps bois vernis</li>\n
            <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
            </ul></div><h1>Description Moulin Peugeot Bistro</h1><div class="col is-12"><span>Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e. Poivre ou sel.&nbsp;</span></div><h1>Description mécanisme moulin Peugeot</h1><div class="col is-12"><span>Vous retrouvez dans les m&eacute;canismes moulin PEUGEOT tout le savoir faire technologique et industriel d&eacute;velopp&eacute; depuis plus de 160 ans. Inusable et d&rsquo;une efficacit&eacute; redoutable, le m&eacute;canisme moulin PEUGEOT est constitu&eacute; de double rang&eacute;e de dents capturant les grains en les entra&icirc;nant vers le bas pour les broyer parfaitement. Aux traditionnels m&eacute;canismes poivre et sel sont venus s&rsquo;ajouter des m&eacute;canismes exclusifs pour le sel de Gu&eacute;randes, les &eacute;pices, le piment et la muscade. Leur fiabilit&eacute; n&rsquo;est plus &agrave; prouver ce qui permet &agrave; PEUGEOT de pouvoir donner &agrave; ses m&eacute;canismes une garantie &agrave; vie. Les corps des moulins con&ccedil;us dans une grande vari&eacute;t&eacute; de mat&eacute;riaux (bois, inox, pvc..) sont tous con&ccedil;us avec soin pour une ergonomie optimale et pour s&rsquo;harmoniser avec tous les styles. <br /><br />Hauteur avec bouton: 10 cm, diam&egrave;tre 5 cm<br /><a href="http://www.cuisinstore.com/admin/FCKeditor/editor/"></a></span></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8707 …}
      #channels: Doctrine\ORM\PersistentCollection {#8693 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8689 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8691 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.77 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30909
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30734 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30810 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30679 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30687
    #collection: Doctrine\Common\Collections\ArrayCollection {#30696 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30675 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38697 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38699 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30909
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30734 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30810 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30731 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Bistro"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30687
    #collection: Doctrine\Common\Collections\ArrayCollection {#30696 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30675 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38697 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38699 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30914
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30909
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30734 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30810 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30731 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30679 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30687
      #collection: Doctrine\Common\Collections\ArrayCollection {#30696 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30675 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38697 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38699 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30963
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30954 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30961 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30962 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30679 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30966
  +variant: App\Entity\Product\ProductVariant {#30679 …}
  +price: "40,00\u{A0}"
  +originalPrice: "44,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30963
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30954 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30961 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30962 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 116.0 MiB 22.54 ms
Input props
[
  "product" => App\Entity\Product\Product {#8711
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8718 …}
    #variants: Doctrine\ORM\PersistentCollection {#8720 …}
    #options: Doctrine\ORM\PersistentCollection {#8724 …}
    #associations: Doctrine\ORM\PersistentCollection {#8722 …}
    #createdAt: DateTime @1758632747 {#8709
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8710
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8727 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8728
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8711}
        #id: 3041
        #name: "Moulin Peugeot PARIS chocolat U'Select"
        #slug: "moulin-peugeot-paris-chocolat-u-select-331"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot PARIS chocolat U'Select</h1><div class="col is-12"><p><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Le moulin Peugeot Paris sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur &nbsp;votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</span><br />Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel.</p></div><h1>Description mécanisme moulin PEUGEOT U'Select</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></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 {#8730 …}
    #channels: Doctrine\ORM\PersistentCollection {#8716 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8712 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8714 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30741
  +product: App\Entity\Product\Product {#8711
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8718 …}
    #variants: Doctrine\ORM\PersistentCollection {#8720 …}
    #options: Doctrine\ORM\PersistentCollection {#8724 …}
    #associations: Doctrine\ORM\PersistentCollection {#8722 …}
    #createdAt: DateTime @1758632747 {#8709
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8710
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8727 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8728
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8711}
        #id: 3041
        #name: "Moulin Peugeot PARIS chocolat U'Select"
        #slug: "moulin-peugeot-paris-chocolat-u-select-331"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot PARIS chocolat U'Select</h1><div class="col is-12"><p><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Le moulin Peugeot Paris sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur &nbsp;votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</span><br />Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel.</p></div><h1>Description mécanisme moulin PEUGEOT U'Select</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></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 {#8730 …}
    #channels: Doctrine\ORM\PersistentCollection {#8716 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8712 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8714 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#31029 …}
  +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 {#27711
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27744 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27750 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27737 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
116.0 MiB 4.38 ms
Input props
[
  "product" => App\Entity\Product\Product {#8711
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8718 …}
    #variants: Doctrine\ORM\PersistentCollection {#8720 …}
    #options: Doctrine\ORM\PersistentCollection {#8724 …}
    #associations: Doctrine\ORM\PersistentCollection {#8722 …}
    #createdAt: DateTime @1758632747 {#8709
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8710
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8727 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8728
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8711}
        #id: 3041
        #name: "Moulin Peugeot PARIS chocolat U'Select"
        #slug: "moulin-peugeot-paris-chocolat-u-select-331"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT</li>\n
          <li>Corps bois vernis</li>\n
          <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
          </ul></div><h1>Description Moulin Peugeot PARIS chocolat U'Select</h1><div class="col is-12"><p><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Le moulin Peugeot Paris sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur &nbsp;votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</span><br />Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel.</p></div><h1>Description mécanisme moulin PEUGEOT U'Select</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></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 {#8730 …}
    #channels: Doctrine\ORM\PersistentCollection {#8716 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8712 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8714 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot PARIS chocolat U'Select"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31100
  -props: [
    "product" => App\Entity\Product\Product {#8711
      #id: 3041
      #code: "moulin-peugeot-paris-chocolat-u-select-331"
      #attributes: Doctrine\ORM\PersistentCollection {#8718 …}
      #variants: Doctrine\ORM\PersistentCollection {#8720 …}
      #options: Doctrine\ORM\PersistentCollection {#8724 …}
      #associations: Doctrine\ORM\PersistentCollection {#8722 …}
      #createdAt: DateTime @1758632747 {#8709
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8710
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8727 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8728
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8711}
          #id: 3041
          #name: "Moulin Peugeot PARIS chocolat U'Select"
          #slug: "moulin-peugeot-paris-chocolat-u-select-331"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Syst&egrave;me&nbsp;USELECT</li>\n
            <li>Corps bois vernis</li>\n
            <li>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</li>\n
            </ul></div><h1>Description Moulin Peugeot PARIS chocolat U'Select</h1><div class="col is-12"><p><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Le moulin Peugeot Paris sera &agrave; l'aise en cuisine gr&acirc;ce &agrave; son efficacit&eacute;. Il mettra &eacute;galement en valeur &nbsp;votre table gr&acirc;ce &agrave; sa finition particuli&egrave;rement soign&eacute;e. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</span><br />Corps bois vernis. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel.</p></div><h1>Description mécanisme moulin PEUGEOT U'Select</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></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 {#8730 …}
      #channels: Doctrine\ORM\PersistentCollection {#8716 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8569 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8712 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8714 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
116.0 MiB 0.80 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31292
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31084 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31157 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31081 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31029 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31037
    #collection: Doctrine\Common\Collections\ArrayCollection {#31046 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31025 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38711 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38713 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31292
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31084 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31157 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31081 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot PARIS chocolat U'Select"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31037
    #collection: Doctrine\Common\Collections\ArrayCollection {#31046 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31025 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38711 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38713 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31296
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31292
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31084 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31157 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31081 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#31029 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#31037
      #collection: Doctrine\Common\Collections\ArrayCollection {#31046 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#31025 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38711 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38713 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 116.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31346
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31337 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31344 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31345 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31029 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31349
  +variant: App\Entity\Product\ProductVariant {#31029 …}
  +price: "67,00\u{A0}"
  +originalPrice: "74,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31346
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31337 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31344 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31345 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:cart:widget:offcanvas Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 116.0 MiB 2.08 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27421
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12564 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27443 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12574 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31656
  +cart: App\Entity\Order\Order {#13478 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27421
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12564 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27443 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12574 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}