Components

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

Components

Name Metadata Render Count Render Time
sylius_shop:product:card
"Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
@SyliusUi/components/default.html.twig
9 51.57ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 9.38ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 7.24ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.53ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.08ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.70ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.43ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 14.42ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.00ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.91ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.96ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 1.99ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 112.0 MiB 1.08 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12608
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12601 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12607 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12606 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/currency_switcher.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/currency_switcher.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent {#13228
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12608
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12601 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12607 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12606 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 112.0 MiB 0.70 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13305
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13301 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13303 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13304 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/locale_switcher.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/shared/layout/base/header/top_bar/locale_switcher.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent {#13314
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13305
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13301 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13303 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13304 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 112.0 MiB 4.43 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13396
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13375 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13395 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13394 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#13411
  +cart: App\Entity\Order\Order {#13478 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13396
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13375 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13395 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13394 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  +template: "@SyliusShop/shared/components/header/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}
sylius_shop:common:taxon_menu Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent 112.0 MiB 14.42 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13664
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13652 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13658 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13650 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/header/navbar/menu.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/shared/layout/base/header/navbar/menu.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent {#13673
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13664
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13652 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13658 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13650 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 112.0 MiB 1.00 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27461
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27457 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27458 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27460 …}
    +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 {#27470
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27461
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27457 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27458 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27460 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 112.0 MiB 0.91 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27574
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27570 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27571 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27573 …}
    +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 {#27582
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27574
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27570 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27571 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27573 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 112.0 MiB 1.96 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27659
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27655 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27658 …}
    +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 {#27667
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27659
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27655 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27656 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27658 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 9.77 ms
Input props
[
  "product" => App\Entity\Product\Product {#7969
    #id: 3112
    #code: "plateau-linea-acryl-peugeot-4390"
    #attributes: Doctrine\ORM\PersistentCollection {#8175 …}
    #variants: Doctrine\ORM\PersistentCollection {#8398 …}
    #options: Doctrine\ORM\PersistentCollection {#8526 …}
    #associations: Doctrine\ORM\PersistentCollection {#8466 …}
    #createdAt: DateTime @1758632757 {#7659
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632757 {#7725
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8525 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8528
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7969}
        #id: 3112
        #name: "Plateau Linéa acryl Peugeot"
        #slug: "plateau-linea-acryl-peugeot-4390"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Convient &agrave; tous les styles.</li>\n
          <li>Pour les moulins jusqu'au &oslash; 6,4 cm.</li>\n
          <li>Poign&eacute;e de transport (conseill&eacute; pour les moulins jusqu'&agrave; hauteur 16 cm max)</li>\n
          <li>Dimensions : 19 x 19,5 cm.</li>\n
          </ul>\n
          &nbsp;</div><h1>Description Plateau Linéa acryl Peugeot</h1><div class="col is-12">Le plateau Lin&eacute;a acryl Peugeot s'accorde bien avec tous les styles de moulin. Il &eacute;vite de salir tables et plans de travail avec les r&eacute;sidus de poivre ou de sel moulu. (livr&eacute; sans moulin)</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 {#8531 …}
    #channels: Doctrine\ORM\PersistentCollection {#8034 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7919 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8037 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28192
  +product: App\Entity\Product\Product {#7969
    #id: 3112
    #code: "plateau-linea-acryl-peugeot-4390"
    #attributes: Doctrine\ORM\PersistentCollection {#8175 …}
    #variants: Doctrine\ORM\PersistentCollection {#8398 …}
    #options: Doctrine\ORM\PersistentCollection {#8526 …}
    #associations: Doctrine\ORM\PersistentCollection {#8466 …}
    #createdAt: DateTime @1758632757 {#7659
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632757 {#7725
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8525 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8528
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7969}
        #id: 3112
        #name: "Plateau Linéa acryl Peugeot"
        #slug: "plateau-linea-acryl-peugeot-4390"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Convient &agrave; tous les styles.</li>\n
          <li>Pour les moulins jusqu'au &oslash; 6,4 cm.</li>\n
          <li>Poign&eacute;e de transport (conseill&eacute; pour les moulins jusqu'&agrave; hauteur 16 cm max)</li>\n
          <li>Dimensions : 19 x 19,5 cm.</li>\n
          </ul>\n
          &nbsp;</div><h1>Description Plateau Linéa acryl Peugeot</h1><div class="col is-12">Le plateau Lin&eacute;a acryl Peugeot s'accorde bien avec tous les styles de moulin. Il &eacute;vite de salir tables et plans de travail avec les r&eacute;sidus de poivre ou de sel moulu. (livr&eacute; sans moulin)</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 {#8531 …}
    #channels: Doctrine\ORM\PersistentCollection {#8034 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7919 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8037 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#28454 …}
  +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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 2.05 ms
Input props
[
  "product" => App\Entity\Product\Product {#7969
    #id: 3112
    #code: "plateau-linea-acryl-peugeot-4390"
    #attributes: Doctrine\ORM\PersistentCollection {#8175 …}
    #variants: Doctrine\ORM\PersistentCollection {#8398 …}
    #options: Doctrine\ORM\PersistentCollection {#8526 …}
    #associations: Doctrine\ORM\PersistentCollection {#8466 …}
    #createdAt: DateTime @1758632757 {#7659
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632757 {#7725
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8525 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8528
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#7969}
        #id: 3112
        #name: "Plateau Linéa acryl Peugeot"
        #slug: "plateau-linea-acryl-peugeot-4390"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Convient &agrave; tous les styles.</li>\n
          <li>Pour les moulins jusqu'au &oslash; 6,4 cm.</li>\n
          <li>Poign&eacute;e de transport (conseill&eacute; pour les moulins jusqu'&agrave; hauteur 16 cm max)</li>\n
          <li>Dimensions : 19 x 19,5 cm.</li>\n
          </ul>\n
          &nbsp;</div><h1>Description Plateau Linéa acryl Peugeot</h1><div class="col is-12">Le plateau Lin&eacute;a acryl Peugeot s'accorde bien avec tous les styles de moulin. Il &eacute;vite de salir tables et plans de travail avec les r&eacute;sidus de poivre ou de sel moulu. (livr&eacute; sans moulin)</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 {#8531 …}
    #channels: Doctrine\ORM\PersistentCollection {#8034 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#7919 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8037 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Plateau Linéa acryl Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28865
  -props: [
    "product" => App\Entity\Product\Product {#7969
      #id: 3112
      #code: "plateau-linea-acryl-peugeot-4390"
      #attributes: Doctrine\ORM\PersistentCollection {#8175 …}
      #variants: Doctrine\ORM\PersistentCollection {#8398 …}
      #options: Doctrine\ORM\PersistentCollection {#8526 …}
      #associations: Doctrine\ORM\PersistentCollection {#8466 …}
      #createdAt: DateTime @1758632757 {#7659
        date: 2025-09-23 21:05:57.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632757 {#7725
        date: 2025-09-23 21:05:57.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8525 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8528
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#7969}
          #id: 3112
          #name: "Plateau Linéa acryl Peugeot"
          #slug: "plateau-linea-acryl-peugeot-4390"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Convient &agrave; tous les styles.</li>\n
            <li>Pour les moulins jusqu'au &oslash; 6,4 cm.</li>\n
            <li>Poign&eacute;e de transport (conseill&eacute; pour les moulins jusqu'&agrave; hauteur 16 cm max)</li>\n
            <li>Dimensions : 19 x 19,5 cm.</li>\n
            </ul>\n
            &nbsp;</div><h1>Description Plateau Linéa acryl Peugeot</h1><div class="col is-12">Le plateau Lin&eacute;a acryl Peugeot s'accorde bien avec tous les styles de moulin. Il &eacute;vite de salir tables et plans de travail avec les r&eacute;sidus de poivre ou de sel moulu. (livr&eacute; sans moulin)</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 {#8531 …}
      #channels: Doctrine\ORM\PersistentCollection {#8034 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#7919 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8037 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 1.41 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28938
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28941 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28936 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28935 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28454 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28800
    #collection: Doctrine\Common\Collections\ArrayCollection {#28799 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28637 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38422 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38474 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28938
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28941 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28936 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28935 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Plateau Linéa acryl Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28800
    #collection: Doctrine\Common\Collections\ArrayCollection {#28799 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28637 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38422 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38474 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28946
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28938
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28941 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28936 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28935 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#28454 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#28800
      #collection: Doctrine\Common\Collections\ArrayCollection {#28799 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#28637 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38422 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38474 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.38 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29014
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29004 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29012 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29013 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28454 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29023
  +variant: App\Entity\Product\ProductVariant {#28454 …}
  +price: "16,00\u{A0}"
  +originalPrice: "16,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29014
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29004 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29012 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29013 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 4.73 ms
Input props
[
  "product" => App\Entity\Product\Product {#8540
    #id: 3113
    #code: "plateau-linea-bois-inox-peugeot-4391"
    #attributes: Doctrine\ORM\PersistentCollection {#8547 …}
    #variants: Doctrine\ORM\PersistentCollection {#8549 …}
    #options: Doctrine\ORM\PersistentCollection {#8553 …}
    #associations: Doctrine\ORM\PersistentCollection {#8551 …}
    #createdAt: DateTime @1758632757 {#8538
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632757 {#8539
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8556 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8557
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8540}
        #id: 3113
        #name: "Plateau Linéa bois-inox Peugeot"
        #slug: "plateau-linea-bois-inox-peugeot-4391"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Convient &agrave; tous les styles.</li>\n
          <li>Pour les moulins jusqu'au &oslash; 5,6 cm.</li>\n
          <li>Poign&eacute;e de transport (conseill&eacute; pour les moulins jusqu'&agrave; hauteur 16 cm max)</li>\n
          <li>Dimensions : 17,5 x 19,5 cm.</li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
          </ul></div><h1>Description Plateau Linéa bois-inox Peugeot</h1><div class="col is-12">Le plateau Lin&eacute;a bois-inox Peugeot s'accorde bien avec tous les styles de moulin. Il &eacute;vite de salir tables et plans de travail avec les r&eacute;sidus de poivre ou de sel moulu. (livr&eacute; sans moulin)</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 {#8559 …}
    #channels: Doctrine\ORM\PersistentCollection {#8545 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8541 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8543 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28843
  +product: App\Entity\Product\Product {#8540
    #id: 3113
    #code: "plateau-linea-bois-inox-peugeot-4391"
    #attributes: Doctrine\ORM\PersistentCollection {#8547 …}
    #variants: Doctrine\ORM\PersistentCollection {#8549 …}
    #options: Doctrine\ORM\PersistentCollection {#8553 …}
    #associations: Doctrine\ORM\PersistentCollection {#8551 …}
    #createdAt: DateTime @1758632757 {#8538
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632757 {#8539
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8556 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8557
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8540}
        #id: 3113
        #name: "Plateau Linéa bois-inox Peugeot"
        #slug: "plateau-linea-bois-inox-peugeot-4391"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Convient &agrave; tous les styles.</li>\n
          <li>Pour les moulins jusqu'au &oslash; 5,6 cm.</li>\n
          <li>Poign&eacute;e de transport (conseill&eacute; pour les moulins jusqu'&agrave; hauteur 16 cm max)</li>\n
          <li>Dimensions : 17,5 x 19,5 cm.</li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
          </ul></div><h1>Description Plateau Linéa bois-inox Peugeot</h1><div class="col is-12">Le plateau Lin&eacute;a bois-inox Peugeot s'accorde bien avec tous les styles de moulin. Il &eacute;vite de salir tables et plans de travail avec les r&eacute;sidus de poivre ou de sel moulu. (livr&eacute; sans moulin)</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 {#8559 …}
    #channels: Doctrine\ORM\PersistentCollection {#8545 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8541 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8543 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29096 …}
  +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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.86 ms
Input props
[
  "product" => App\Entity\Product\Product {#8540
    #id: 3113
    #code: "plateau-linea-bois-inox-peugeot-4391"
    #attributes: Doctrine\ORM\PersistentCollection {#8547 …}
    #variants: Doctrine\ORM\PersistentCollection {#8549 …}
    #options: Doctrine\ORM\PersistentCollection {#8553 …}
    #associations: Doctrine\ORM\PersistentCollection {#8551 …}
    #createdAt: DateTime @1758632757 {#8538
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632757 {#8539
      date: 2025-09-23 21:05:57.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8556 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8557
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8540}
        #id: 3113
        #name: "Plateau Linéa bois-inox Peugeot"
        #slug: "plateau-linea-bois-inox-peugeot-4391"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Convient &agrave; tous les styles.</li>\n
          <li>Pour les moulins jusqu'au &oslash; 5,6 cm.</li>\n
          <li>Poign&eacute;e de transport (conseill&eacute; pour les moulins jusqu'&agrave; hauteur 16 cm max)</li>\n
          <li>Dimensions : 17,5 x 19,5 cm.</li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
          </ul></div><h1>Description Plateau Linéa bois-inox Peugeot</h1><div class="col is-12">Le plateau Lin&eacute;a bois-inox Peugeot s'accorde bien avec tous les styles de moulin. Il &eacute;vite de salir tables et plans de travail avec les r&eacute;sidus de poivre ou de sel moulu. (livr&eacute; sans moulin)</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 {#8559 …}
    #channels: Doctrine\ORM\PersistentCollection {#8545 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8541 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8543 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Plateau Linéa bois-inox Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29170
  -props: [
    "product" => App\Entity\Product\Product {#8540
      #id: 3113
      #code: "plateau-linea-bois-inox-peugeot-4391"
      #attributes: Doctrine\ORM\PersistentCollection {#8547 …}
      #variants: Doctrine\ORM\PersistentCollection {#8549 …}
      #options: Doctrine\ORM\PersistentCollection {#8553 …}
      #associations: Doctrine\ORM\PersistentCollection {#8551 …}
      #createdAt: DateTime @1758632757 {#8538
        date: 2025-09-23 21:05:57.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632757 {#8539
        date: 2025-09-23 21:05:57.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8556 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8557
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8540}
          #id: 3113
          #name: "Plateau Linéa bois-inox Peugeot"
          #slug: "plateau-linea-bois-inox-peugeot-4391"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Convient &agrave; tous les styles.</li>\n
            <li>Pour les moulins jusqu'au &oslash; 5,6 cm.</li>\n
            <li>Poign&eacute;e de transport (conseill&eacute; pour les moulins jusqu'&agrave; hauteur 16 cm max)</li>\n
            <li>Dimensions : 17,5 x 19,5 cm.</li>\n
            </ul>\n
            <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
            </ul></div><h1>Description Plateau Linéa bois-inox Peugeot</h1><div class="col is-12">Le plateau Lin&eacute;a bois-inox Peugeot s'accorde bien avec tous les styles de moulin. Il &eacute;vite de salir tables et plans de travail avec les r&eacute;sidus de poivre ou de sel moulu. (livr&eacute; sans moulin)</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 {#8559 …}
      #channels: Doctrine\ORM\PersistentCollection {#8545 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8541 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8543 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29163
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29154 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29224 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29151 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29096 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29104
    #collection: Doctrine\Common\Collections\ArrayCollection {#29116 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29092 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38494 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38496 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29163
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29154 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29224 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29151 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Plateau Linéa bois-inox Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29104
    #collection: Doctrine\Common\Collections\ArrayCollection {#29116 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29092 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38494 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38496 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29228
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29163
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29154 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29224 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29151 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29096 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29104
      #collection: Doctrine\Common\Collections\ArrayCollection {#29116 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29092 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38494 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38496 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29278
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29269 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29276 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29277 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29096 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29281
  +variant: App\Entity\Product\ProductVariant {#29096 …}
  +price: "29,00\u{A0}"
  +originalPrice: "29,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29278
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29269 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29276 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29277 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 5.60 ms
Input props
[
  "product" => App\Entity\Product\Product {#8563
    #id: 3107
    #code: "moulin-peugeot-daman-2011"
    #attributes: Doctrine\ORM\PersistentCollection {#8570 …}
    #variants: Doctrine\ORM\PersistentCollection {#8572 …}
    #options: Doctrine\ORM\PersistentCollection {#8576 …}
    #associations: Doctrine\ORM\PersistentCollection {#8574 …}
    #createdAt: DateTime @1758632755 {#8561
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8562
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8579 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8580
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8563}
        #id: 3107
        #name: "Moulin Peugeot Daman"
        #slug: "moulin-peugeot-daman-2011"
        #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>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
          </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</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<br /><a href="&lt;/body"></a></p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8582 …}
    #channels: Doctrine\ORM\PersistentCollection {#8568 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8564 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8566 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29161
  +product: App\Entity\Product\Product {#8563
    #id: 3107
    #code: "moulin-peugeot-daman-2011"
    #attributes: Doctrine\ORM\PersistentCollection {#8570 …}
    #variants: Doctrine\ORM\PersistentCollection {#8572 …}
    #options: Doctrine\ORM\PersistentCollection {#8576 …}
    #associations: Doctrine\ORM\PersistentCollection {#8574 …}
    #createdAt: DateTime @1758632755 {#8561
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8562
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8579 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8580
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8563}
        #id: 3107
        #name: "Moulin Peugeot Daman"
        #slug: "moulin-peugeot-daman-2011"
        #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>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
          </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</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<br /><a href="&lt;/body"></a></p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8582 …}
    #channels: Doctrine\ORM\PersistentCollection {#8568 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8564 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8566 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29344 …}
  +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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.90 ms
Input props
[
  "product" => App\Entity\Product\Product {#8563
    #id: 3107
    #code: "moulin-peugeot-daman-2011"
    #attributes: Doctrine\ORM\PersistentCollection {#8570 …}
    #variants: Doctrine\ORM\PersistentCollection {#8572 …}
    #options: Doctrine\ORM\PersistentCollection {#8576 …}
    #associations: Doctrine\ORM\PersistentCollection {#8574 …}
    #createdAt: DateTime @1758632755 {#8561
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8562
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8579 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8580
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8563}
        #id: 3107
        #name: "Moulin Peugeot Daman"
        #slug: "moulin-peugeot-daman-2011"
        #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>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
          </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</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<br /><a href="&lt;/body"></a></p></div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8582 …}
    #channels: Doctrine\ORM\PersistentCollection {#8568 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8564 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8566 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Daman"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29418
  -props: [
    "product" => App\Entity\Product\Product {#8563
      #id: 3107
      #code: "moulin-peugeot-daman-2011"
      #attributes: Doctrine\ORM\PersistentCollection {#8570 …}
      #variants: Doctrine\ORM\PersistentCollection {#8572 …}
      #options: Doctrine\ORM\PersistentCollection {#8576 …}
      #associations: Doctrine\ORM\PersistentCollection {#8574 …}
      #createdAt: DateTime @1758632755 {#8561
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632755 {#8562
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8579 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8580
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8563}
          #id: 3107
          #name: "Moulin Peugeot Daman"
          #slug: "moulin-peugeot-daman-2011"
          #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>Couvercle de remplissage aimant&eacute;, se referme tout seul !</li>\n
            </ul></div><h1>Description  Moulin Peugeot Daman</h1><div class="col is-12">Le moulin peugeot DAMAN b&eacute;n&eacute;ficie d'une esth&eacute;tique travaill&eacute;e et d'un m&eacute;canisme garanti &agrave; vie. &nbsp;Il&nbsp;poss&egrave;de un couvercle de remplissage aimant&eacute;, se referme tout seul !<a href="&lt;/body"></a></div><h1>Description  mécanisme Moulin Peugeot Daman</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<br /><a href="&lt;/body"></a></p></div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8582 …}
      #channels: Doctrine\ORM\PersistentCollection {#8568 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8564 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8566 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.72 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29536
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29402 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29478 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29399 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29344 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29352
    #collection: Doctrine\Common\Collections\ArrayCollection {#29364 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29340 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38508 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38510 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29536
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29402 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29478 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29399 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Daman"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29352
    #collection: Doctrine\Common\Collections\ArrayCollection {#29364 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29340 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38508 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38510 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29541
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29536
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29402 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29478 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29399 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29344 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29352
      #collection: Doctrine\Common\Collections\ArrayCollection {#29364 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29340 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38508 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38510 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29590
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29581 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29588 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29589 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29344 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29593
  +variant: App\Entity\Product\ProductVariant {#29344 …}
  +price: "92,00\u{A0}"
  +originalPrice: "109,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29590
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29581 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29588 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29589 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 5.29 ms
Input props
[
  "product" => App\Entity\Product\Product {#8593
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#8600 …}
    #variants: Doctrine\ORM\PersistentCollection {#8602 …}
    #options: Doctrine\ORM\PersistentCollection {#8606 …}
    #associations: Doctrine\ORM\PersistentCollection {#8604 …}
    #createdAt: DateTime @1758632755 {#8588
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8587
      date: 2025-09-23 21:05:55.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: 3108
        #name: "Moulin Peugeot Ouessant"
        #slug: "moulin-peugeot-ouessant-4362"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8612 …}
    #channels: Doctrine\ORM\PersistentCollection {#8598 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29409
  +product: App\Entity\Product\Product {#8593
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#8600 …}
    #variants: Doctrine\ORM\PersistentCollection {#8602 …}
    #options: Doctrine\ORM\PersistentCollection {#8606 …}
    #associations: Doctrine\ORM\PersistentCollection {#8604 …}
    #createdAt: DateTime @1758632755 {#8588
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8587
      date: 2025-09-23 21:05:55.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: 3108
        #name: "Moulin Peugeot Ouessant"
        #slug: "moulin-peugeot-ouessant-4362"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8612 …}
    #channels: Doctrine\ORM\PersistentCollection {#8598 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8594 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8596 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29656 …}
  +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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.89 ms
Input props
[
  "product" => App\Entity\Product\Product {#8593
    #id: 3108
    #code: "moulin-peugeot-ouessant-4362"
    #attributes: Doctrine\ORM\PersistentCollection {#8600 …}
    #variants: Doctrine\ORM\PersistentCollection {#8602 …}
    #options: Doctrine\ORM\PersistentCollection {#8606 …}
    #associations: Doctrine\ORM\PersistentCollection {#8604 …}
    #createdAt: DateTime @1758632755 {#8588
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8587
      date: 2025-09-23 21:05:55.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: 3108
        #name: "Moulin Peugeot Ouessant"
        #slug: "moulin-peugeot-ouessant-4362"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8612 …}
    #channels: Doctrine\ORM\PersistentCollection {#8598 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #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 Peugeot Ouessant"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29727
  -props: [
    "product" => App\Entity\Product\Product {#8593
      #id: 3108
      #code: "moulin-peugeot-ouessant-4362"
      #attributes: Doctrine\ORM\PersistentCollection {#8600 …}
      #variants: Doctrine\ORM\PersistentCollection {#8602 …}
      #options: Doctrine\ORM\PersistentCollection {#8606 …}
      #associations: Doctrine\ORM\PersistentCollection {#8604 …}
      #createdAt: DateTime @1758632755 {#8588
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632755 {#8587
        date: 2025-09-23 21:05:55.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: 3108
          #name: "Moulin Peugeot Ouessant"
          #slug: "moulin-peugeot-ouessant-4362"
          #description: """
            <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
            <div>\n
            <ul>\n
            <li>Efficacit&eacute; des m&eacute;canismes.</li>\n
            <li>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul>\n
            </div></div><h1>Description Moulin Peugeot Ouessant</h1><div class="col is-12">Le moulin Peugeot Ouessant, c'est une touche d'inox sur un corps transparent qui &eacute;voque le mouvement du m&eacute;canisme. Existe en sel, poivre ou piment.</div><h1>Caractéristiques Moulin Peugeot Ouessant</h1><div class="col is-12">M&eacute;canismes garantis &agrave; vie. Corps acrylique garanti 5 ans.. Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Chapeau en inox. Hauteur 14 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8612 …}
      #channels: Doctrine\ORM\PersistentCollection {#8598 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #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]
112.0 MiB 0.74 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29806
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29711 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29784 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29708 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29656 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29664
    #collection: Doctrine\Common\Collections\ArrayCollection {#29673 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29652 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38522 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38524 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29806
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29711 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29784 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29708 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Ouessant"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29664
    #collection: Doctrine\Common\Collections\ArrayCollection {#29673 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29652 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38522 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38524 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29809
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29806
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29711 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29784 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29708 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29656 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29664
      #collection: Doctrine\Common\Collections\ArrayCollection {#29673 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29652 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38522 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38524 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29860
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29851 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29858 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29859 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29656 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29863
  +variant: App\Entity\Product\ProductVariant {#29656 …}
  +price: "38,00\u{A0}"
  +originalPrice: "42,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29860
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29851 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29858 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29859 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 5.73 ms
Input props
[
  "product" => App\Entity\Product\Product {#8616
    #id: 3109
    #code: "moulin-peugeot-oslo-5974"
    #attributes: Doctrine\ORM\PersistentCollection {#8623 …}
    #variants: Doctrine\ORM\PersistentCollection {#8625 …}
    #options: Doctrine\ORM\PersistentCollection {#8629 …}
    #associations: Doctrine\ORM\PersistentCollection {#8627 …}
    #createdAt: DateTime @1758632755 {#8614
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8615
      date: 2025-09-23 21:05:55.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: 3109
        #name: "Moulin Peugeot Oslo"
        #slug: "moulin-peugeot-oslo-5974"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canismes poivre et sel garantis &agrave; vie.</li>\n
          <li>Existe en poivre, sel, sel humide ou combin&eacute;.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Descriptif Moulin Peugeot Oslo</h1><div class="col is-12">Le moulin Peugeot Oslo tout en transparence avec une petite pointe d'inox, marie &eacute;l&eacute;gance et efficacit&eacute;. Existe en sel, poivre ou sel humide.</div><h1>Caractéristiques Moulin Peugeot Oslo</h1><div class="col is-12">M&eacute;canismes poivre et sel garantis &agrave; vie. Corps acrylique garanti 5 ans..Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 14 cm. Combin&eacute; hauteur 13 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8635 …}
    #channels: Doctrine\ORM\PersistentCollection {#8621 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29718
  +product: App\Entity\Product\Product {#8616
    #id: 3109
    #code: "moulin-peugeot-oslo-5974"
    #attributes: Doctrine\ORM\PersistentCollection {#8623 …}
    #variants: Doctrine\ORM\PersistentCollection {#8625 …}
    #options: Doctrine\ORM\PersistentCollection {#8629 …}
    #associations: Doctrine\ORM\PersistentCollection {#8627 …}
    #createdAt: DateTime @1758632755 {#8614
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8615
      date: 2025-09-23 21:05:55.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: 3109
        #name: "Moulin Peugeot Oslo"
        #slug: "moulin-peugeot-oslo-5974"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canismes poivre et sel garantis &agrave; vie.</li>\n
          <li>Existe en poivre, sel, sel humide ou combin&eacute;.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Descriptif Moulin Peugeot Oslo</h1><div class="col is-12">Le moulin Peugeot Oslo tout en transparence avec une petite pointe d'inox, marie &eacute;l&eacute;gance et efficacit&eacute;. Existe en sel, poivre ou sel humide.</div><h1>Caractéristiques Moulin Peugeot Oslo</h1><div class="col is-12">M&eacute;canismes poivre et sel garantis &agrave; vie. Corps acrylique garanti 5 ans..Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 14 cm. Combin&eacute; hauteur 13 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8635 …}
    #channels: Doctrine\ORM\PersistentCollection {#8621 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8617 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8619 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29926 …}
  +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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.96 ms
Input props
[
  "product" => App\Entity\Product\Product {#8616
    #id: 3109
    #code: "moulin-peugeot-oslo-5974"
    #attributes: Doctrine\ORM\PersistentCollection {#8623 …}
    #variants: Doctrine\ORM\PersistentCollection {#8625 …}
    #options: Doctrine\ORM\PersistentCollection {#8629 …}
    #associations: Doctrine\ORM\PersistentCollection {#8627 …}
    #createdAt: DateTime @1758632755 {#8614
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8615
      date: 2025-09-23 21:05:55.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: 3109
        #name: "Moulin Peugeot Oslo"
        #slug: "moulin-peugeot-oslo-5974"
        #description: """
          <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
          <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
          <div>\n
          <ul>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canismes poivre et sel garantis &agrave; vie.</li>\n
          <li>Existe en poivre, sel, sel humide ou combin&eacute;.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul>\n
          </div></div><h1>Descriptif Moulin Peugeot Oslo</h1><div class="col is-12">Le moulin Peugeot Oslo tout en transparence avec une petite pointe d'inox, marie &eacute;l&eacute;gance et efficacit&eacute;. Existe en sel, poivre ou sel humide.</div><h1>Caractéristiques Moulin Peugeot Oslo</h1><div class="col is-12">M&eacute;canismes poivre et sel garantis &agrave; vie. Corps acrylique garanti 5 ans..Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 14 cm. Combin&eacute; hauteur 13 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8635 …}
    #channels: Doctrine\ORM\PersistentCollection {#8621 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #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 Oslo"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29997
  -props: [
    "product" => App\Entity\Product\Product {#8616
      #id: 3109
      #code: "moulin-peugeot-oslo-5974"
      #attributes: Doctrine\ORM\PersistentCollection {#8623 …}
      #variants: Doctrine\ORM\PersistentCollection {#8625 …}
      #options: Doctrine\ORM\PersistentCollection {#8629 …}
      #associations: Doctrine\ORM\PersistentCollection {#8627 …}
      #createdAt: DateTime @1758632755 {#8614
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632755 {#8615
        date: 2025-09-23 21:05:55.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: 3109
          #name: "Moulin Peugeot Oslo"
          #slug: "moulin-peugeot-oslo-5974"
          #description: """
            <div class="col is-12"><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Efficacit&eacute; des m&eacute;canismes.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Tr&egrave;s belle finition.&nbsp;</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">M&eacute;canisme garanti &agrave; vie.</div>\n
            <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Fabriqu&eacute; en France.</div>\n
            <div>\n
            <ul>\n
            <li>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canismes poivre et sel garantis &agrave; vie.</li>\n
            <li>Existe en poivre, sel, sel humide ou combin&eacute;.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul>\n
            </div></div><h1>Descriptif Moulin Peugeot Oslo</h1><div class="col is-12">Le moulin Peugeot Oslo tout en transparence avec une petite pointe d'inox, marie &eacute;l&eacute;gance et efficacit&eacute;. Existe en sel, poivre ou sel humide.</div><h1>Caractéristiques Moulin Peugeot Oslo</h1><div class="col is-12">M&eacute;canismes poivre et sel garantis &agrave; vie. Corps acrylique garanti 5 ans..Molette de r&eacute;glage de la mouture. Bille inox avec symbole grav&eacute; "P" ou "S". Hauteur 14 cm. Combin&eacute; hauteur 13 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8635 …}
      #channels: Doctrine\ORM\PersistentCollection {#8621 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #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]
112.0 MiB 0.71 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30112
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29981 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30057 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29978 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29926 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29934
    #collection: Doctrine\Common\Collections\ArrayCollection {#29943 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29922 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38536 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38538 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30112
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29981 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30057 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29978 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Oslo"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29934
    #collection: Doctrine\Common\Collections\ArrayCollection {#29943 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29922 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38536 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38538 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30117
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30112
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29981 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30057 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29978 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29926 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29934
      #collection: Doctrine\Common\Collections\ArrayCollection {#29943 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29922 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38536 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38538 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30166
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30157 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30164 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30165 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29926 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30169
  +variant: App\Entity\Product\ProductVariant {#29926 …}
  +price: "29,00\u{A0}"
  +originalPrice: "32,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30166
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30157 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30164 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30165 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 5.07 ms
Input props
[
  "product" => App\Entity\Product\Product {#8639
    #id: 3110
    #code: "moulin-oslo-graphite-peugeot-7565"
    #attributes: Doctrine\ORM\PersistentCollection {#8646 …}
    #variants: Doctrine\ORM\PersistentCollection {#8648 …}
    #options: Doctrine\ORM\PersistentCollection {#8652 …}
    #associations: Doctrine\ORM\PersistentCollection {#8650 …}
    #createdAt: DateTime @1758632755 {#8637
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8638
      date: 2025-09-23 21:05:55.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: 3110
        #name: "Moulin Oslo Graphite Peugeot"
        #slug: "moulin-oslo-graphite-peugeot-7565"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois teint&eacute; graphite, acrylique et inox.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
          </ul></div><h1>Descriptif Moulin Oslo Graphite Peugeot</h1><div class="col is-12">L'alliance subtile et harmonieuse du bois, de l'inox et de l'acrylique conf&egrave;re &agrave; ce moulin &agrave; poivre / Sel une silhouette raffin&eacute;e et un look tr&egrave;s contemporain. La teinte graphite l&eacute;g&egrave;rement m&eacute;tallis&eacute;e du corps en bois, le r&eacute;ceptacle &agrave; poivre en acrylique et le bouton de r&eacute;glage marqu&eacute; du lion en feront un invit&eacute; de marque sur votre table. Son m&eacute;canisme reconnu pour son efficacit&eacute; durable et son tranchant incomparable est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Oslo Graphite Peugeot</h1><div class="col is-12">- Bois, inox, acrylique.<br />- Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosoluble.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin garanti 5 ans.<br />- R&eacute;glage classique.<br />- Taille : 12 cm.<br />- Pour moudre poivres noirs, blancs, verts, rouges, baies roses (15% maxi dans un m&eacute;lange de poivre) et graines de coriandre.<br />- Pour moudre les cristaux de sel secs d'une taille &eacute;gale ou inf&eacute;rieure &agrave; 4 mm. <br /><strong><em><strong>&nbsp; Ne pas utiliser pour du sel de mer humide (m&ecirc;me s&eacute;ch&eacute;)</strong></em></strong><br />- Fabriqu&eacute; en France.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8658 …}
    #channels: Doctrine\ORM\PersistentCollection {#8644 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29988
  +product: App\Entity\Product\Product {#8639
    #id: 3110
    #code: "moulin-oslo-graphite-peugeot-7565"
    #attributes: Doctrine\ORM\PersistentCollection {#8646 …}
    #variants: Doctrine\ORM\PersistentCollection {#8648 …}
    #options: Doctrine\ORM\PersistentCollection {#8652 …}
    #associations: Doctrine\ORM\PersistentCollection {#8650 …}
    #createdAt: DateTime @1758632755 {#8637
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8638
      date: 2025-09-23 21:05:55.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: 3110
        #name: "Moulin Oslo Graphite Peugeot"
        #slug: "moulin-oslo-graphite-peugeot-7565"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois teint&eacute; graphite, acrylique et inox.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
          </ul></div><h1>Descriptif Moulin Oslo Graphite Peugeot</h1><div class="col is-12">L'alliance subtile et harmonieuse du bois, de l'inox et de l'acrylique conf&egrave;re &agrave; ce moulin &agrave; poivre / Sel une silhouette raffin&eacute;e et un look tr&egrave;s contemporain. La teinte graphite l&eacute;g&egrave;rement m&eacute;tallis&eacute;e du corps en bois, le r&eacute;ceptacle &agrave; poivre en acrylique et le bouton de r&eacute;glage marqu&eacute; du lion en feront un invit&eacute; de marque sur votre table. Son m&eacute;canisme reconnu pour son efficacit&eacute; durable et son tranchant incomparable est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Oslo Graphite Peugeot</h1><div class="col is-12">- Bois, inox, acrylique.<br />- Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosoluble.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin garanti 5 ans.<br />- R&eacute;glage classique.<br />- Taille : 12 cm.<br />- Pour moudre poivres noirs, blancs, verts, rouges, baies roses (15% maxi dans un m&eacute;lange de poivre) et graines de coriandre.<br />- Pour moudre les cristaux de sel secs d'une taille &eacute;gale ou inf&eacute;rieure &agrave; 4 mm. <br /><strong><em><strong>&nbsp; Ne pas utiliser pour du sel de mer humide (m&ecirc;me s&eacute;ch&eacute;)</strong></em></strong><br />- Fabriqu&eacute; en France.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8658 …}
    #channels: Doctrine\ORM\PersistentCollection {#8644 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8640 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8642 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30232 …}
  +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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.92 ms
Input props
[
  "product" => App\Entity\Product\Product {#8639
    #id: 3110
    #code: "moulin-oslo-graphite-peugeot-7565"
    #attributes: Doctrine\ORM\PersistentCollection {#8646 …}
    #variants: Doctrine\ORM\PersistentCollection {#8648 …}
    #options: Doctrine\ORM\PersistentCollection {#8652 …}
    #associations: Doctrine\ORM\PersistentCollection {#8650 …}
    #createdAt: DateTime @1758632755 {#8637
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8638
      date: 2025-09-23 21:05:55.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: 3110
        #name: "Moulin Oslo Graphite Peugeot"
        #slug: "moulin-oslo-graphite-peugeot-7565"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois teint&eacute; graphite, acrylique et inox.</li>\n
          <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
          </ul></div><h1>Descriptif Moulin Oslo Graphite Peugeot</h1><div class="col is-12">L'alliance subtile et harmonieuse du bois, de l'inox et de l'acrylique conf&egrave;re &agrave; ce moulin &agrave; poivre / Sel une silhouette raffin&eacute;e et un look tr&egrave;s contemporain. La teinte graphite l&eacute;g&egrave;rement m&eacute;tallis&eacute;e du corps en bois, le r&eacute;ceptacle &agrave; poivre en acrylique et le bouton de r&eacute;glage marqu&eacute; du lion en feront un invit&eacute; de marque sur votre table. Son m&eacute;canisme reconnu pour son efficacit&eacute; durable et son tranchant incomparable est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Oslo Graphite Peugeot</h1><div class="col is-12">- Bois, inox, acrylique.<br />- Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosoluble.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin garanti 5 ans.<br />- R&eacute;glage classique.<br />- Taille : 12 cm.<br />- Pour moudre poivres noirs, blancs, verts, rouges, baies roses (15% maxi dans un m&eacute;lange de poivre) et graines de coriandre.<br />- Pour moudre les cristaux de sel secs d'une taille &eacute;gale ou inf&eacute;rieure &agrave; 4 mm. <br /><strong><em><strong>&nbsp; Ne pas utiliser pour du sel de mer humide (m&ecirc;me s&eacute;ch&eacute;)</strong></em></strong><br />- Fabriqu&eacute; en France.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8658 …}
    #channels: Doctrine\ORM\PersistentCollection {#8644 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #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 Oslo Graphite Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30303
  -props: [
    "product" => App\Entity\Product\Product {#8639
      #id: 3110
      #code: "moulin-oslo-graphite-peugeot-7565"
      #attributes: Doctrine\ORM\PersistentCollection {#8646 …}
      #variants: Doctrine\ORM\PersistentCollection {#8648 …}
      #options: Doctrine\ORM\PersistentCollection {#8652 …}
      #associations: Doctrine\ORM\PersistentCollection {#8650 …}
      #createdAt: DateTime @1758632755 {#8637
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632755 {#8638
        date: 2025-09-23 21:05:55.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: 3110
          #name: "Moulin Oslo Graphite Peugeot"
          #slug: "moulin-oslo-graphite-peugeot-7565"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Bois teint&eacute; graphite, acrylique et inox.</li>\n
            <li>M&eacute;canisme garanti sans limitation de dur&eacute;e.</li>\n
            <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
            </ul>\n
            <ul style="margin: 0px 10px; padding: 10px; list-style-position: initial; list-style-image: initial;">\n
            </ul></div><h1>Descriptif Moulin Oslo Graphite Peugeot</h1><div class="col is-12">L'alliance subtile et harmonieuse du bois, de l'inox et de l'acrylique conf&egrave;re &agrave; ce moulin &agrave; poivre / Sel une silhouette raffin&eacute;e et un look tr&egrave;s contemporain. La teinte graphite l&eacute;g&egrave;rement m&eacute;tallis&eacute;e du corps en bois, le r&eacute;ceptacle &agrave; poivre en acrylique et le bouton de r&eacute;glage marqu&eacute; du lion en feront un invit&eacute; de marque sur votre table. Son m&eacute;canisme reconnu pour son efficacit&eacute; durable et son tranchant incomparable est garanti sans limitation de dur&eacute;e.</div><h1>Caractéristiques Moulin Oslo Graphite Peugeot</h1><div class="col is-12">- Bois, inox, acrylique.<br />- Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosoluble.<br />- M&eacute;canisme garanti sans limitation de dur&eacute;e.<br />- Moulin garanti 5 ans.<br />- R&eacute;glage classique.<br />- Taille : 12 cm.<br />- Pour moudre poivres noirs, blancs, verts, rouges, baies roses (15% maxi dans un m&eacute;lange de poivre) et graines de coriandre.<br />- Pour moudre les cristaux de sel secs d'une taille &eacute;gale ou inf&eacute;rieure &agrave; 4 mm. <br /><strong><em><strong>&nbsp; Ne pas utiliser pour du sel de mer humide (m&ecirc;me s&eacute;ch&eacute;)</strong></em></strong><br />- Fabriqu&eacute; en France.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8658 …}
      #channels: Doctrine\ORM\PersistentCollection {#8644 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #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]
112.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30374
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30287 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30363 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30284 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30232 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30240
    #collection: Doctrine\Common\Collections\ArrayCollection {#30249 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30228 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38550 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38552 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30374
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30287 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30363 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30284 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Oslo Graphite Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30240
    #collection: Doctrine\Common\Collections\ArrayCollection {#30249 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30228 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38550 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38552 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30379
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30374
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30287 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30363 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30284 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30232 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30240
      #collection: Doctrine\Common\Collections\ArrayCollection {#30249 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30228 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38550 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38552 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30428
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30419 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30426 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30427 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30232 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30431
  +variant: App\Entity\Product\ProductVariant {#30232 …}
  +price: "29,00\u{A0}"
  +originalPrice: "32,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30428
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30419 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30426 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30427 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 4.73 ms
Input props
[
  "product" => App\Entity\Product\Product {#8662
    #id: 3111
    #code: "moulin-oslo-graphite-combi-poivre-saliere-peugeot-7567"
    #attributes: Doctrine\ORM\PersistentCollection {#8669 …}
    #variants: Doctrine\ORM\PersistentCollection {#8671 …}
    #options: Doctrine\ORM\PersistentCollection {#8675 …}
    #associations: Doctrine\ORM\PersistentCollection {#8673 …}
    #createdAt: DateTime @1758632755 {#8660
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8661
      date: 2025-09-23 21:05:55.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: 3111
        #name: "Moulin Oslo Graphite Combi Poivre & salière Peugeot"
        #slug: "moulin-oslo-graphite-combi-poivre-saliere-peugeot-7567"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.</li>\n
          <li>M&eacute;canisme &agrave; poivre garanti sans limitation de dur&eacute;e.</li>\n
          <li>Teinte et vernis hydrosolubles.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Oslo Graphite Combi Poivre & salière Peugeot</h1><div class="col is-12">Le combi Oslo Graphite Peugeot associe de fa&ccedil;on ing&eacute;nieuse les fonctions de moulin &agrave; poivre et de sali&egrave;re. Son m&eacute;canisme classique &agrave; poivre est dissimul&eacute; dans le corps en bois teint&eacute; graphite vernis (hydrosoluble) et l&eacute;g&egrave;rement m&eacute;tallis&eacute; et le r&eacute;ceptacle sup&eacute;rieur en acrylique re&ccedil;oit le sel. Simple et efficace il tiendra son r&ocirc;le &agrave; merveille sur vos tables.</div><h1>Caractéristiques Moulin Oslo Graphite Combi Poivre & salière Peugeot</h1><div class="col is-12">- Bois et acrylique.<br />- Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosoluble.<br />- M&eacute;canisme poivre garanti sans limitation de dur&eacute;e.<br />- Moulin garanti 5 ans.<br />- R&eacute;glage classique.<br />- Taille : 11 cm.<br />- Pour moudre poivres noirs, blancs, verts, rouges, baies roses (15% maxi dans un m&eacute;lange de poivre) et graines de coriandre.<br />- Fabriqu&eacute; en France.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8681 …}
    #channels: Doctrine\ORM\PersistentCollection {#8667 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30294
  +product: App\Entity\Product\Product {#8662
    #id: 3111
    #code: "moulin-oslo-graphite-combi-poivre-saliere-peugeot-7567"
    #attributes: Doctrine\ORM\PersistentCollection {#8669 …}
    #variants: Doctrine\ORM\PersistentCollection {#8671 …}
    #options: Doctrine\ORM\PersistentCollection {#8675 …}
    #associations: Doctrine\ORM\PersistentCollection {#8673 …}
    #createdAt: DateTime @1758632755 {#8660
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8661
      date: 2025-09-23 21:05:55.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: 3111
        #name: "Moulin Oslo Graphite Combi Poivre & salière Peugeot"
        #slug: "moulin-oslo-graphite-combi-poivre-saliere-peugeot-7567"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.</li>\n
          <li>M&eacute;canisme &agrave; poivre garanti sans limitation de dur&eacute;e.</li>\n
          <li>Teinte et vernis hydrosolubles.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Oslo Graphite Combi Poivre & salière Peugeot</h1><div class="col is-12">Le combi Oslo Graphite Peugeot associe de fa&ccedil;on ing&eacute;nieuse les fonctions de moulin &agrave; poivre et de sali&egrave;re. Son m&eacute;canisme classique &agrave; poivre est dissimul&eacute; dans le corps en bois teint&eacute; graphite vernis (hydrosoluble) et l&eacute;g&egrave;rement m&eacute;tallis&eacute; et le r&eacute;ceptacle sup&eacute;rieur en acrylique re&ccedil;oit le sel. Simple et efficace il tiendra son r&ocirc;le &agrave; merveille sur vos tables.</div><h1>Caractéristiques Moulin Oslo Graphite Combi Poivre & salière Peugeot</h1><div class="col is-12">- Bois et acrylique.<br />- Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosoluble.<br />- M&eacute;canisme poivre garanti sans limitation de dur&eacute;e.<br />- Moulin garanti 5 ans.<br />- R&eacute;glage classique.<br />- Taille : 11 cm.<br />- Pour moudre poivres noirs, blancs, verts, rouges, baies roses (15% maxi dans un m&eacute;lange de poivre) et graines de coriandre.<br />- Fabriqu&eacute; en France.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8681 …}
    #channels: Doctrine\ORM\PersistentCollection {#8667 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8663 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8665 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30494 …}
  +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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.89 ms
Input props
[
  "product" => App\Entity\Product\Product {#8662
    #id: 3111
    #code: "moulin-oslo-graphite-combi-poivre-saliere-peugeot-7567"
    #attributes: Doctrine\ORM\PersistentCollection {#8669 …}
    #variants: Doctrine\ORM\PersistentCollection {#8671 …}
    #options: Doctrine\ORM\PersistentCollection {#8675 …}
    #associations: Doctrine\ORM\PersistentCollection {#8673 …}
    #createdAt: DateTime @1758632755 {#8660
      date: 2025-09-23 21:05:55.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632755 {#8661
      date: 2025-09-23 21:05:55.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: 3111
        #name: "Moulin Oslo Graphite Combi Poivre & salière Peugeot"
        #slug: "moulin-oslo-graphite-combi-poivre-saliere-peugeot-7567"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.</li>\n
          <li>M&eacute;canisme &agrave; poivre garanti sans limitation de dur&eacute;e.</li>\n
          <li>Teinte et vernis hydrosolubles.</li>\n
          <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Descriptif Moulin Oslo Graphite Combi Poivre & salière Peugeot</h1><div class="col is-12">Le combi Oslo Graphite Peugeot associe de fa&ccedil;on ing&eacute;nieuse les fonctions de moulin &agrave; poivre et de sali&egrave;re. Son m&eacute;canisme classique &agrave; poivre est dissimul&eacute; dans le corps en bois teint&eacute; graphite vernis (hydrosoluble) et l&eacute;g&egrave;rement m&eacute;tallis&eacute; et le r&eacute;ceptacle sup&eacute;rieur en acrylique re&ccedil;oit le sel. Simple et efficace il tiendra son r&ocirc;le &agrave; merveille sur vos tables.</div><h1>Caractéristiques Moulin Oslo Graphite Combi Poivre & salière Peugeot</h1><div class="col is-12">- Bois et acrylique.<br />- Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosoluble.<br />- M&eacute;canisme poivre garanti sans limitation de dur&eacute;e.<br />- Moulin garanti 5 ans.<br />- R&eacute;glage classique.<br />- Taille : 11 cm.<br />- Pour moudre poivres noirs, blancs, verts, rouges, baies roses (15% maxi dans un m&eacute;lange de poivre) et graines de coriandre.<br />- Fabriqu&eacute; en France.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8681 …}
    #channels: Doctrine\ORM\PersistentCollection {#8667 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #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 Oslo Graphite Combi Poivre & salière Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30565
  -props: [
    "product" => App\Entity\Product\Product {#8662
      #id: 3111
      #code: "moulin-oslo-graphite-combi-poivre-saliere-peugeot-7567"
      #attributes: Doctrine\ORM\PersistentCollection {#8669 …}
      #variants: Doctrine\ORM\PersistentCollection {#8671 …}
      #options: Doctrine\ORM\PersistentCollection {#8675 …}
      #associations: Doctrine\ORM\PersistentCollection {#8673 …}
      #createdAt: DateTime @1758632755 {#8660
        date: 2025-09-23 21:05:55.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632755 {#8661
        date: 2025-09-23 21:05:55.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: 3111
          #name: "Moulin Oslo Graphite Combi Poivre & salière Peugeot"
          #slug: "moulin-oslo-graphite-combi-poivre-saliere-peugeot-7567"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.</li>\n
            <li>M&eacute;canisme &agrave; poivre garanti sans limitation de dur&eacute;e.</li>\n
            <li>Teinte et vernis hydrosolubles.</li>\n
            <li><strong>Fabrication fran&ccedil;aise.</strong></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Descriptif Moulin Oslo Graphite Combi Poivre & salière Peugeot</h1><div class="col is-12">Le combi Oslo Graphite Peugeot associe de fa&ccedil;on ing&eacute;nieuse les fonctions de moulin &agrave; poivre et de sali&egrave;re. Son m&eacute;canisme classique &agrave; poivre est dissimul&eacute; dans le corps en bois teint&eacute; graphite vernis (hydrosoluble) et l&eacute;g&egrave;rement m&eacute;tallis&eacute; et le r&eacute;ceptacle sup&eacute;rieur en acrylique re&ccedil;oit le sel. Simple et efficace il tiendra son r&ocirc;le &agrave; merveille sur vos tables.</div><h1>Caractéristiques Moulin Oslo Graphite Combi Poivre & salière Peugeot</h1><div class="col is-12">- Bois et acrylique.<br />- Bois PEFC, issu de for&ecirc;ts fran&ccedil;aises.<br />- Teinte et vernis hydrosoluble.<br />- M&eacute;canisme poivre garanti sans limitation de dur&eacute;e.<br />- Moulin garanti 5 ans.<br />- R&eacute;glage classique.<br />- Taille : 11 cm.<br />- Pour moudre poivres noirs, blancs, verts, rouges, baies roses (15% maxi dans un m&eacute;lange de poivre) et graines de coriandre.<br />- Fabriqu&eacute; en France.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8681 …}
      #channels: Doctrine\ORM\PersistentCollection {#8667 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #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]
112.0 MiB 0.74 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30558
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30549 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30622 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30546 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30494 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30502
    #collection: Doctrine\Common\Collections\ArrayCollection {#30511 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30490 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38564 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38566 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30558
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30549 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30622 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30546 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Oslo Graphite Combi Poivre & salière Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30502
    #collection: Doctrine\Common\Collections\ArrayCollection {#30511 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30490 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38564 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38566 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30626
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30558
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30549 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30622 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30546 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30494 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30502
      #collection: Doctrine\Common\Collections\ArrayCollection {#30511 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30490 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38564 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38566 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30676
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30667 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30674 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30675 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30494 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30679
  +variant: App\Entity\Product\ProductVariant {#30494 …}
  +price: "34,00\u{A0}"
  +originalPrice: "37,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30676
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30667 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30674 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30675 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 4.96 ms
Input props
[
  "product" => App\Entity\Product\Product {#8685
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8692 …}
    #variants: Doctrine\ORM\PersistentCollection {#8694 …}
    #options: Doctrine\ORM\PersistentCollection {#8698 …}
    #associations: Doctrine\ORM\PersistentCollection {#8696 …}
    #createdAt: DateTime @1758632754 {#8683
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8684
      date: 2025-09-23 21:05:54.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: 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 {#8704 …}
    #channels: Doctrine\ORM\PersistentCollection {#8690 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30556
  +product: App\Entity\Product\Product {#8685
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8692 …}
    #variants: Doctrine\ORM\PersistentCollection {#8694 …}
    #options: Doctrine\ORM\PersistentCollection {#8698 …}
    #associations: Doctrine\ORM\PersistentCollection {#8696 …}
    #createdAt: DateTime @1758632754 {#8683
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8684
      date: 2025-09-23 21:05:54.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: 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 {#8704 …}
    #channels: Doctrine\ORM\PersistentCollection {#8690 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8686 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8688 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30742 …}
  +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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 0.90 ms
Input props
[
  "product" => App\Entity\Product\Product {#8685
    #id: 3098
    #code: "moulin-a-poivre-peugeot-roellinger-2111"
    #attributes: Doctrine\ORM\PersistentCollection {#8692 …}
    #variants: Doctrine\ORM\PersistentCollection {#8694 …}
    #options: Doctrine\ORM\PersistentCollection {#8698 …}
    #associations: Doctrine\ORM\PersistentCollection {#8696 …}
    #createdAt: DateTime @1758632754 {#8683
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8684
      date: 2025-09-23 21:05:54.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: 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 {#8704 …}
    #channels: Doctrine\ORM\PersistentCollection {#8690 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #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 à poivre Peugeot Roellinger"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30813
  -props: [
    "product" => App\Entity\Product\Product {#8685
      #id: 3098
      #code: "moulin-a-poivre-peugeot-roellinger-2111"
      #attributes: Doctrine\ORM\PersistentCollection {#8692 …}
      #variants: Doctrine\ORM\PersistentCollection {#8694 …}
      #options: Doctrine\ORM\PersistentCollection {#8698 …}
      #associations: Doctrine\ORM\PersistentCollection {#8696 …}
      #createdAt: DateTime @1758632754 {#8683
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#8684
        date: 2025-09-23 21:05:54.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: 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 {#8704 …}
      #channels: Doctrine\ORM\PersistentCollection {#8690 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #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]
112.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30884
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30797 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30873 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30794 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30742 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30750
    #collection: Doctrine\Common\Collections\ArrayCollection {#30759 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30738 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38578 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38580 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30884
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30797 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30873 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30794 …}
    +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 {#30750
    #collection: Doctrine\Common\Collections\ArrayCollection {#30759 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30738 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38578 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38580 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30889
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30884
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30797 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30873 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30794 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30742 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30750
      #collection: Doctrine\Common\Collections\ArrayCollection {#30759 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30738 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38578 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38580 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30938
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30929 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30936 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30937 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30742 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30941
  +variant: App\Entity\Product\ProductVariant {#30742 …}
  +price: "67,00\u{A0}"
  +originalPrice: "74,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30938
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30929 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30936 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30937 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 112.0 MiB 5.69 ms
Input props
[
  "product" => App\Entity\Product\Product {#8711
    #id: 3099
    #code: "moulin-peugeot-madras-chocolat-4377"
    #attributes: Doctrine\ORM\PersistentCollection {#8718 …}
    #variants: Doctrine\ORM\PersistentCollection {#8720 …}
    #options: Doctrine\ORM\PersistentCollection {#8724 …}
    #associations: Doctrine\ORM\PersistentCollection {#8722 …}
    #createdAt: DateTime @1758632754 {#8709
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8710
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8727 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8728
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8711}
        #id: 3099
        #name: "Moulin Peugeot Madras Chocolat"
        #slug: "moulin-peugeot-madras-chocolat-4377"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li>Pas d'axe central, remplissage plus facile.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Madras Chocolat</h1><div class="col is-12">Le moulin Peugeot Madras b&eacute;n&eacute;ficie d'une innovation majeure et pourtant invisible puisqu'il n'a plus d'axe central. Cela permet un remplissage des &eacute;pices bien plus facile. Il se ferme par un bouchon aimant&eacute;, plus besoin de vis ! Il b&eacute;n&eacute;ficie en outre du m&eacute;canisme U'select avec choix de la grosseur de mouture pr&eacute;r&eacute;gl&eacute;.</div><h1>Caractéristiques Moulin Peugeot Madras Chocolat</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Syst&egrave;me U'Select. Corps bois. Fermeture par bouchon aimant&eacute;. Pas d'axe central. Corps garantis 5 ans.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8730 …}
    #channels: Doctrine\ORM\PersistentCollection {#8716 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8712 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8714 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30804
  +product: App\Entity\Product\Product {#8711
    #id: 3099
    #code: "moulin-peugeot-madras-chocolat-4377"
    #attributes: Doctrine\ORM\PersistentCollection {#8718 …}
    #variants: Doctrine\ORM\PersistentCollection {#8720 …}
    #options: Doctrine\ORM\PersistentCollection {#8724 …}
    #associations: Doctrine\ORM\PersistentCollection {#8722 …}
    #createdAt: DateTime @1758632754 {#8709
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8710
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8727 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8728
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8711}
        #id: 3099
        #name: "Moulin Peugeot Madras Chocolat"
        #slug: "moulin-peugeot-madras-chocolat-4377"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li>Pas d'axe central, remplissage plus facile.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Madras Chocolat</h1><div class="col is-12">Le moulin Peugeot Madras b&eacute;n&eacute;ficie d'une innovation majeure et pourtant invisible puisqu'il n'a plus d'axe central. Cela permet un remplissage des &eacute;pices bien plus facile. Il se ferme par un bouchon aimant&eacute;, plus besoin de vis ! Il b&eacute;n&eacute;ficie en outre du m&eacute;canisme U'select avec choix de la grosseur de mouture pr&eacute;r&eacute;gl&eacute;.</div><h1>Caractéristiques Moulin Peugeot Madras Chocolat</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Syst&egrave;me U'Select. Corps bois. Fermeture par bouchon aimant&eacute;. Pas d'axe central. Corps garantis 5 ans.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8730 …}
    #channels: Doctrine\ORM\PersistentCollection {#8716 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8712 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8714 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#31004 …}
  +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 {#27724
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27757 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27763 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27750 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
112.0 MiB 1.01 ms
Input props
[
  "product" => App\Entity\Product\Product {#8711
    #id: 3099
    #code: "moulin-peugeot-madras-chocolat-4377"
    #attributes: Doctrine\ORM\PersistentCollection {#8718 …}
    #variants: Doctrine\ORM\PersistentCollection {#8720 …}
    #options: Doctrine\ORM\PersistentCollection {#8724 …}
    #associations: Doctrine\ORM\PersistentCollection {#8722 …}
    #createdAt: DateTime @1758632754 {#8709
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632754 {#8710
      date: 2025-09-23 21:05:54.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8727 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8728
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8711}
        #id: 3099
        #name: "Moulin Peugeot Madras Chocolat"
        #slug: "moulin-peugeot-madras-chocolat-4377"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Syst&egrave;me U'Select.</li>\n
          <li>Pas d'axe central, remplissage plus facile.</li>\n
          <li>M&eacute;canismes garantis &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Madras Chocolat</h1><div class="col is-12">Le moulin Peugeot Madras b&eacute;n&eacute;ficie d'une innovation majeure et pourtant invisible puisqu'il n'a plus d'axe central. Cela permet un remplissage des &eacute;pices bien plus facile. Il se ferme par un bouchon aimant&eacute;, plus besoin de vis ! Il b&eacute;n&eacute;ficie en outre du m&eacute;canisme U'select avec choix de la grosseur de mouture pr&eacute;r&eacute;gl&eacute;.</div><h1>Caractéristiques Moulin Peugeot Madras Chocolat</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Syst&egrave;me U'Select. Corps bois. Fermeture par bouchon aimant&eacute;. Pas d'axe central. Corps garantis 5 ans.&nbsp;</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8730 …}
    #channels: Doctrine\ORM\PersistentCollection {#8716 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8712 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8714 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Madras Chocolat"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31078
  -props: [
    "product" => App\Entity\Product\Product {#8711
      #id: 3099
      #code: "moulin-peugeot-madras-chocolat-4377"
      #attributes: Doctrine\ORM\PersistentCollection {#8718 …}
      #variants: Doctrine\ORM\PersistentCollection {#8720 …}
      #options: Doctrine\ORM\PersistentCollection {#8724 …}
      #associations: Doctrine\ORM\PersistentCollection {#8722 …}
      #createdAt: DateTime @1758632754 {#8709
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632754 {#8710
        date: 2025-09-23 21:05:54.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8727 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8728
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8711}
          #id: 3099
          #name: "Moulin Peugeot Madras Chocolat"
          #slug: "moulin-peugeot-madras-chocolat-4377"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Syst&egrave;me U'Select.</li>\n
            <li>Pas d'axe central, remplissage plus facile.</li>\n
            <li>M&eacute;canismes garantis &agrave; vie.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Description Moulin Peugeot Madras Chocolat</h1><div class="col is-12">Le moulin Peugeot Madras b&eacute;n&eacute;ficie d'une innovation majeure et pourtant invisible puisqu'il n'a plus d'axe central. Cela permet un remplissage des &eacute;pices bien plus facile. Il se ferme par un bouchon aimant&eacute;, plus besoin de vis ! Il b&eacute;n&eacute;ficie en outre du m&eacute;canisme U'select avec choix de la grosseur de mouture pr&eacute;r&eacute;gl&eacute;.</div><h1>Caractéristiques Moulin Peugeot Madras Chocolat</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Syst&egrave;me U'Select. Corps bois. Fermeture par bouchon aimant&eacute;. Pas d'axe central. Corps garantis 5 ans.&nbsp;</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8730 …}
      #channels: Doctrine\ORM\PersistentCollection {#8716 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8712 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8714 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
112.0 MiB 0.72 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31179
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31062 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31135 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31059 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31004 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31012
    #collection: Doctrine\Common\Collections\ArrayCollection {#31024 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31000 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38592 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38594 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31179
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31062 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31135 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31059 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Madras Chocolat"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#31012
    #collection: Doctrine\Common\Collections\ArrayCollection {#31024 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#31000 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38592 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38594 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31183
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31179
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31062 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31135 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31059 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#31004 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#31012
      #collection: Doctrine\Common\Collections\ArrayCollection {#31024 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#31000 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38592 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38594 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 112.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31233
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31224 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31231 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31232 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#31004 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31236
  +variant: App\Entity\Product\ProductVariant {#31004 …}
  +price: "58,00\u{A0}"
  +originalPrice: "64,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#9069 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12499 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#9066 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31233
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31224 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31231 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31232 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:cart:widget:offcanvas Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 112.0 MiB 1.99 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27423
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12564 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27445 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12574 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31553
  +cart: App\Entity\Order\Order {#13478 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27423
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12564 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27445 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12574 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}