Components

12 Twig Components
44 Render Count
116 ms Render Time
118.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
sylius_shop:product:card
"Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
@SyliusUi/components/default.html.twig
9 55.05ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 8.11ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 6.53ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.70ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.14ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.77ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 6.03ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 45.53ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.63ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.14ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 2.95ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.10ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 118.0 MiB 1.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12605
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12598 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12604 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12603 …}
    +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 {#13225
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12496 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12605
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12598 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12604 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12603 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 118.0 MiB 0.77 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13302
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13298 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13300 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13301 …}
    +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 {#13311
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13302
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13298 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13300 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13301 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 118.0 MiB 6.03 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13393
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13372 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13392 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13391 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#13408
  +cart: App\Entity\Order\Order {#13475 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13393
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13372 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13392 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13391 …}
    +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 118.0 MiB 45.53 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13661
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13649 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13655 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13647 …}
    +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 {#13670
  #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 {#13661
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13649 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13655 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13647 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 118.0 MiB 1.63 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27457
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27453 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27454 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27456 …}
    +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 {#27466
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27457
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27453 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27454 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27456 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 118.0 MiB 1.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27570
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27566 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27567 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27569 …}
    +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 {#27578
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27570
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27566 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27567 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27569 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 118.0 MiB 2.95 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27644
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27640 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27641 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27643 …}
    +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 {#27652
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27644
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27640 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27641 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27643 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 118.0 MiB 9.00 ms
Input props
[
  "product" => App\Entity\Product\Product {#7964
    #id: 3253
    #code: "moulin-a-muscade-marlux-de-buyer-3701"
    #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
    #variants: Doctrine\ORM\PersistentCollection {#8396 …}
    #options: Doctrine\ORM\PersistentCollection {#8524 …}
    #associations: Doctrine\ORM\PersistentCollection {#8464 …}
    #createdAt: DateTime @1758632866 {#7680
      date: 2025-09-23 21:07:46.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632866 {#7403
      date: 2025-09-23 21:07:46.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: 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 {#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 {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28178
  +product: App\Entity\Product\Product {#7964
    #id: 3253
    #code: "moulin-a-muscade-marlux-de-buyer-3701"
    #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
    #variants: Doctrine\ORM\PersistentCollection {#8396 …}
    #options: Doctrine\ORM\PersistentCollection {#8524 …}
    #associations: Doctrine\ORM\PersistentCollection {#8464 …}
    #createdAt: DateTime @1758632866 {#7680
      date: 2025-09-23 21:07:46.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632866 {#7403
      date: 2025-09-23 21:07:46.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: 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 {#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 {#28444 …}
  +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 {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
118.0 MiB 1.81 ms
Input props
[
  "product" => App\Entity\Product\Product {#7964
    #id: 3253
    #code: "moulin-a-muscade-marlux-de-buyer-3701"
    #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
    #variants: Doctrine\ORM\PersistentCollection {#8396 …}
    #options: Doctrine\ORM\PersistentCollection {#8524 …}
    #associations: Doctrine\ORM\PersistentCollection {#8464 …}
    #createdAt: DateTime @1758632866 {#7680
      date: 2025-09-23 21:07:46.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632866 {#7403
      date: 2025-09-23 21:07:46.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: 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 {#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 à muscade Marlux De Buyer"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28855
  -props: [
    "product" => App\Entity\Product\Product {#7964
      #id: 3253
      #code: "moulin-a-muscade-marlux-de-buyer-3701"
      #attributes: Doctrine\ORM\PersistentCollection {#8173 …}
      #variants: Doctrine\ORM\PersistentCollection {#8396 …}
      #options: Doctrine\ORM\PersistentCollection {#8524 …}
      #associations: Doctrine\ORM\PersistentCollection {#8464 …}
      #createdAt: DateTime @1758632866 {#7680
        date: 2025-09-23 21:07:46.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632866 {#7403
        date: 2025-09-23 21:07:46.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: 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 {#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]
118.0 MiB 1.29 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28925
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28928 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28923 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28922 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28444 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28790
    #collection: Doctrine\Common\Collections\ArrayCollection {#28789 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28627 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38801 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38853 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28925
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28928 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28923 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28922 …}
    +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 {#28790
    #collection: Doctrine\Common\Collections\ArrayCollection {#28789 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28627 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38801 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38853 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28933
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28925
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28928 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28923 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28922 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#28444 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#28790
      #collection: Doctrine\Common\Collections\ArrayCollection {#28789 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#28627 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38801 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38853 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 118.0 MiB 0.40 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29001
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28991 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28999 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29000 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28444 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29010
  +variant: App\Entity\Product\ProductVariant {#28444 …}
  +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 {#9066 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12496 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9063 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29001
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28991 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28999 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29000 …}
    +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 118.0 MiB 6.19 ms
Input props
[
  "product" => App\Entity\Product\Product {#8538
    #id: 3233
    #code: "moulin-poivre-sel-pogo-marlux-de-buyer-6844"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632825 {#8536
      date: 2025-09-23 21:07:05.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632825 {#8537
      date: 2025-09-23 21:07:05.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: 3233
        #name: "Moulin poivre/sel Pogo Marlux De Buyer"
        #slug: "moulin-poivre-sel-pogo-marlux-de-buyer-6844"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Sobri&eacute;t&eacute; et &eacute;l&eacute;gance.</li>\n
          <li><strong>Origine France Garantie.</strong></li>\n
          </ul></div><h1>Descriptif Moulin poivre/sel Pogo Marlux De Buyer</h1><div class="col is-12">Une courbe harmonieuse et la finition noir mat conf&egrave;rent &agrave; ce petit moulin de table Pogo Marlux De Buyer sobri&eacute;t&eacute; et &eacute;l&eacute;gance. M&eacute;canisme poivre en acier taill&eacute; et m&eacute;canisme sel en acier inoxydable trait&eacute; anti-corrosion. Ces m&eacute;canismes sont garantis &agrave; vie et sont labellis&eacute; ORIGINE FRANCE GARANTIE.</div><h1>Caractéristiques Moulin poivre/sel Pogo Marlux De Buyer</h1><div class="col is-12">- M&eacute;canisme poivre en acier taill&eacute;.<br />- M&eacute;canisme sel en acier inoxydable trait&eacute; anti-corrosion.<br />- M&eacute;canisme garantis &agrave; vie.<br />- Hauteur : 11 cm.<br />- OROGINE FRANCE GARANTIE.</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 {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28833
  +product: App\Entity\Product\Product {#8538
    #id: 3233
    #code: "moulin-poivre-sel-pogo-marlux-de-buyer-6844"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632825 {#8536
      date: 2025-09-23 21:07:05.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632825 {#8537
      date: 2025-09-23 21:07:05.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: 3233
        #name: "Moulin poivre/sel Pogo Marlux De Buyer"
        #slug: "moulin-poivre-sel-pogo-marlux-de-buyer-6844"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Sobri&eacute;t&eacute; et &eacute;l&eacute;gance.</li>\n
          <li><strong>Origine France Garantie.</strong></li>\n
          </ul></div><h1>Descriptif Moulin poivre/sel Pogo Marlux De Buyer</h1><div class="col is-12">Une courbe harmonieuse et la finition noir mat conf&egrave;rent &agrave; ce petit moulin de table Pogo Marlux De Buyer sobri&eacute;t&eacute; et &eacute;l&eacute;gance. M&eacute;canisme poivre en acier taill&eacute; et m&eacute;canisme sel en acier inoxydable trait&eacute; anti-corrosion. Ces m&eacute;canismes sont garantis &agrave; vie et sont labellis&eacute; ORIGINE FRANCE GARANTIE.</div><h1>Caractéristiques Moulin poivre/sel Pogo Marlux De Buyer</h1><div class="col is-12">- M&eacute;canisme poivre en acier taill&eacute;.<br />- M&eacute;canisme sel en acier inoxydable trait&eacute; anti-corrosion.<br />- M&eacute;canisme garantis &agrave; vie.<br />- Hauteur : 11 cm.<br />- OROGINE FRANCE GARANTIE.</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 {#29083 …}
  +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 {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
118.0 MiB 0.79 ms
Input props
[
  "product" => App\Entity\Product\Product {#8538
    #id: 3233
    #code: "moulin-poivre-sel-pogo-marlux-de-buyer-6844"
    #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
    #variants: Doctrine\ORM\PersistentCollection {#8550 …}
    #options: Doctrine\ORM\PersistentCollection {#8554 …}
    #associations: Doctrine\ORM\PersistentCollection {#8552 …}
    #createdAt: DateTime @1758632825 {#8536
      date: 2025-09-23 21:07:05.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632825 {#8537
      date: 2025-09-23 21:07:05.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: 3233
        #name: "Moulin poivre/sel Pogo Marlux De Buyer"
        #slug: "moulin-poivre-sel-pogo-marlux-de-buyer-6844"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Sobri&eacute;t&eacute; et &eacute;l&eacute;gance.</li>\n
          <li><strong>Origine France Garantie.</strong></li>\n
          </ul></div><h1>Descriptif Moulin poivre/sel Pogo Marlux De Buyer</h1><div class="col is-12">Une courbe harmonieuse et la finition noir mat conf&egrave;rent &agrave; ce petit moulin de table Pogo Marlux De Buyer sobri&eacute;t&eacute; et &eacute;l&eacute;gance. M&eacute;canisme poivre en acier taill&eacute; et m&eacute;canisme sel en acier inoxydable trait&eacute; anti-corrosion. Ces m&eacute;canismes sont garantis &agrave; vie et sont labellis&eacute; ORIGINE FRANCE GARANTIE.</div><h1>Caractéristiques Moulin poivre/sel Pogo Marlux De Buyer</h1><div class="col is-12">- M&eacute;canisme poivre en acier taill&eacute;.<br />- M&eacute;canisme sel en acier inoxydable trait&eacute; anti-corrosion.<br />- M&eacute;canisme garantis &agrave; vie.<br />- Hauteur : 11 cm.<br />- OROGINE FRANCE GARANTIE.</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 poivre/sel Pogo Marlux De Buyer"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29157
  -props: [
    "product" => App\Entity\Product\Product {#8538
      #id: 3233
      #code: "moulin-poivre-sel-pogo-marlux-de-buyer-6844"
      #attributes: Doctrine\ORM\PersistentCollection {#8548 …}
      #variants: Doctrine\ORM\PersistentCollection {#8550 …}
      #options: Doctrine\ORM\PersistentCollection {#8554 …}
      #associations: Doctrine\ORM\PersistentCollection {#8552 …}
      #createdAt: DateTime @1758632825 {#8536
        date: 2025-09-23 21:07:05.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632825 {#8537
        date: 2025-09-23 21:07:05.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: 3233
          #name: "Moulin poivre/sel Pogo Marlux De Buyer"
          #slug: "moulin-poivre-sel-pogo-marlux-de-buyer-6844"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Sobri&eacute;t&eacute; et &eacute;l&eacute;gance.</li>\n
            <li><strong>Origine France Garantie.</strong></li>\n
            </ul></div><h1>Descriptif Moulin poivre/sel Pogo Marlux De Buyer</h1><div class="col is-12">Une courbe harmonieuse et la finition noir mat conf&egrave;rent &agrave; ce petit moulin de table Pogo Marlux De Buyer sobri&eacute;t&eacute; et &eacute;l&eacute;gance. M&eacute;canisme poivre en acier taill&eacute; et m&eacute;canisme sel en acier inoxydable trait&eacute; anti-corrosion. Ces m&eacute;canismes sont garantis &agrave; vie et sont labellis&eacute; ORIGINE FRANCE GARANTIE.</div><h1>Caractéristiques Moulin poivre/sel Pogo Marlux De Buyer</h1><div class="col is-12">- M&eacute;canisme poivre en acier taill&eacute;.<br />- M&eacute;canisme sel en acier inoxydable trait&eacute; anti-corrosion.<br />- M&eacute;canisme garantis &agrave; vie.<br />- Hauteur : 11 cm.<br />- OROGINE FRANCE GARANTIE.</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]
118.0 MiB 0.86 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29225
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29141 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29214 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29138 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29083 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29091
    #collection: Doctrine\Common\Collections\ArrayCollection {#29103 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29079 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38873 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38875 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29225
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29141 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29214 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29138 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin poivre/sel Pogo Marlux De Buyer"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29091
    #collection: Doctrine\Common\Collections\ArrayCollection {#29103 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29079 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38873 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38875 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29230
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29225
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29141 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29214 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29138 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29083 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29091
      #collection: Doctrine\Common\Collections\ArrayCollection {#29103 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29079 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38873 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38875 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 118.0 MiB 0.25 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29279
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29270 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29277 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29278 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29083 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29282
  +variant: App\Entity\Product\ProductVariant {#29083 …}
  +price: "35,00\u{A0}"
  +originalPrice: "35,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9066 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12496 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9063 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29279
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29270 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29277 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29278 …}
    +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 118.0 MiB 6.84 ms
Input props
[
  "product" => App\Entity\Product\Product {#8564
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8574 …}
    #variants: Doctrine\ORM\PersistentCollection {#8576 …}
    #options: Doctrine\ORM\PersistentCollection {#8580 …}
    #associations: Doctrine\ORM\PersistentCollection {#8578 …}
    #createdAt: DateTime @1758632754 {#8562
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8563
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8583 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8584
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8564}
        #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 {#8586 …}
    #channels: Doctrine\ORM\PersistentCollection {#8572 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8568 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8570 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29148
  +product: App\Entity\Product\Product {#8564
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8574 …}
    #variants: Doctrine\ORM\PersistentCollection {#8576 …}
    #options: Doctrine\ORM\PersistentCollection {#8580 …}
    #associations: Doctrine\ORM\PersistentCollection {#8578 …}
    #createdAt: DateTime @1758632754 {#8562
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8563
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8583 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8584
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8564}
        #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 {#8586 …}
    #channels: Doctrine\ORM\PersistentCollection {#8572 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8568 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8570 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29345 …}
  +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 {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
118.0 MiB 0.98 ms
Input props
[
  "product" => App\Entity\Product\Product {#8564
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8574 …}
    #variants: Doctrine\ORM\PersistentCollection {#8576 …}
    #options: Doctrine\ORM\PersistentCollection {#8580 …}
    #associations: Doctrine\ORM\PersistentCollection {#8578 …}
    #createdAt: DateTime @1758632754 {#8562
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8563
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8583 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8584
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8564}
        #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 {#8586 …}
    #channels: Doctrine\ORM\PersistentCollection {#8572 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8568 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8570 …}
    #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 {#29419
  -props: [
    "product" => App\Entity\Product\Product {#8564
      #id: 3098
      #code: "moulin-a-poivre-peugeot-roellinger-2111"
      #attributes: Doctrine\ORM\PersistentCollection {#8574 …}
      #variants: Doctrine\ORM\PersistentCollection {#8576 …}
      #options: Doctrine\ORM\PersistentCollection {#8580 …}
      #associations: Doctrine\ORM\PersistentCollection {#8578 …}
      #createdAt: DateTime @1758632754 {#8562
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#8563
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8583 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8584
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8564}
          #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 {#8586 …}
      #channels: Doctrine\ORM\PersistentCollection {#8572 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8568 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8570 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
118.0 MiB 0.81 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29493
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29403 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29479 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29400 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29345 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29353
    #collection: Doctrine\Common\Collections\ArrayCollection {#29365 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29341 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38887 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38889 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29493
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29403 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29479 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29400 …}
    +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 {#29353
    #collection: Doctrine\Common\Collections\ArrayCollection {#29365 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29341 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38887 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38889 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29498
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29493
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29403 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29479 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29400 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29345 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29353
      #collection: Doctrine\Common\Collections\ArrayCollection {#29365 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29341 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38887 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38889 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 118.0 MiB 0.17 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29547
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29538 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29545 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29546 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29345 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29550
  +variant: App\Entity\Product\ProductVariant {#29345 …}
  +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 {#9066 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12496 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9063 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29547
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29538 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29545 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29546 …}
    +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 118.0 MiB 4.94 ms
Input props
[
  "product" => App\Entity\Product\Product {#8593
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8600 …}
    #variants: Doctrine\ORM\PersistentCollection {#8602 …}
    #options: Doctrine\ORM\PersistentCollection {#8606 …}
    #associations: Doctrine\ORM\PersistentCollection {#8604 …}
    #createdAt: DateTime @1758632748 {#8591
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8592
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8609 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8610
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8593}
        #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 {#8612 …}
    #channels: Doctrine\ORM\PersistentCollection {#8598 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8594 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8596 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29410
  +product: App\Entity\Product\Product {#8593
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8600 …}
    #variants: Doctrine\ORM\PersistentCollection {#8602 …}
    #options: Doctrine\ORM\PersistentCollection {#8606 …}
    #associations: Doctrine\ORM\PersistentCollection {#8604 …}
    #createdAt: DateTime @1758632748 {#8591
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8592
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8609 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8610
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8593}
        #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 {#8612 …}
    #channels: Doctrine\ORM\PersistentCollection {#8598 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8594 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8596 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29613 …}
  +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 {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
118.0 MiB 0.84 ms
Input props
[
  "product" => App\Entity\Product\Product {#8593
    #id: 3066
    #code: "moulin-paris-bois-d-olivier-peugeot-7542"
    #attributes: Doctrine\ORM\PersistentCollection {#8600 …}
    #variants: Doctrine\ORM\PersistentCollection {#8602 …}
    #options: Doctrine\ORM\PersistentCollection {#8606 …}
    #associations: Doctrine\ORM\PersistentCollection {#8604 …}
    #createdAt: DateTime @1758632748 {#8591
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632748 {#8592
      date: 2025-09-23 21:05:48.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8609 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8610
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8593}
        #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 {#8612 …}
    #channels: Doctrine\ORM\PersistentCollection {#8598 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8594 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8596 …}
    #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 {#29684
  -props: [
    "product" => App\Entity\Product\Product {#8593
      #id: 3066
      #code: "moulin-paris-bois-d-olivier-peugeot-7542"
      #attributes: Doctrine\ORM\PersistentCollection {#8600 …}
      #variants: Doctrine\ORM\PersistentCollection {#8602 …}
      #options: Doctrine\ORM\PersistentCollection {#8606 …}
      #associations: Doctrine\ORM\PersistentCollection {#8604 …}
      #createdAt: DateTime @1758632748 {#8591
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632748 {#8592
        date: 2025-09-23 21:05:48.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8609 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8610
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8593}
          #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 {#8612 …}
      #channels: Doctrine\ORM\PersistentCollection {#8598 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8594 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8596 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
118.0 MiB 0.59 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29777
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29668 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29665 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29613 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29621
    #collection: Doctrine\Common\Collections\ArrayCollection {#29630 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29609 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38901 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38903 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29777
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29668 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29744 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29665 …}
    +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 {#29621
    #collection: Doctrine\Common\Collections\ArrayCollection {#29630 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29609 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38901 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38903 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29778
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29777
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29668 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29744 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29665 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29613 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29621
      #collection: Doctrine\Common\Collections\ArrayCollection {#29630 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29609 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38901 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38903 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 118.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29831
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29822 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29829 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29830 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29613 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29834
  +variant: App\Entity\Product\ProductVariant {#29613 …}
  +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 {#9066 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12496 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9063 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29831
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29822 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29829 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29830 …}
    +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 118.0 MiB 6.08 ms
Input props
[
  "product" => App\Entity\Product\Product {#8616
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8623 …}
    #variants: Doctrine\ORM\PersistentCollection {#8625 …}
    #options: Doctrine\ORM\PersistentCollection {#8629 …}
    #associations: Doctrine\ORM\PersistentCollection {#8627 …}
    #createdAt: DateTime @1758632747 {#8614
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8615
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8632 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8633
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8616}
        #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 {#8635 …}
    #channels: Doctrine\ORM\PersistentCollection {#8621 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8617 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8619 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29675
  +product: App\Entity\Product\Product {#8616
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8623 …}
    #variants: Doctrine\ORM\PersistentCollection {#8625 …}
    #options: Doctrine\ORM\PersistentCollection {#8629 …}
    #associations: Doctrine\ORM\PersistentCollection {#8627 …}
    #createdAt: DateTime @1758632747 {#8614
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8615
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8632 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8633
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8616}
        #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 {#8635 …}
    #channels: Doctrine\ORM\PersistentCollection {#8621 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8617 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8619 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29897 …}
  +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 {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
118.0 MiB 0.78 ms
Input props
[
  "product" => App\Entity\Product\Product {#8616
    #id: 3041
    #code: "moulin-peugeot-paris-chocolat-u-select-331"
    #attributes: Doctrine\ORM\PersistentCollection {#8623 …}
    #variants: Doctrine\ORM\PersistentCollection {#8625 …}
    #options: Doctrine\ORM\PersistentCollection {#8629 …}
    #associations: Doctrine\ORM\PersistentCollection {#8627 …}
    #createdAt: DateTime @1758632747 {#8614
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8615
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8632 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8633
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8616}
        #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 {#8635 …}
    #channels: Doctrine\ORM\PersistentCollection {#8621 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8617 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8619 …}
    #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 {#29968
  -props: [
    "product" => App\Entity\Product\Product {#8616
      #id: 3041
      #code: "moulin-peugeot-paris-chocolat-u-select-331"
      #attributes: Doctrine\ORM\PersistentCollection {#8623 …}
      #variants: Doctrine\ORM\PersistentCollection {#8625 …}
      #options: Doctrine\ORM\PersistentCollection {#8629 …}
      #associations: Doctrine\ORM\PersistentCollection {#8627 …}
      #createdAt: DateTime @1758632747 {#8614
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8615
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8632 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8633
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8616}
          #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 {#8635 …}
      #channels: Doctrine\ORM\PersistentCollection {#8621 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8617 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8619 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
118.0 MiB 0.61 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30160
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29952 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30025 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29949 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29897 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29905
    #collection: Doctrine\Common\Collections\ArrayCollection {#29914 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29893 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38915 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38917 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30160
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29952 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30025 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29949 …}
    +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 {#29905
    #collection: Doctrine\Common\Collections\ArrayCollection {#29914 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29893 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38915 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38917 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30164
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30160
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29952 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30025 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29949 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29897 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29905
      #collection: Doctrine\Common\Collections\ArrayCollection {#29914 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29893 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38915 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38917 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 118.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30214
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30205 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30212 …}
    +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 {#29897 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30217
  +variant: App\Entity\Product\ProductVariant {#29897 …}
  +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 {#9066 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12496 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9063 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30214
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30205 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30212 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30213 …}
    +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 118.0 MiB 5.66 ms
Input props
[
  "product" => App\Entity\Product\Product {#8639
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#8646 …}
    #variants: Doctrine\ORM\PersistentCollection {#8648 …}
    #options: Doctrine\ORM\PersistentCollection {#8652 …}
    #associations: Doctrine\ORM\PersistentCollection {#8650 …}
    #createdAt: DateTime @1758632747 {#8637
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8638
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8655 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8656
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8639}
        #id: 3042
        #name: "Moulin Peugeot PARIS naturel U'Select"
        #slug: "moulin-peugeot-paris-naturel-u-select-508"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme iconique.</li>\n
          <li>Corps en bois labellis&eacute; PEFC</li>\n
          <li>Syst&egrave;me de pr&eacute;-r&eacute;glage Uselect.</li>\n
          <li>M&eacute;canisme poivre ou sel inox tr&egrave;s efficace garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; &agrave; Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Moulin Paris Peugeot, une icône !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div>\n
          <div>Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div></div><h1>Parlons du bois !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div>\n
          <div>Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div></div><h1>Un mécanisme réputé, garanti à vie !</h1><div class="col is-12">Au del&agrave; du design, ce qui fait la renomm&eacute; du moulin Peugeot Paris, c'est ses m&eacute;canismes. Il en existe 2 : un pour le poivre, un pour le sel. Tout en acier, ils sont constitu&eacute;s d&rsquo;une double rang&eacute;e de dents h&eacute;lico&iuml;dales qui guide les grains de poivre ou de sel et les bloquent lors du broyage. Les m&eacute;canismes b&eacute;n&eacute;ficient d&rsquo;un traitement brevet&eacute; qui prot&egrave;ge l&rsquo;acier de la corrosion tout en gardant leur tranchant et leur r&eacute;sistance &agrave; l&rsquo;usure. Peugeot est tellement s&ucirc;r de leur fiabilit&eacute; qu'ils sont garantis &agrave; vie ! Et on les prend rarement en d&eacute;faut !</div><h1>Quel poivre ou sel pour mon moulin Paris Peugeot ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div>\n
          <div>Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;<br /><br /></div>\n
          <div>Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.<br /><br /></div>\n
          <div>Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div></div><h1>Système u'Select, qu'est ce que c'est ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le syst&egrave;me U&rsquo;select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div>\n
          <div>Le syst&egrave;me u'Select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;<br /><br /></div>\n
          <div>Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !<br /><br /></div>\n
          <div>Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div>- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div>- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div>- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div></div><h1>Vous avez le choix !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me Uselect. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div>Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me u'Select. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div></div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8658 …}
    #channels: Doctrine\ORM\PersistentCollection {#8644 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8640 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8642 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29959
  +product: App\Entity\Product\Product {#8639
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#8646 …}
    #variants: Doctrine\ORM\PersistentCollection {#8648 …}
    #options: Doctrine\ORM\PersistentCollection {#8652 …}
    #associations: Doctrine\ORM\PersistentCollection {#8650 …}
    #createdAt: DateTime @1758632747 {#8637
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8638
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8655 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8656
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8639}
        #id: 3042
        #name: "Moulin Peugeot PARIS naturel U'Select"
        #slug: "moulin-peugeot-paris-naturel-u-select-508"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme iconique.</li>\n
          <li>Corps en bois labellis&eacute; PEFC</li>\n
          <li>Syst&egrave;me de pr&eacute;-r&eacute;glage Uselect.</li>\n
          <li>M&eacute;canisme poivre ou sel inox tr&egrave;s efficace garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; &agrave; Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Moulin Paris Peugeot, une icône !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div>\n
          <div>Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div></div><h1>Parlons du bois !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div>\n
          <div>Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div></div><h1>Un mécanisme réputé, garanti à vie !</h1><div class="col is-12">Au del&agrave; du design, ce qui fait la renomm&eacute; du moulin Peugeot Paris, c'est ses m&eacute;canismes. Il en existe 2 : un pour le poivre, un pour le sel. Tout en acier, ils sont constitu&eacute;s d&rsquo;une double rang&eacute;e de dents h&eacute;lico&iuml;dales qui guide les grains de poivre ou de sel et les bloquent lors du broyage. Les m&eacute;canismes b&eacute;n&eacute;ficient d&rsquo;un traitement brevet&eacute; qui prot&egrave;ge l&rsquo;acier de la corrosion tout en gardant leur tranchant et leur r&eacute;sistance &agrave; l&rsquo;usure. Peugeot est tellement s&ucirc;r de leur fiabilit&eacute; qu'ils sont garantis &agrave; vie ! Et on les prend rarement en d&eacute;faut !</div><h1>Quel poivre ou sel pour mon moulin Paris Peugeot ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div>\n
          <div>Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;<br /><br /></div>\n
          <div>Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.<br /><br /></div>\n
          <div>Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div></div><h1>Système u'Select, qu'est ce que c'est ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le syst&egrave;me U&rsquo;select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div>\n
          <div>Le syst&egrave;me u'Select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;<br /><br /></div>\n
          <div>Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !<br /><br /></div>\n
          <div>Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div>- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div>- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div>- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div></div><h1>Vous avez le choix !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me Uselect. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div>Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me u'Select. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div></div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8658 …}
    #channels: Doctrine\ORM\PersistentCollection {#8644 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8640 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8642 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30280 …}
  +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 {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
118.0 MiB 0.76 ms
Input props
[
  "product" => App\Entity\Product\Product {#8639
    #id: 3042
    #code: "moulin-peugeot-paris-naturel-u-select-508"
    #attributes: Doctrine\ORM\PersistentCollection {#8646 …}
    #variants: Doctrine\ORM\PersistentCollection {#8648 …}
    #options: Doctrine\ORM\PersistentCollection {#8652 …}
    #associations: Doctrine\ORM\PersistentCollection {#8650 …}
    #createdAt: DateTime @1758632747 {#8637
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8638
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8655 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8656
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8639}
        #id: 3042
        #name: "Moulin Peugeot PARIS naturel U'Select"
        #slug: "moulin-peugeot-paris-naturel-u-select-508"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Forme iconique.</li>\n
          <li>Corps en bois labellis&eacute; PEFC</li>\n
          <li>Syst&egrave;me de pr&eacute;-r&eacute;glage Uselect.</li>\n
          <li>M&eacute;canisme poivre ou sel inox tr&egrave;s efficace garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; &agrave; Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Moulin Paris Peugeot, une icône !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div>\n
          <div>Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div></div><h1>Parlons du bois !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div>\n
          <div>Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div></div><h1>Un mécanisme réputé, garanti à vie !</h1><div class="col is-12">Au del&agrave; du design, ce qui fait la renomm&eacute; du moulin Peugeot Paris, c'est ses m&eacute;canismes. Il en existe 2 : un pour le poivre, un pour le sel. Tout en acier, ils sont constitu&eacute;s d&rsquo;une double rang&eacute;e de dents h&eacute;lico&iuml;dales qui guide les grains de poivre ou de sel et les bloquent lors du broyage. Les m&eacute;canismes b&eacute;n&eacute;ficient d&rsquo;un traitement brevet&eacute; qui prot&egrave;ge l&rsquo;acier de la corrosion tout en gardant leur tranchant et leur r&eacute;sistance &agrave; l&rsquo;usure. Peugeot est tellement s&ucirc;r de leur fiabilit&eacute; qu'ils sont garantis &agrave; vie ! Et on les prend rarement en d&eacute;faut !</div><h1>Quel poivre ou sel pour mon moulin Paris Peugeot ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div>\n
          <div>Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;<br /><br /></div>\n
          <div>Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.<br /><br /></div>\n
          <div>Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div></div><h1>Système u'Select, qu'est ce que c'est ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le syst&egrave;me U&rsquo;select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div>\n
          <div>Le syst&egrave;me u'Select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;<br /><br /></div>\n
          <div>Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !<br /><br /></div>\n
          <div>Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
          <div>- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
          <div>- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
          <div>- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div></div><h1>Vous avez le choix !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me Uselect. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div>Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me u'Select. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
          <div></div></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8658 …}
    #channels: Doctrine\ORM\PersistentCollection {#8644 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8640 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8642 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot PARIS naturel U'Select"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30351
  -props: [
    "product" => App\Entity\Product\Product {#8639
      #id: 3042
      #code: "moulin-peugeot-paris-naturel-u-select-508"
      #attributes: Doctrine\ORM\PersistentCollection {#8646 …}
      #variants: Doctrine\ORM\PersistentCollection {#8648 …}
      #options: Doctrine\ORM\PersistentCollection {#8652 …}
      #associations: Doctrine\ORM\PersistentCollection {#8650 …}
      #createdAt: DateTime @1758632747 {#8637
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8638
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8655 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8656
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8639}
          #id: 3042
          #name: "Moulin Peugeot PARIS naturel U'Select"
          #slug: "moulin-peugeot-paris-naturel-u-select-508"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Forme iconique.</li>\n
            <li>Corps en bois labellis&eacute; PEFC</li>\n
            <li>Syst&egrave;me de pr&eacute;-r&eacute;glage Uselect.</li>\n
            <li>M&eacute;canisme poivre ou sel inox tr&egrave;s efficace garanti &agrave; vie.</li>\n
            <li><strong>Fabriqu&eacute; &agrave; Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Moulin Paris Peugeot, une icône !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div>\n
            <div>Il ne porte pas le nom d'une des plus belles villes du monde pour rien ! Le moulin Paris Peugeot est devenu une v&eacute;ritable ic&ocirc;ne du design depuis son apparition il y a plus de 30 ans. Dans sa finition bois clair, son profil tout en galbes permet de mettre en valeur le veinage des bois utilis&eacute;s. De cette mani&egrave;re, on peut dire que esth&eacute;tiquement chaque moulin est unique !</div></div><h1>Parlons du bois !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div>\n
            <div>Depuis quelques ann&eacute;es maintenant, Peugeot utilise exclusivement du bois issu de for&ecirc;ts uniquement europ&eacute;ennes et labellis&eacute;es PEFC garantissant la gestion durable du massif forestier. Les copeaux et la sciure provenant de la production sont r&eacute;cup&eacute;r&eacute;s et recycl&eacute;s.&nbsp;</div></div><h1>Un mécanisme réputé, garanti à vie !</h1><div class="col is-12">Au del&agrave; du design, ce qui fait la renomm&eacute; du moulin Peugeot Paris, c'est ses m&eacute;canismes. Il en existe 2 : un pour le poivre, un pour le sel. Tout en acier, ils sont constitu&eacute;s d&rsquo;une double rang&eacute;e de dents h&eacute;lico&iuml;dales qui guide les grains de poivre ou de sel et les bloquent lors du broyage. Les m&eacute;canismes b&eacute;n&eacute;ficient d&rsquo;un traitement brevet&eacute; qui prot&egrave;ge l&rsquo;acier de la corrosion tout en gardant leur tranchant et leur r&eacute;sistance &agrave; l&rsquo;usure. Peugeot est tellement s&ucirc;r de leur fiabilit&eacute; qu'ils sont garantis &agrave; vie ! Et on les prend rarement en d&eacute;faut !</div><h1>Quel poivre ou sel pour mon moulin Paris Peugeot ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div>\n
            <div>Tout d'abord, veillez &agrave; ne pas inverser ! Ne mettez pas de poivre dans votre moulin &agrave; sel et inversement. Cependant si cela se produit, pas de panique, vous n'ab&icirc;merez pas votre moulin ! Il sera simplement inefficace ! Il suffit de d&eacute;monter le m&eacute;canisme et de le nettoyer soigneusement.&nbsp;<br /><br /></div>\n
            <div>Le m&eacute;canisme poivre Peugeot avec tous les poivres d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 6 mm. Il est adapt&eacute; aux poivres noir, blanc, vert ainsi qu&rsquo;aux baies roses si elles sont m&eacute;lang&eacute;es &agrave; l&rsquo;un de ces 3 poivres &agrave; hauteur maxi de 15 %. A noter qu'il convient &eacute;galement aux graines de coriandre.<br /><br /></div>\n
            <div>Le m&eacute;canisme &agrave; sel Peugeot fonctionne avec un sel d&rsquo;un diam&egrave;tre de grain inf&eacute;rieur ou &eacute;gal &agrave; 4 mm. Il faut que le sel soit imp&eacute;rativement sec. Pour le sel humide, un autre m&eacute;canisme est pr&eacute;conis&eacute;.</div></div><h1>Système u'Select, qu'est ce que c'est ?</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le syst&egrave;me U&rsquo;select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div>\n
            <div>Le syst&egrave;me u'Select est une innovation exclusive Peugeot&nbsp; permettant d'avoir un r&eacute;glage tr&egrave;s pr&eacute;cis de la finesse de mouture de sel ou de poivre. Il suffit de tourner la bague plac&eacute;e &agrave; la base du moulin et de s&eacute;lectionner l&rsquo;une des positions, chacune correspondant &agrave; une mouture pr&eacute;cise.&nbsp;<br /><br /></div>\n
            <div>Plus vous tournez la bague, plus la mouture est fine. Gros grains de poivre ou de sel, concass&eacute;s ou bien encore d&rsquo;une finesse extr&ecirc;me...au final, le syst&egrave;me propose pas moins de 6 moutures pr&eacute;-r&eacute;gl&eacute;es pour le poivre, et 6 pour le sel sans compter la possibilit&eacute; de s&eacute;lectionner des moutures interm&eacute;diaires ! Presque du sur mesure !<br /><br /></div>\n
            <div>Pour le poivre, en fonction de l'effet recherch&eacute;, chaque mouture mettra en valeur les valeurs les vertus de vos poivres pr&eacute;f&eacute;r&eacute;s:&nbsp;</div>\n
            <div>- Une mouture fine mettra en valeur la puissance du poivre.</div>\n
            <div>- Une grosse mouture r&eacute;v&eacute;lera tout son ar&ocirc;me.</div>\n
            <div>- Une mouture moyenne veillera &agrave; l'&eacute;quilibre.</div></div><h1>Vous avez le choix !</h1><div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me Uselect. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
            <div>Le moulin Peugeot Paris est disponible en de nombreuses tailles de 12 &agrave; 40 cm dans cette finition bois clair et syst&egrave;me u'Select. Mais le moulin Paris est aussi disponible dans d'autres coloris et mati&egrave;res.</div>\n
            <div></div></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8658 …}
      #channels: Doctrine\ORM\PersistentCollection {#8644 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8640 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8642 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
118.0 MiB 0.60 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30521
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30335 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30411 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30332 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30280 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30288
    #collection: Doctrine\Common\Collections\ArrayCollection {#30297 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30276 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38929 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38931 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30521
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30335 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30411 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30332 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot PARIS naturel U'Select"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30288
    #collection: Doctrine\Common\Collections\ArrayCollection {#30297 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30276 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38929 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38931 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30524
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30521
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30335 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30411 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30332 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30280 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30288
      #collection: Doctrine\Common\Collections\ArrayCollection {#30297 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30276 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38929 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38931 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 118.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30575
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30566 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30573 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30574 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30280 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30578
  +variant: App\Entity\Product\ProductVariant {#30280 …}
  +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 {#9066 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12496 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9063 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30575
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30566 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30573 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30574 …}
    +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 118.0 MiB 5.56 ms
Input props
[
  "product" => App\Entity\Product\Product {#8662
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8669 …}
    #variants: Doctrine\ORM\PersistentCollection {#8671 …}
    #options: Doctrine\ORM\PersistentCollection {#8675 …}
    #associations: Doctrine\ORM\PersistentCollection {#8673 …}
    #createdAt: DateTime @1758632747 {#8660
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8661
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8678 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8679
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8662}
        #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 {#8681 …}
    #channels: Doctrine\ORM\PersistentCollection {#8667 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8663 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8665 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30342
  +product: App\Entity\Product\Product {#8662
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8669 …}
    #variants: Doctrine\ORM\PersistentCollection {#8671 …}
    #options: Doctrine\ORM\PersistentCollection {#8675 …}
    #associations: Doctrine\ORM\PersistentCollection {#8673 …}
    #createdAt: DateTime @1758632747 {#8660
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8661
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8678 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8679
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8662}
        #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 {#8681 …}
    #channels: Doctrine\ORM\PersistentCollection {#8667 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8663 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8665 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30641 …}
  +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 {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
118.0 MiB 0.71 ms
Input props
[
  "product" => App\Entity\Product\Product {#8662
    #id: 3043
    #code: "moulin-peugeot-bistro-2682"
    #attributes: Doctrine\ORM\PersistentCollection {#8669 …}
    #variants: Doctrine\ORM\PersistentCollection {#8671 …}
    #options: Doctrine\ORM\PersistentCollection {#8675 …}
    #associations: Doctrine\ORM\PersistentCollection {#8673 …}
    #createdAt: DateTime @1758632747 {#8660
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8661
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8678 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8679
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8662}
        #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 {#8681 …}
    #channels: Doctrine\ORM\PersistentCollection {#8667 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8663 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8665 …}
    #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 {#30712
  -props: [
    "product" => App\Entity\Product\Product {#8662
      #id: 3043
      #code: "moulin-peugeot-bistro-2682"
      #attributes: Doctrine\ORM\PersistentCollection {#8669 …}
      #variants: Doctrine\ORM\PersistentCollection {#8671 …}
      #options: Doctrine\ORM\PersistentCollection {#8675 …}
      #associations: Doctrine\ORM\PersistentCollection {#8673 …}
      #createdAt: DateTime @1758632747 {#8660
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8661
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8678 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8679
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8662}
          #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 {#8681 …}
      #channels: Doctrine\ORM\PersistentCollection {#8667 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8663 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8665 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
118.0 MiB 0.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30874
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30696 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30772 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30693 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30641 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30649
    #collection: Doctrine\Common\Collections\ArrayCollection {#30658 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30637 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38943 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38945 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30874
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30696 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30772 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30693 …}
    +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 {#30649
    #collection: Doctrine\Common\Collections\ArrayCollection {#30658 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30637 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38943 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38945 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30879
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30874
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30696 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30772 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30693 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30641 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30649
      #collection: Doctrine\Common\Collections\ArrayCollection {#30658 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30637 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38943 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38945 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 118.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30928
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30919 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30926 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30927 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30641 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30931
  +variant: App\Entity\Product\ProductVariant {#30641 …}
  +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 {#9066 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12496 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9063 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30928
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30919 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30926 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30927 …}
    +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 118.0 MiB 5.39 ms
Input props
[
  "product" => App\Entity\Product\Product {#8685
    #id: 3045
    #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
    #attributes: Doctrine\ORM\PersistentCollection {#8692 …}
    #variants: Doctrine\ORM\PersistentCollection {#8694 …}
    #options: Doctrine\ORM\PersistentCollection {#8698 …}
    #associations: Doctrine\ORM\PersistentCollection {#8696 …}
    #createdAt: DateTime @1758632747 {#8683
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8684
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8701 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8702
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8685}
        #id: 3045
        #name: "Moulin Peugeot Paris laqué noir U'Select"
        #slug: "moulin-peugeot-paris-laque-noir-u-select-4024"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT.</li>\n
          <li>Corps bois laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <strong></strong> \n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; noir sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8704 …}
    #channels: Doctrine\ORM\PersistentCollection {#8690 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8686 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8688 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30703
  +product: App\Entity\Product\Product {#8685
    #id: 3045
    #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
    #attributes: Doctrine\ORM\PersistentCollection {#8692 …}
    #variants: Doctrine\ORM\PersistentCollection {#8694 …}
    #options: Doctrine\ORM\PersistentCollection {#8698 …}
    #associations: Doctrine\ORM\PersistentCollection {#8696 …}
    #createdAt: DateTime @1758632747 {#8683
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8684
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8701 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8702
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8685}
        #id: 3045
        #name: "Moulin Peugeot Paris laqué noir U'Select"
        #slug: "moulin-peugeot-paris-laque-noir-u-select-4024"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT.</li>\n
          <li>Corps bois laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <strong></strong> \n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; noir sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8704 …}
    #channels: Doctrine\ORM\PersistentCollection {#8690 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8686 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8688 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30994 …}
  +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 {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
118.0 MiB 0.70 ms
Input props
[
  "product" => App\Entity\Product\Product {#8685
    #id: 3045
    #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
    #attributes: Doctrine\ORM\PersistentCollection {#8692 …}
    #variants: Doctrine\ORM\PersistentCollection {#8694 …}
    #options: Doctrine\ORM\PersistentCollection {#8698 …}
    #associations: Doctrine\ORM\PersistentCollection {#8696 …}
    #createdAt: DateTime @1758632747 {#8683
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8684
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8701 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8702
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8685}
        #id: 3045
        #name: "Moulin Peugeot Paris laqué noir U'Select"
        #slug: "moulin-peugeot-paris-laque-noir-u-select-4024"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT.</li>\n
          <li>Corps bois laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <strong></strong> \n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; noir sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8704 …}
    #channels: Doctrine\ORM\PersistentCollection {#8690 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8686 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8688 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Paris laqué noir U'Select"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31065
  -props: [
    "product" => App\Entity\Product\Product {#8685
      #id: 3045
      #code: "moulin-peugeot-paris-laque-noir-u-select-4024"
      #attributes: Doctrine\ORM\PersistentCollection {#8692 …}
      #variants: Doctrine\ORM\PersistentCollection {#8694 …}
      #options: Doctrine\ORM\PersistentCollection {#8698 …}
      #associations: Doctrine\ORM\PersistentCollection {#8696 …}
      #createdAt: DateTime @1758632747 {#8683
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8684
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8701 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8702
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8685}
          #id: 3045
          #name: "Moulin Peugeot Paris laqué noir U'Select"
          #slug: "moulin-peugeot-paris-laque-noir-u-select-4024"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Syst&egrave;me&nbsp;USELECT.</li>\n
            <li>Corps bois laqu&eacute;.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul>\n
            <strong></strong> \n
            <ul>\n
            </ul></div><h1>Description Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; noir sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris laqué noir U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8704 …}
      #channels: Doctrine\ORM\PersistentCollection {#8690 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8686 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8688 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
118.0 MiB 0.61 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31210
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31049 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31122 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31046 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30994 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31002
    #collection: Doctrine\Common\Collections\ArrayCollection {#31011 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30990 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38957 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38959 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31210
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31049 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31122 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31046 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Paris laqué noir U'Select"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31002
    #collection: Doctrine\Common\Collections\ArrayCollection {#31011 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30990 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38957 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38959 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31214
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31210
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31049 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31122 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31046 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30994 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#31002
      #collection: Doctrine\Common\Collections\ArrayCollection {#31011 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30990 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38957 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38959 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 118.0 MiB 0.16 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31264
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31255 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31262 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31263 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30994 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31267
  +variant: App\Entity\Product\ProductVariant {#30994 …}
  +price: "42,00\u{A0}"
  +originalPrice: "46,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9066 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12496 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9063 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31264
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31255 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31262 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31263 …}
    +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 118.0 MiB 5.40 ms
Input props
[
  "product" => App\Entity\Product\Product {#8708
    #id: 3046
    #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
    #attributes: Doctrine\ORM\PersistentCollection {#8715 …}
    #variants: Doctrine\ORM\PersistentCollection {#8717 …}
    #options: Doctrine\ORM\PersistentCollection {#8721 …}
    #associations: Doctrine\ORM\PersistentCollection {#8719 …}
    #createdAt: DateTime @1758632747 {#8706
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8707
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8724 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8725
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8708}
        #id: 3046
        #name: "Moulin Peugeot Paris laqué blanc U'Select"
        #slug: "moulin-peugeot-paris-laque-blanc-u-select-4025"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT.</li>\n
          <li>Corps bois laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; blanc sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8727 …}
    #channels: Doctrine\ORM\PersistentCollection {#8713 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8709 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8711 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#31056
  +product: App\Entity\Product\Product {#8708
    #id: 3046
    #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
    #attributes: Doctrine\ORM\PersistentCollection {#8715 …}
    #variants: Doctrine\ORM\PersistentCollection {#8717 …}
    #options: Doctrine\ORM\PersistentCollection {#8721 …}
    #associations: Doctrine\ORM\PersistentCollection {#8719 …}
    #createdAt: DateTime @1758632747 {#8706
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8707
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8724 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8725
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8708}
        #id: 3046
        #name: "Moulin Peugeot Paris laqué blanc U'Select"
        #slug: "moulin-peugeot-paris-laque-blanc-u-select-4025"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT.</li>\n
          <li>Corps bois laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; blanc sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8727 …}
    #channels: Doctrine\ORM\PersistentCollection {#8713 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8709 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8711 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#31330 …}
  +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 {#27709
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27748 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27735 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
118.0 MiB 0.75 ms
Input props
[
  "product" => App\Entity\Product\Product {#8708
    #id: 3046
    #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
    #attributes: Doctrine\ORM\PersistentCollection {#8715 …}
    #variants: Doctrine\ORM\PersistentCollection {#8717 …}
    #options: Doctrine\ORM\PersistentCollection {#8721 …}
    #associations: Doctrine\ORM\PersistentCollection {#8719 …}
    #createdAt: DateTime @1758632747 {#8706
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8707
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8724 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8725
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8708}
        #id: 3046
        #name: "Moulin Peugeot Paris laqué blanc U'Select"
        #slug: "moulin-peugeot-paris-laque-blanc-u-select-4025"
        #description: """
          <div class="col is-12"><ul>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Syst&egrave;me&nbsp;USELECT.</li>\n
          <li>Corps bois laqu&eacute;.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; blanc sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8727 …}
    #channels: Doctrine\ORM\PersistentCollection {#8713 …}
    #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8709 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8711 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Paris laqué blanc U'Select"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31401
  -props: [
    "product" => App\Entity\Product\Product {#8708
      #id: 3046
      #code: "moulin-peugeot-paris-laque-blanc-u-select-4025"
      #attributes: Doctrine\ORM\PersistentCollection {#8715 …}
      #variants: Doctrine\ORM\PersistentCollection {#8717 …}
      #options: Doctrine\ORM\PersistentCollection {#8721 …}
      #associations: Doctrine\ORM\PersistentCollection {#8719 …}
      #createdAt: DateTime @1758632747 {#8706
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8707
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8724 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8725
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8708}
          #id: 3046
          #name: "Moulin Peugeot Paris laqué blanc U'Select"
          #slug: "moulin-peugeot-paris-laque-blanc-u-select-4025"
          #description: """
            <div class="col is-12"><ul>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Syst&egrave;me&nbsp;USELECT.</li>\n
            <li>Corps bois laqu&eacute;.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul></div><h1>Description Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12">Le moulin Peugeot Paris laqu&eacute; blanc sera un atout pr&eacute;cieux dans la r&eacute;alisation de vos plats en cuisine. Sa finition particuli&egrave;rement soign&eacute;e lui permet d'&ecirc;tre pr&eacute;sent&eacute; directement &agrave; table. Il est &eacute;quip&eacute; d'un m&eacute;canisme de r&eacute;glage Uselect permettant de s&eacute;lectionner avec pr&eacute;cision la finesse de la mouture d&eacute;sir&eacute;e.</div><h1>Caractéristiques Moulin Peugeot Paris laqué blanc U'Select</h1><div class="col is-12"><span style="color: #313131; font-family: arial; font-size: 12px; line-height: 14px; background-color: #fafafa;">Corps bois laqu&eacute;. Syst&egrave;me de fermeture par vis laiton grav&eacute;e poivre ou sel. Syst&egrave;me Uselect &nbsp;de r&eacute;glage de mouture. Garantie &agrave; vie.</span></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8727 …}
      #channels: Doctrine\ORM\PersistentCollection {#8713 …}
      #mainTaxon: Proxies\__CG__\App\Entity\Taxonomy\Taxon {#8566 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8709 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8711 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
118.0 MiB 0.57 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31552
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31385 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31464 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31382 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31330 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31338
    #collection: Doctrine\Common\Collections\ArrayCollection {#31347 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31326 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38971 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38973 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31552
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31385 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31464 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31382 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Paris laqué blanc U'Select"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31338
    #collection: Doctrine\Common\Collections\ArrayCollection {#31347 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31326 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38971 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38973 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31556
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31552
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31385 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31464 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31382 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#31330 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#31338
      #collection: Doctrine\Common\Collections\ArrayCollection {#31347 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#31326 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38971 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38973 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 118.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31606
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31597 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31604 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31605 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31330 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31609
  +variant: App\Entity\Product\ProductVariant {#31330 …}
  +price: "33,00\u{A0}"
  +originalPrice: "36,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9066 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12496 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9063 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31606
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31597 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31604 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31605 …}
    +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 118.0 MiB 2.10 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27419
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12561 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27441 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12571 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31916
  +cart: App\Entity\Order\Order {#13475 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27419
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12561 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27441 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12571 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}