Components

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

Components

Name Metadata Render Count Render Time
sylius_shop:product:card
"Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
@SyliusUi/components/default.html.twig
9 47.48ms
sylius_shop:main_image
[Anonymous]
@SyliusShop/shared/components/main_image.html.twig
9 7.98ms
sylius_shop:catalog_promotions
[Anonymous]
@SyliusShop/shared/components/catalog_promotions.html.twig
9 6.86ms
sylius_shop:product:card:price
"Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent"
@SyliusUi/components/default.html.twig
9 1.60ms
sylius_shop:common:currency_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent"
@SyliusUi/components/default.html.twig
1 1.12ms
sylius_shop:common:locale_switcher
"Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
@SyliusUi/components/default.html.twig
1 0.71ms
sylius_shop:cart:widget
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 4.58ms
sylius_shop:common:taxon_menu
"Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent"
@SyliusUi/components/default.html.twig
1 14.21ms
sylius_shop:product:show:breadcrumbs
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 0.93ms
sylius_shop:product:show:taxonomy
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.00ms
sylius_shop:product:show:header
"Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent"
@SyliusUi/components/default.html.twig
1 1.88ms
sylius_shop:cart:widget:offcanvas
"Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent"
@SyliusUi/components/default.html.twig
1 2.01ms

Render calls

sylius_shop:common:currency_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\CurrencySwitcherComponent 114.0 MiB 1.12 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12159
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12152 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12158 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12157 …}
    +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 {#12779
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12050 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12159
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12152 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12158 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12157 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:common:locale_switcher Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent 114.0 MiB 0.71 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12856
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12852 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12854 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12855 …}
    +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 {#12865
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #localeProvider: Sylius\Component\Core\Provider\ChannelBasedLocaleProvider {#4528 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12856
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12852 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12854 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12855 …}
    +prefixes: [
      "sylius_shop.base.header.top_bar"
    ]
  }
}
sylius_shop:cart:widget Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 114.0 MiB 4.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12947
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12926 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12946 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12945 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  "template" => "@SyliusShop/shared/components/header/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#12962
  +cart: App\Entity\Order\Order {#13029 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#12947
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12926 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#12946 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12945 …}
    +prefixes: [
      "sylius_shop.base.header.content"
    ]
  }
  +template: "@SyliusShop/shared/components/header/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}
sylius_shop:common:taxon_menu Sylius\Bundle\ShopBundle\Twig\Component\Common\TaxonMenuComponent 114.0 MiB 14.21 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#13215
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13203 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13209 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13201 …}
    +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 {#13224
  #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 {#13215
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#13203 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#13209 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#13201 …}
    +prefixes: [
      "sylius_shop.base.header.navbar"
    ]
  }
}
sylius_shop:product:show:breadcrumbs Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 114.0 MiB 0.93 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27457
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27453 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27454 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27456 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
  "template" => "@SyliusShop/product/index/content/breadcrumbs.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/index/content/breadcrumbs.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent {#27466
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27457
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27453 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27454 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27456 …}
    +prefixes: [
      "sylius_shop.product.index.content"
    ]
  }
}
sylius_shop:product:show:taxonomy Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 114.0 MiB 1.00 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27570
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27566 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27567 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27569 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
  "template" => "@SyliusShop/product/index/content/body/sidebar/taxonomy.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/index/content/body/sidebar/taxonomy.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent {#27578
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27570
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27566 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27567 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27569 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.sidebar"
    ]
  }
}
sylius_shop:product:show:header Sylius\Bundle\ShopBundle\Twig\Component\Product\BreadcrumbComponent 114.0 MiB 1.88 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27655
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27651 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27652 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27654 …}
    +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 {#27663
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#243 …}
  #taxonRepository: App\Repository\TaxonRepository {#7413 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27655
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27651 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27652 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27654 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 10.09 ms
Input props
[
  "product" => App\Entity\Product\Product {#7969
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#8175 …}
    #variants: Doctrine\ORM\PersistentCollection {#8398 …}
    #options: Doctrine\ORM\PersistentCollection {#8526 …}
    #associations: Doctrine\ORM\PersistentCollection {#8466 …}
    #createdAt: DateTime @1758632747 {#7659
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#7725
      date: 2025-09-23 21:05:47.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: 3049
        #name: "Moulin Peugeot Tahiti"
        #slug: "moulin-peugeot-tahiti-4354"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28188
  +product: App\Entity\Product\Product {#7969
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#8175 …}
    #variants: Doctrine\ORM\PersistentCollection {#8398 …}
    #options: Doctrine\ORM\PersistentCollection {#8526 …}
    #associations: Doctrine\ORM\PersistentCollection {#8466 …}
    #createdAt: DateTime @1758632747 {#7659
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#7725
      date: 2025-09-23 21:05:47.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: 3049
        #name: "Moulin Peugeot Tahiti"
        #slug: "moulin-peugeot-tahiti-4354"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</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 {#28450 …}
  +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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 1.84 ms
Input props
[
  "product" => App\Entity\Product\Product {#7969
    #id: 3049
    #code: "moulin-peugeot-tahiti-4354"
    #attributes: Doctrine\ORM\PersistentCollection {#8175 …}
    #variants: Doctrine\ORM\PersistentCollection {#8398 …}
    #options: Doctrine\ORM\PersistentCollection {#8526 …}
    #associations: Doctrine\ORM\PersistentCollection {#8466 …}
    #createdAt: DateTime @1758632747 {#7659
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#7725
      date: 2025-09-23 21:05:47.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: 3049
        #name: "Moulin Peugeot Tahiti"
        #slug: "moulin-peugeot-tahiti-4354"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Tr&egrave;s bonne prise en main.</li>\n
          <li>Tr&egrave;s belle finition.&nbsp;</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</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" => "Moulin Peugeot Tahiti"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28861
  -props: [
    "product" => App\Entity\Product\Product {#7969
      #id: 3049
      #code: "moulin-peugeot-tahiti-4354"
      #attributes: Doctrine\ORM\PersistentCollection {#8175 …}
      #variants: Doctrine\ORM\PersistentCollection {#8398 …}
      #options: Doctrine\ORM\PersistentCollection {#8526 …}
      #associations: Doctrine\ORM\PersistentCollection {#8466 …}
      #createdAt: DateTime @1758632747 {#7659
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#7725
        date: 2025-09-23 21:05:47.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: 3049
          #name: "Moulin Peugeot Tahiti"
          #slug: "moulin-peugeot-tahiti-4354"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Tr&egrave;s bonne prise en main.</li>\n
            <li>Tr&egrave;s belle finition.&nbsp;</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti</h1><div class="col is-12">Douceur des lignes pour ce moulin Tahiti que l'on peut associer en noir et blanc pour instantan&eacute;ment diff&eacute;rencier le sel du poivre. Le m&eacute;canisme l&eacute;gendaire Peugeot est bien s&ucirc;r de la partie en poivre ou en sel.</div><h1>Caractéristiques Moulin Peugeot Tahiti</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme.</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]
114.0 MiB 1.39 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28996
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28937 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28932 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28992 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28450 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28796
    #collection: Doctrine\Common\Collections\ArrayCollection {#28795 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28633 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38294 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38346 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28996
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28937 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#28932 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28992 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#28796
    #collection: Doctrine\Common\Collections\ArrayCollection {#28795 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#28633 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38294 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38346 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#28995
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#28996
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#28937 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#28932 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#28992 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#28450 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#28796
      #collection: Doctrine\Common\Collections\ArrayCollection {#28795 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#28633 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38294 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38346 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.38 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29065
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29055 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29063 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29064 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#28450 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29074
  +variant: App\Entity\Product\ProductVariant {#28450 …}
  +price: "53,00\u{A0}"
  +originalPrice: "59,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12050 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8144 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29065
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29055 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29063 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29064 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.64 ms
Input props
[
  "product" => App\Entity\Product\Product {#8540
    #id: 3050
    #code: "moulin-peugeot-tahiti-printemps-4355"
    #attributes: Doctrine\ORM\PersistentCollection {#8547 …}
    #variants: Doctrine\ORM\PersistentCollection {#8549 …}
    #options: Doctrine\ORM\PersistentCollection {#8553 …}
    #associations: Doctrine\ORM\PersistentCollection {#8551 …}
    #createdAt: DateTime @1758632747 {#8538
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8539
      date: 2025-09-23 21:05:47.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: 3050
        #name: "Moulin Peugeot Tahiti Printemps"
        #slug: "moulin-peugeot-tahiti-printemps-4355"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#28839
  +product: App\Entity\Product\Product {#8540
    #id: 3050
    #code: "moulin-peugeot-tahiti-printemps-4355"
    #attributes: Doctrine\ORM\PersistentCollection {#8547 …}
    #variants: Doctrine\ORM\PersistentCollection {#8549 …}
    #options: Doctrine\ORM\PersistentCollection {#8553 …}
    #associations: Doctrine\ORM\PersistentCollection {#8551 …}
    #createdAt: DateTime @1758632747 {#8538
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8539
      date: 2025-09-23 21:05:47.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: 3050
        #name: "Moulin Peugeot Tahiti Printemps"
        #slug: "moulin-peugeot-tahiti-printemps-4355"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#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 {#29147 …}
  +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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.85 ms
Input props
[
  "product" => App\Entity\Product\Product {#8540
    #id: 3050
    #code: "moulin-peugeot-tahiti-printemps-4355"
    #attributes: Doctrine\ORM\PersistentCollection {#8547 …}
    #variants: Doctrine\ORM\PersistentCollection {#8549 …}
    #options: Doctrine\ORM\PersistentCollection {#8553 …}
    #associations: Doctrine\ORM\PersistentCollection {#8551 …}
    #createdAt: DateTime @1758632747 {#8538
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8539
      date: 2025-09-23 21:05:47.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: 3050
        #name: "Moulin Peugeot Tahiti Printemps"
        #slug: "moulin-peugeot-tahiti-printemps-4355"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#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" => "Moulin Peugeot Tahiti Printemps"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29221
  -props: [
    "product" => App\Entity\Product\Product {#8540
      #id: 3050
      #code: "moulin-peugeot-tahiti-printemps-4355"
      #attributes: Doctrine\ORM\PersistentCollection {#8547 …}
      #variants: Doctrine\ORM\PersistentCollection {#8549 …}
      #options: Doctrine\ORM\PersistentCollection {#8553 …}
      #associations: Doctrine\ORM\PersistentCollection {#8551 …}
      #createdAt: DateTime @1758632747 {#8538
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8539
        date: 2025-09-23 21:05:47.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: 3050
          #name: "Moulin Peugeot Tahiti Printemps"
          #slug: "moulin-peugeot-tahiti-printemps-4355"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Uniquement en duo.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Printemps qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Printemps</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#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]
114.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29214
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29205 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29275 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29202 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29147 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29155
    #collection: Doctrine\Common\Collections\ArrayCollection {#29167 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29143 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38366 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38368 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29214
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29205 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29275 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29202 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti Printemps"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29155
    #collection: Doctrine\Common\Collections\ArrayCollection {#29167 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29143 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38366 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38368 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29279
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29214
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29205 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29275 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29202 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29147 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29155
      #collection: Doctrine\Common\Collections\ArrayCollection {#29167 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29143 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38366 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38368 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29329
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29320 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29327 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29328 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29147 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29332
  +variant: App\Entity\Product\ProductVariant {#29147 …}
  +price: "53,00\u{A0}"
  +originalPrice: "59,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12050 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8144 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29329
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29320 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29327 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29328 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.90 ms
Input props
[
  "product" => App\Entity\Product\Product {#8563
    #id: 3051
    #code: "moulin-peugeot-auberge-4360"
    #attributes: Doctrine\ORM\PersistentCollection {#8570 …}
    #variants: Doctrine\ORM\PersistentCollection {#8572 …}
    #options: Doctrine\ORM\PersistentCollection {#8576 …}
    #associations: Doctrine\ORM\PersistentCollection {#8574 …}
    #createdAt: DateTime @1758632747 {#8561
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8562
      date: 2025-09-23 21:05:47.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: 3051
        #name: "Moulin Peugeot Auberge"
        #slug: "moulin-peugeot-auberge-4360"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29212
  +product: App\Entity\Product\Product {#8563
    #id: 3051
    #code: "moulin-peugeot-auberge-4360"
    #attributes: Doctrine\ORM\PersistentCollection {#8570 …}
    #variants: Doctrine\ORM\PersistentCollection {#8572 …}
    #options: Doctrine\ORM\PersistentCollection {#8576 …}
    #associations: Doctrine\ORM\PersistentCollection {#8574 …}
    #createdAt: DateTime @1758632747 {#8561
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8562
      date: 2025-09-23 21:05:47.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: 3051
        #name: "Moulin Peugeot Auberge"
        #slug: "moulin-peugeot-auberge-4360"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#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 {#29395 …}
  +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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 1.00 ms
Input props
[
  "product" => App\Entity\Product\Product {#8563
    #id: 3051
    #code: "moulin-peugeot-auberge-4360"
    #attributes: Doctrine\ORM\PersistentCollection {#8570 …}
    #variants: Doctrine\ORM\PersistentCollection {#8572 …}
    #options: Doctrine\ORM\PersistentCollection {#8576 …}
    #associations: Doctrine\ORM\PersistentCollection {#8574 …}
    #createdAt: DateTime @1758632747 {#8561
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8562
      date: 2025-09-23 21:05:47.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: 3051
        #name: "Moulin Peugeot Auberge"
        #slug: "moulin-peugeot-auberge-4360"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#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 Auberge"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29466
  -props: [
    "product" => App\Entity\Product\Product {#8563
      #id: 3051
      #code: "moulin-peugeot-auberge-4360"
      #attributes: Doctrine\ORM\PersistentCollection {#8570 …}
      #variants: Doctrine\ORM\PersistentCollection {#8572 …}
      #options: Doctrine\ORM\PersistentCollection {#8576 …}
      #associations: Doctrine\ORM\PersistentCollection {#8574 …}
      #createdAt: DateTime @1758632747 {#8561
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8562
        date: 2025-09-23 21:05:47.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: 3051
          #name: "Moulin Peugeot Auberge"
          #slug: "moulin-peugeot-auberge-4360"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
            <li><strong>M&eacute;canisme Uselect garanti &agrave; vie.</strong></li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul></div><h1>Description Moulin Peugeot Auberge</h1><div class="col is-12">Le moulin Peugeot Auberge, c'est le grand classique des moulins Peugeot. Il est pr&eacute;sent dans toutes les cuisines des grands chefs qui l'appr&eacute;cie pour sa fiabilit&eacute; et son efficacit&eacute;.</div><h1>Caractéristiques Moulin Peugeot Auberge</h1><div class="col is-12">M&eacute;canisme Uselect poivre garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 27 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#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]
114.0 MiB 0.69 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29534
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29450 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29523 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29447 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29395 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29403
    #collection: Doctrine\Common\Collections\ArrayCollection {#29412 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29391 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38380 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38382 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29534
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29450 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29523 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29447 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Auberge"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29403
    #collection: Doctrine\Common\Collections\ArrayCollection {#29412 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29391 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38380 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38382 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29539
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29534
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29450 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29523 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29447 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29395 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29403
      #collection: Doctrine\Common\Collections\ArrayCollection {#29412 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29391 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38380 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38382 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29588
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29579 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29586 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29587 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29395 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29591
  +variant: App\Entity\Product\ProductVariant {#29395 …}
  +price: "44,00\u{A0}"
  +originalPrice: "49,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12050 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8144 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29588
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29579 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29586 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29587 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 5.26 ms
Input props
[
  "product" => App\Entity\Product\Product {#8586
    #id: 3052
    #code: "moulin-peugeot-hostellerie-4361"
    #attributes: Doctrine\ORM\PersistentCollection {#8593 …}
    #variants: Doctrine\ORM\PersistentCollection {#8595 …}
    #options: Doctrine\ORM\PersistentCollection {#8599 …}
    #associations: Doctrine\ORM\PersistentCollection {#8597 …}
    #createdAt: DateTime @1758632747 {#8584
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8585
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8602 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8603
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8586}
        #id: 3052
        #name: "Moulin Peugeot Hostellerie"
        #slug: "moulin-peugeot-hostellerie-4361"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Hostellerie</h1><div class="col is-12">Son excellente ergonomie et l'efficacit&eacute; de ses m&eacute;canismes ont rapidement permis au moulin Peugeot Hostellerie de s'imposer dans toutes les cuisines des grands chefs. De plus il vous est propos&eacute; &agrave; un prix particuli&egrave;rement attractit compte tenu de sa taille.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Hostellerie</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 22 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 {#8605 …}
    #channels: Doctrine\ORM\PersistentCollection {#8591 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8587 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8589 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29457
  +product: App\Entity\Product\Product {#8586
    #id: 3052
    #code: "moulin-peugeot-hostellerie-4361"
    #attributes: Doctrine\ORM\PersistentCollection {#8593 …}
    #variants: Doctrine\ORM\PersistentCollection {#8595 …}
    #options: Doctrine\ORM\PersistentCollection {#8599 …}
    #associations: Doctrine\ORM\PersistentCollection {#8597 …}
    #createdAt: DateTime @1758632747 {#8584
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8585
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8602 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8603
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8586}
        #id: 3052
        #name: "Moulin Peugeot Hostellerie"
        #slug: "moulin-peugeot-hostellerie-4361"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Hostellerie</h1><div class="col is-12">Son excellente ergonomie et l'efficacit&eacute; de ses m&eacute;canismes ont rapidement permis au moulin Peugeot Hostellerie de s'imposer dans toutes les cuisines des grands chefs. De plus il vous est propos&eacute; &agrave; un prix particuli&egrave;rement attractit compte tenu de sa taille.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Hostellerie</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 22 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 {#8605 …}
    #channels: Doctrine\ORM\PersistentCollection {#8591 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8587 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8589 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29654 …}
  +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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.97 ms
Input props
[
  "product" => App\Entity\Product\Product {#8586
    #id: 3052
    #code: "moulin-peugeot-hostellerie-4361"
    #attributes: Doctrine\ORM\PersistentCollection {#8593 …}
    #variants: Doctrine\ORM\PersistentCollection {#8595 …}
    #options: Doctrine\ORM\PersistentCollection {#8599 …}
    #associations: Doctrine\ORM\PersistentCollection {#8597 …}
    #createdAt: DateTime @1758632747 {#8584
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8585
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8602 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8603
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8586}
        #id: 3052
        #name: "Moulin Peugeot Hostellerie"
        #slug: "moulin-peugeot-hostellerie-4361"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li><strong>Fabriqu&eacute; en France.</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Hostellerie</h1><div class="col is-12">Son excellente ergonomie et l'efficacit&eacute; de ses m&eacute;canismes ont rapidement permis au moulin Peugeot Hostellerie de s'imposer dans toutes les cuisines des grands chefs. De plus il vous est propos&eacute; &agrave; un prix particuli&egrave;rement attractit compte tenu de sa taille.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Hostellerie</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 22 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 {#8605 …}
    #channels: Doctrine\ORM\PersistentCollection {#8591 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8587 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8589 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Hostellerie"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29728
  -props: [
    "product" => App\Entity\Product\Product {#8586
      #id: 3052
      #code: "moulin-peugeot-hostellerie-4361"
      #attributes: Doctrine\ORM\PersistentCollection {#8593 …}
      #variants: Doctrine\ORM\PersistentCollection {#8595 …}
      #options: Doctrine\ORM\PersistentCollection {#8599 …}
      #associations: Doctrine\ORM\PersistentCollection {#8597 …}
      #createdAt: DateTime @1758632747 {#8584
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8585
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8602 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8603
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8586}
          #id: 3052
          #name: "Moulin Peugeot Hostellerie"
          #slug: "moulin-peugeot-hostellerie-4361"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Efficacit&eacute; du m&eacute;canisme.</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li><strong>Fabriqu&eacute; en France.</strong></li>\n
            </ul></div><h1>Description Moulin Peugeot Hostellerie</h1><div class="col is-12">Son excellente ergonomie et l'efficacit&eacute; de ses m&eacute;canismes ont rapidement permis au moulin Peugeot Hostellerie de s'imposer dans toutes les cuisines des grands chefs. De plus il vous est propos&eacute; &agrave; un prix particuli&egrave;rement attractit compte tenu de sa taille.&nbsp;</div><h1>Caractéristiques Moulin Peugeot Hostellerie</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute;. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P". Hauteur 22 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 {#8605 …}
      #channels: Doctrine\ORM\PersistentCollection {#8591 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8587 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8589 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.73 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29796
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29712 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29785 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29709 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29654 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29662
    #collection: Doctrine\Common\Collections\ArrayCollection {#29674 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29650 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38394 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38396 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29796
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29712 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29785 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29709 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Hostellerie"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29662
    #collection: Doctrine\Common\Collections\ArrayCollection {#29674 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29650 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38394 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38396 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29801
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29796
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29712 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#29785 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29709 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29654 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29662
      #collection: Doctrine\Common\Collections\ArrayCollection {#29674 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29650 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38394 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38396 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.15 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29850
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29841 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29848 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29849 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29654 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#29853
  +variant: App\Entity\Product\ProductVariant {#29654 …}
  +price: "31,00\u{A0}"
  +originalPrice: "34,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12050 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8144 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#29850
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29841 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#29848 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29849 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 6.27 ms
Input props
[
  "product" => App\Entity\Product\Product {#8609
    #id: 3053
    #code: "moulin-bistro-antique-peugeot-5077"
    #attributes: Doctrine\ORM\PersistentCollection {#8616 …}
    #variants: Doctrine\ORM\PersistentCollection {#8618 …}
    #options: Doctrine\ORM\PersistentCollection {#8622 …}
    #associations: Doctrine\ORM\PersistentCollection {#8620 …}
    #createdAt: DateTime @1758632747 {#8607
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8608
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8625 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8626
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8609}
        #id: 3053
        #name: "Moulin Bistro Antique Peugeot"
        #slug: "moulin-bistro-antique-peugeot-5077"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pi&egrave;ce unique travaill&eacute;e &agrave; la main.</li>\n
          <li>En bois de h&ecirc;tre.&nbsp;</li>\n
          <li>R&eacute;glage de mouture.</li>\n
          <li>M&eacute;canisme en acier garanti &agrave; vie.</li>\n
          </ul></div><h1>Description Moulin Bistro Antique Peugeot</h1><div class="col is-12">Le moulin bistro Antique Peugeot vous permet de pr&eacute;senter &eacute;l&eacute;gamment votre poivre et sel. Aux charmes d'autrefois, les moulins sont en bois de h&ecirc;tre patin&eacute; par le temps. Ce sont des pi&egrave;ces unique qui sont travaill&eacute;es &agrave; la main. Un r&eacute;glage de la mouture est possible gr&acirc;ce &agrave; l'&eacute;crou laiton grav&eacute;e.</div><h1>Caractéristiques Moulin Bistro Antique Peugeot</h1><div class="col is-12">En bois de h&ecirc;tre. Hauteur 10 cm. Disponible pour poivre et sel.</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 {#8628 …}
    #channels: Doctrine\ORM\PersistentCollection {#8614 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8610 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8612 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29719
  +product: App\Entity\Product\Product {#8609
    #id: 3053
    #code: "moulin-bistro-antique-peugeot-5077"
    #attributes: Doctrine\ORM\PersistentCollection {#8616 …}
    #variants: Doctrine\ORM\PersistentCollection {#8618 …}
    #options: Doctrine\ORM\PersistentCollection {#8622 …}
    #associations: Doctrine\ORM\PersistentCollection {#8620 …}
    #createdAt: DateTime @1758632747 {#8607
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8608
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8625 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8626
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8609}
        #id: 3053
        #name: "Moulin Bistro Antique Peugeot"
        #slug: "moulin-bistro-antique-peugeot-5077"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pi&egrave;ce unique travaill&eacute;e &agrave; la main.</li>\n
          <li>En bois de h&ecirc;tre.&nbsp;</li>\n
          <li>R&eacute;glage de mouture.</li>\n
          <li>M&eacute;canisme en acier garanti &agrave; vie.</li>\n
          </ul></div><h1>Description Moulin Bistro Antique Peugeot</h1><div class="col is-12">Le moulin bistro Antique Peugeot vous permet de pr&eacute;senter &eacute;l&eacute;gamment votre poivre et sel. Aux charmes d'autrefois, les moulins sont en bois de h&ecirc;tre patin&eacute; par le temps. Ce sont des pi&egrave;ces unique qui sont travaill&eacute;es &agrave; la main. Un r&eacute;glage de la mouture est possible gr&acirc;ce &agrave; l'&eacute;crou laiton grav&eacute;e.</div><h1>Caractéristiques Moulin Bistro Antique Peugeot</h1><div class="col is-12">En bois de h&ecirc;tre. Hauteur 10 cm. Disponible pour poivre et sel.</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 {#8628 …}
    #channels: Doctrine\ORM\PersistentCollection {#8614 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8610 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8612 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#29916 …}
  +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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.67 ms
Input props
[
  "product" => App\Entity\Product\Product {#8609
    #id: 3053
    #code: "moulin-bistro-antique-peugeot-5077"
    #attributes: Doctrine\ORM\PersistentCollection {#8616 …}
    #variants: Doctrine\ORM\PersistentCollection {#8618 …}
    #options: Doctrine\ORM\PersistentCollection {#8622 …}
    #associations: Doctrine\ORM\PersistentCollection {#8620 …}
    #createdAt: DateTime @1758632747 {#8607
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8608
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8625 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8626
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8609}
        #id: 3053
        #name: "Moulin Bistro Antique Peugeot"
        #slug: "moulin-bistro-antique-peugeot-5077"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Pi&egrave;ce unique travaill&eacute;e &agrave; la main.</li>\n
          <li>En bois de h&ecirc;tre.&nbsp;</li>\n
          <li>R&eacute;glage de mouture.</li>\n
          <li>M&eacute;canisme en acier garanti &agrave; vie.</li>\n
          </ul></div><h1>Description Moulin Bistro Antique Peugeot</h1><div class="col is-12">Le moulin bistro Antique Peugeot vous permet de pr&eacute;senter &eacute;l&eacute;gamment votre poivre et sel. Aux charmes d'autrefois, les moulins sont en bois de h&ecirc;tre patin&eacute; par le temps. Ce sont des pi&egrave;ces unique qui sont travaill&eacute;es &agrave; la main. Un r&eacute;glage de la mouture est possible gr&acirc;ce &agrave; l'&eacute;crou laiton grav&eacute;e.</div><h1>Caractéristiques Moulin Bistro Antique Peugeot</h1><div class="col is-12">En bois de h&ecirc;tre. Hauteur 10 cm. Disponible pour poivre et sel.</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 {#8628 …}
    #channels: Doctrine\ORM\PersistentCollection {#8614 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8610 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8612 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Bistro Antique Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#29987
  -props: [
    "product" => App\Entity\Product\Product {#8609
      #id: 3053
      #code: "moulin-bistro-antique-peugeot-5077"
      #attributes: Doctrine\ORM\PersistentCollection {#8616 …}
      #variants: Doctrine\ORM\PersistentCollection {#8618 …}
      #options: Doctrine\ORM\PersistentCollection {#8622 …}
      #associations: Doctrine\ORM\PersistentCollection {#8620 …}
      #createdAt: DateTime @1758632747 {#8607
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8608
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8625 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8626
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8609}
          #id: 3053
          #name: "Moulin Bistro Antique Peugeot"
          #slug: "moulin-bistro-antique-peugeot-5077"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Pi&egrave;ce unique travaill&eacute;e &agrave; la main.</li>\n
            <li>En bois de h&ecirc;tre.&nbsp;</li>\n
            <li>R&eacute;glage de mouture.</li>\n
            <li>M&eacute;canisme en acier garanti &agrave; vie.</li>\n
            </ul></div><h1>Description Moulin Bistro Antique Peugeot</h1><div class="col is-12">Le moulin bistro Antique Peugeot vous permet de pr&eacute;senter &eacute;l&eacute;gamment votre poivre et sel. Aux charmes d'autrefois, les moulins sont en bois de h&ecirc;tre patin&eacute; par le temps. Ce sont des pi&egrave;ces unique qui sont travaill&eacute;es &agrave; la main. Un r&eacute;glage de la mouture est possible gr&acirc;ce &agrave; l'&eacute;crou laiton grav&eacute;e.</div><h1>Caractéristiques Moulin Bistro Antique Peugeot</h1><div class="col is-12">En bois de h&ecirc;tre. Hauteur 10 cm. Disponible pour poivre et sel.</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 {#8628 …}
      #channels: Doctrine\ORM\PersistentCollection {#8614 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8610 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8612 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.99 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30060
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29971 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30038 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29968 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29916 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29924
    #collection: Doctrine\Common\Collections\ArrayCollection {#29933 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29912 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38408 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38410 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30060
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29971 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30038 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29968 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Bistro Antique Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#29924
    #collection: Doctrine\Common\Collections\ArrayCollection {#29933 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#29912 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38408 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38410 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30063
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30060
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#29971 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30038 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#29968 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#29916 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#29924
      #collection: Doctrine\Common\Collections\ArrayCollection {#29933 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#29912 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38408 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38410 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.16 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30114
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30105 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30112 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30113 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#29916 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30117
  +variant: App\Entity\Product\ProductVariant {#29916 …}
  +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 {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12050 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8144 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30114
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30105 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30112 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30113 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.37 ms
Input props
[
  "product" => App\Entity\Product\Product {#8636
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8643 …}
    #variants: Doctrine\ORM\PersistentCollection {#8645 …}
    #options: Doctrine\ORM\PersistentCollection {#8649 …}
    #associations: Doctrine\ORM\PersistentCollection {#8647 …}
    #createdAt: DateTime @1758632747 {#8631
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8630
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8652 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8653
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8636}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8655 …}
    #channels: Doctrine\ORM\PersistentCollection {#8641 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8637 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8639 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#29978
  +product: App\Entity\Product\Product {#8636
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8643 …}
    #variants: Doctrine\ORM\PersistentCollection {#8645 …}
    #options: Doctrine\ORM\PersistentCollection {#8649 …}
    #associations: Doctrine\ORM\PersistentCollection {#8647 …}
    #createdAt: DateTime @1758632747 {#8631
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8630
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8652 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8653
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8636}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8655 …}
    #channels: Doctrine\ORM\PersistentCollection {#8641 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8637 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8639 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30180 …}
  +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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.68 ms
Input props
[
  "product" => App\Entity\Product\Product {#8636
    #id: 3054
    #code: "moulin-paris-prestige-peugeot-5111"
    #attributes: Doctrine\ORM\PersistentCollection {#8643 …}
    #variants: Doctrine\ORM\PersistentCollection {#8645 …}
    #options: Doctrine\ORM\PersistentCollection {#8649 …}
    #associations: Doctrine\ORM\PersistentCollection {#8647 …}
    #createdAt: DateTime @1758632747 {#8631
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8630
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8652 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8653
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8636}
        #id: 3054
        #name: "Moulin Paris Prestige Peugeot"
        #slug: "moulin-paris-prestige-peugeot-5111"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Bois d'origine fran&ccedil;aise.</li>\n
          <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
          <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
          <li>Finition parfaite.</li>\n
          <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
          </ul>\n
          <ul style="margin: 0px 10px; padding: 10px;">\n
          </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8655 …}
    #channels: Doctrine\ORM\PersistentCollection {#8641 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8637 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8639 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Paris Prestige Peugeot"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30254
  -props: [
    "product" => App\Entity\Product\Product {#8636
      #id: 3054
      #code: "moulin-paris-prestige-peugeot-5111"
      #attributes: Doctrine\ORM\PersistentCollection {#8643 …}
      #variants: Doctrine\ORM\PersistentCollection {#8645 …}
      #options: Doctrine\ORM\PersistentCollection {#8649 …}
      #associations: Doctrine\ORM\PersistentCollection {#8647 …}
      #createdAt: DateTime @1758632747 {#8631
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8630
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8652 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8653
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8636}
          #id: 3054
          #name: "Moulin Paris Prestige Peugeot"
          #slug: "moulin-paris-prestige-peugeot-5111"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Bois d'origine fran&ccedil;aise.</li>\n
            <li>Logo en m&eacute;tal sculpt&eacute;.</li>\n
            <li>Edition limit&eacute;e et num&eacute;rot&eacute;e.</li>\n
            <li>Finition parfaite.</li>\n
            <li><span style="font-weight: bold;">Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</span></li>\n
            </ul>\n
            <ul style="margin: 0px 10px; padding: 10px;">\n
            </ul></div><h1>Description Moulin Paris Prestige Peugeot</h1><div class="col is-12">Le moulin Paris Prestige Peugeot repr&eacute;sente tout le savoir faire bicentenaire de la marque. Tous les d&eacute;tails de ce moulin sont &agrave; l'image du niveau d'exigence de la manufacture Francomtoise : bois d'origine fran&ccedil;aise s&eacute;lectionn&eacute; avec soin, finition laqu&eacute;e, coupelle et socle du moulin en m&eacute;tal, logo en m&eacute;tal sculpt&eacute;. &nbsp;Equip&eacute; du c&eacute;l&egrave;bre m&eacute;canisme poivre garanti &agrave; vie, il vous assure une mouture de haute qualit&eacute;.&nbsp;</div><h1>Caractéristiques Moulin Paris Prestige Peugeot</h1><div class="col is-12">Taille 110 cm. Socle et coupole en acier. Bois d'origine fran&ccedil;aise. Logo en m&eacute;tal sculpt&eacute;. M&eacute;canisme poivre garanti &agrave; vie.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8655 …}
      #channels: Doctrine\ORM\PersistentCollection {#8641 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8637 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8639 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30322
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30238 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30235 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30180 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30188
    #collection: Doctrine\Common\Collections\ArrayCollection {#30200 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30176 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38422 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38424 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30322
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30238 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30311 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30235 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Paris Prestige Peugeot"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30188
    #collection: Doctrine\Common\Collections\ArrayCollection {#30200 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30176 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38422 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38424 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30327
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30322
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30238 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30311 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30235 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30180 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30188
      #collection: Doctrine\Common\Collections\ArrayCollection {#30200 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30176 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38422 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38424 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.17 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30376
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30367 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30375 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30180 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30379
  +variant: App\Entity\Product\ProductVariant {#30180 …}
  +price: "1\u{202F}119,00\u{A0}"
  +originalPrice: "1\u{202F}119,00\u{A0}"
  +hasDiscount: false
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12050 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8144 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30376
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30367 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30374 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30375 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 4.00 ms
Input props
[
  "product" => App\Entity\Product\Product {#8659
    #id: 3055
    #code: "moulin-peugeot-tahiti-ete-5765"
    #attributes: Doctrine\ORM\PersistentCollection {#8666 …}
    #variants: Doctrine\ORM\PersistentCollection {#8668 …}
    #options: Doctrine\ORM\PersistentCollection {#8672 …}
    #associations: Doctrine\ORM\PersistentCollection {#8670 …}
    #createdAt: DateTime @1758632747 {#8657
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8658
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8675 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8676
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8659}
        #id: 3055
        #name: "Moulin Peugeot Tahiti Eté"
        #slug: "moulin-peugeot-tahiti-ete-5765"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Eté</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Et&eacute; qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Eté</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8678 …}
    #channels: Doctrine\ORM\PersistentCollection {#8664 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8660 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8662 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30245
  +product: App\Entity\Product\Product {#8659
    #id: 3055
    #code: "moulin-peugeot-tahiti-ete-5765"
    #attributes: Doctrine\ORM\PersistentCollection {#8666 …}
    #variants: Doctrine\ORM\PersistentCollection {#8668 …}
    #options: Doctrine\ORM\PersistentCollection {#8672 …}
    #associations: Doctrine\ORM\PersistentCollection {#8670 …}
    #createdAt: DateTime @1758632747 {#8657
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8658
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8675 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8676
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8659}
        #id: 3055
        #name: "Moulin Peugeot Tahiti Eté"
        #slug: "moulin-peugeot-tahiti-ete-5765"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Eté</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Et&eacute; qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Eté</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8678 …}
    #channels: Doctrine\ORM\PersistentCollection {#8664 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8660 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8662 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30442 …}
  +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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.66 ms
Input props
[
  "product" => App\Entity\Product\Product {#8659
    #id: 3055
    #code: "moulin-peugeot-tahiti-ete-5765"
    #attributes: Doctrine\ORM\PersistentCollection {#8666 …}
    #variants: Doctrine\ORM\PersistentCollection {#8668 …}
    #options: Doctrine\ORM\PersistentCollection {#8672 …}
    #associations: Doctrine\ORM\PersistentCollection {#8670 …}
    #createdAt: DateTime @1758632747 {#8657
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8658
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#8675 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#8676
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8659}
        #id: 3055
        #name: "Moulin Peugeot Tahiti Eté"
        #slug: "moulin-peugeot-tahiti-ete-5765"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Eté</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Et&eacute; qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Eté</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#8678 …}
    #channels: Doctrine\ORM\PersistentCollection {#8664 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8660 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8662 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Tahiti Eté"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30513
  -props: [
    "product" => App\Entity\Product\Product {#8659
      #id: 3055
      #code: "moulin-peugeot-tahiti-ete-5765"
      #attributes: Doctrine\ORM\PersistentCollection {#8666 …}
      #variants: Doctrine\ORM\PersistentCollection {#8668 …}
      #options: Doctrine\ORM\PersistentCollection {#8672 …}
      #associations: Doctrine\ORM\PersistentCollection {#8670 …}
      #createdAt: DateTime @1758632747 {#8657
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8658
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#8675 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#8676
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8659}
          #id: 3055
          #name: "Moulin Peugeot Tahiti Eté"
          #slug: "moulin-peugeot-tahiti-ete-5765"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Uniquement en duo.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti Eté</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Et&eacute; qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Eté</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#8678 …}
      #channels: Doctrine\ORM\PersistentCollection {#8664 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8660 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8662 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.60 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30506
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30497 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30567 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30494 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30442 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30450
    #collection: Doctrine\Common\Collections\ArrayCollection {#30459 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30438 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38436 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38438 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30506
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30497 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30567 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30494 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti Eté"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30450
    #collection: Doctrine\Common\Collections\ArrayCollection {#30459 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30438 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38436 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38438 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30571
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30506
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30497 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30567 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30494 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30442 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30450
      #collection: Doctrine\Common\Collections\ArrayCollection {#30459 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30438 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38436 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38438 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30621
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30612 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30619 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30620 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30442 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30624
  +variant: App\Entity\Product\ProductVariant {#30442 …}
  +price: "53,00\u{A0}"
  +originalPrice: "59,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12050 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8144 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30621
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30612 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30619 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30620 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 3.99 ms
Input props
[
  "product" => App\Entity\Product\Product {#8682
    #id: 3056
    #code: "moulin-peugeot-tahiti-automne-5766"
    #attributes: Doctrine\ORM\PersistentCollection {#8689 …}
    #variants: Doctrine\ORM\PersistentCollection {#4833 …}
    #options: Doctrine\ORM\PersistentCollection {#4829 …}
    #associations: Doctrine\ORM\PersistentCollection {#4835 …}
    #createdAt: DateTime @1758632747 {#8680
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8681
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4826 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4837
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8682}
        #id: 3056
        #name: "Moulin Peugeot Tahiti Automne"
        #slug: "moulin-peugeot-tahiti-automne-5766"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Automne</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Automne qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Automne</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4839 …}
    #channels: Doctrine\ORM\PersistentCollection {#8687 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8683 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8685 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30504
  +product: App\Entity\Product\Product {#8682
    #id: 3056
    #code: "moulin-peugeot-tahiti-automne-5766"
    #attributes: Doctrine\ORM\PersistentCollection {#8689 …}
    #variants: Doctrine\ORM\PersistentCollection {#4833 …}
    #options: Doctrine\ORM\PersistentCollection {#4829 …}
    #associations: Doctrine\ORM\PersistentCollection {#4835 …}
    #createdAt: DateTime @1758632747 {#8680
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8681
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4826 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4837
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8682}
        #id: 3056
        #name: "Moulin Peugeot Tahiti Automne"
        #slug: "moulin-peugeot-tahiti-automne-5766"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Automne</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Automne qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Automne</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4839 …}
    #channels: Doctrine\ORM\PersistentCollection {#8687 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8683 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8685 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30687 …}
  +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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.67 ms
Input props
[
  "product" => App\Entity\Product\Product {#8682
    #id: 3056
    #code: "moulin-peugeot-tahiti-automne-5766"
    #attributes: Doctrine\ORM\PersistentCollection {#8689 …}
    #variants: Doctrine\ORM\PersistentCollection {#4833 …}
    #options: Doctrine\ORM\PersistentCollection {#4829 …}
    #associations: Doctrine\ORM\PersistentCollection {#4835 …}
    #createdAt: DateTime @1758632747 {#8680
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#8681
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#4826 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#4837
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#8682}
        #id: 3056
        #name: "Moulin Peugeot Tahiti Automne"
        #slug: "moulin-peugeot-tahiti-automne-5766"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Automne</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Automne qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Automne</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#4839 …}
    #channels: Doctrine\ORM\PersistentCollection {#8687 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#8683 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#8685 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Tahiti Automne"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30758
  -props: [
    "product" => App\Entity\Product\Product {#8682
      #id: 3056
      #code: "moulin-peugeot-tahiti-automne-5766"
      #attributes: Doctrine\ORM\PersistentCollection {#8689 …}
      #variants: Doctrine\ORM\PersistentCollection {#4833 …}
      #options: Doctrine\ORM\PersistentCollection {#4829 …}
      #associations: Doctrine\ORM\PersistentCollection {#4835 …}
      #createdAt: DateTime @1758632747 {#8680
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#8681
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#4826 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#4837
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#8682}
          #id: 3056
          #name: "Moulin Peugeot Tahiti Automne"
          #slug: "moulin-peugeot-tahiti-automne-5766"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Uniquement en duo.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti Automne</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Automne qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Automne</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#4839 …}
      #channels: Doctrine\ORM\PersistentCollection {#8687 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#8683 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#8685 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30751
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30809 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30739 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30687 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30695
    #collection: Doctrine\Common\Collections\ArrayCollection {#30704 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30683 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38450 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38452 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30751
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30742 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30809 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30739 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti Automne"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30695
    #collection: Doctrine\Common\Collections\ArrayCollection {#30704 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30683 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38450 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38452 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#30813
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30751
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30742 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#30809 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30739 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30687 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30695
      #collection: Doctrine\Common\Collections\ArrayCollection {#30704 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30683 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38450 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38452 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.14 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30863
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30854 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30861 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30862 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30687 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#30866
  +variant: App\Entity\Product\ProductVariant {#30687 …}
  +price: "53,00\u{A0}"
  +originalPrice: "59,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12050 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8144 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30863
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30854 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#30861 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30862 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:product:card Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent 114.0 MiB 3.95 ms
Input props
[
  "product" => App\Entity\Product\Product {#4849
    #id: 3057
    #code: "moulin-peugeot-tahiti-hiver-5767"
    #attributes: Doctrine\ORM\PersistentCollection {#4844 …}
    #variants: Doctrine\ORM\PersistentCollection {#5147 …}
    #options: Doctrine\ORM\PersistentCollection {#5157 …}
    #associations: Doctrine\ORM\PersistentCollection {#5146 …}
    #createdAt: DateTime @1758632747 {#4853
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#4850
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5128 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5121
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4849}
        #id: 3057
        #name: "Moulin Peugeot Tahiti Hiver"
        #slug: "moulin-peugeot-tahiti-hiver-5767"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#5125 …}
    #channels: Doctrine\ORM\PersistentCollection {#4857 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4848 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4845 …}
    #productType: null
  }
  "template" => "@SyliusShop/product/common/card.html.twig"
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
]
Attributes
[
  "template" => "@SyliusShop/product/common/card.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent {#30749
  +product: App\Entity\Product\Product {#4849
    #id: 3057
    #code: "moulin-peugeot-tahiti-hiver-5767"
    #attributes: Doctrine\ORM\PersistentCollection {#4844 …}
    #variants: Doctrine\ORM\PersistentCollection {#5147 …}
    #options: Doctrine\ORM\PersistentCollection {#5157 …}
    #associations: Doctrine\ORM\PersistentCollection {#5146 …}
    #createdAt: DateTime @1758632747 {#4853
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#4850
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5128 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5121
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4849}
        #id: 3057
        #name: "Moulin Peugeot Tahiti Hiver"
        #slug: "moulin-peugeot-tahiti-hiver-5767"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#5125 …}
    #channels: Doctrine\ORM\PersistentCollection {#4857 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4848 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4845 …}
    #productType: null
  }
  +variant: App\Entity\Product\ProductVariant {#30929 …}
  +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 {#27720
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#27753 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27759 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#27746 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main"
    ]
  }
}
sylius_shop:main_image
[Anonymous]
114.0 MiB 0.65 ms
Input props
[
  "product" => App\Entity\Product\Product {#4849
    #id: 3057
    #code: "moulin-peugeot-tahiti-hiver-5767"
    #attributes: Doctrine\ORM\PersistentCollection {#4844 …}
    #variants: Doctrine\ORM\PersistentCollection {#5147 …}
    #options: Doctrine\ORM\PersistentCollection {#5157 …}
    #associations: Doctrine\ORM\PersistentCollection {#5146 …}
    #createdAt: DateTime @1758632747 {#4853
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #updatedAt: DateTime @1758632747 {#4850
      date: 2025-09-23 21:05:47.0 PRC (+08:00)
    }
    #enabled: true
    #translations: Doctrine\ORM\PersistentCollection {#5128 …}
    #translationsCache: [
      "fr_FR" => App\Entity\Product\ProductTranslation {#5121
        #locale: "fr_FR"
        #translatable: App\Entity\Product\Product {#4849}
        #id: 3057
        #name: "Moulin Peugeot Tahiti Hiver"
        #slug: "moulin-peugeot-tahiti-hiver-5767"
        #description: """
          <div class="col is-12"><ul>\n
          <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
          <li>M&eacute;canisme garanti &agrave; vie.</li>\n
          <li>Uniquement en duo.</li>\n
          <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
          </ul>\n
          <ul>\n
          </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
          """
        #metaKeywords: null
        #metaDescription: null
        #shortDescription: null
        -fullTitle: null
        -metaTitle: null
      }
    ]
    #currentLocale: "fr_FR"
    #currentTranslation: null
    #fallbackLocale: "fr_FR"
    #variantSelectionMethod: "choice"
    #productTaxons: Doctrine\ORM\PersistentCollection {#5125 …}
    #channels: Doctrine\ORM\PersistentCollection {#4857 …}
    #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
    #reviews: Doctrine\ORM\PersistentCollection {#4848 …}
    #averageRating: 0.0
    #images: Doctrine\ORM\PersistentCollection {#4845 …}
    #productType: null
  }
  "class" => "w-100 h-100 object-fit-cover"
]
Attributes
[
  "product" => "Moulin Peugeot Tahiti Hiver"
  "class" => "w-100 h-100 object-fit-cover"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31000
  -props: [
    "product" => App\Entity\Product\Product {#4849
      #id: 3057
      #code: "moulin-peugeot-tahiti-hiver-5767"
      #attributes: Doctrine\ORM\PersistentCollection {#4844 …}
      #variants: Doctrine\ORM\PersistentCollection {#5147 …}
      #options: Doctrine\ORM\PersistentCollection {#5157 …}
      #associations: Doctrine\ORM\PersistentCollection {#5146 …}
      #createdAt: DateTime @1758632747 {#4853
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #updatedAt: DateTime @1758632747 {#4850
        date: 2025-09-23 21:05:47.0 PRC (+08:00)
      }
      #enabled: true
      #translations: Doctrine\ORM\PersistentCollection {#5128 …}
      #translationsCache: [
        "fr_FR" => App\Entity\Product\ProductTranslation {#5121
          #locale: "fr_FR"
          #translatable: App\Entity\Product\Product {#4849}
          #id: 3057
          #name: "Moulin Peugeot Tahiti Hiver"
          #slug: "moulin-peugeot-tahiti-hiver-5767"
          #description: """
            <div class="col is-12"><ul>\n
            <li>Couleurs originales et diff&eacute;renci&eacute;es</li>\n
            <li>M&eacute;canisme garanti &agrave; vie.</li>\n
            <li>Uniquement en duo.</li>\n
            <li><strong>Fabrication fran&ccedil;aise. Quingey (Doubs Franche-Comt&eacute;)</strong></li>\n
            </ul>\n
            <ul>\n
            </ul></div><h1>Description Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">Douceur des ligne et couleurs diff&eacute;rentes mais en harmonie pour ce duo de moulins Tahiti Hiver qui permet instantan&eacute;ment de diff&eacute;rencier le sel du poivre. Les m&eacute;canismes l&eacute;gendaires Peugeot fiables et efficaces sont bien s&ucirc;r de la partie.</div><h1>Caractéristiques Moulin Peugeot Tahiti Hiver</h1><div class="col is-12">M&eacute;canisme poivre ou sel garanti &agrave; vie. Corps bois teint&eacute; mat. &nbsp;Corps garantis 5 ans. &nbsp;Molette de r&eacute;glage de la mouture.&nbsp;Bille inox avec symbole grav&eacute; "P" ou "S" suivant le m&eacute;canisme. Hauteur 15 cm.</div>
            """
          #metaKeywords: null
          #metaDescription: null
          #shortDescription: null
          -fullTitle: null
          -metaTitle: null
        }
      ]
      #currentLocale: "fr_FR"
      #currentTranslation: null
      #fallbackLocale: "fr_FR"
      #variantSelectionMethod: "choice"
      #productTaxons: Doctrine\ORM\PersistentCollection {#5125 …}
      #channels: Doctrine\ORM\PersistentCollection {#4857 …}
      #mainTaxon: App\Entity\Taxonomy\Taxon {#7528 …}
      #reviews: Doctrine\ORM\PersistentCollection {#4848 …}
      #averageRating: 0.0
      #images: Doctrine\ORM\PersistentCollection {#4845 …}
      #productType: null
    }
    "class" => "w-100 h-100 object-fit-cover"
  ]
}
sylius_shop:catalog_promotions
[Anonymous]
114.0 MiB 0.58 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30993
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30984 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31051 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30981 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30929 …}
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30937
    #collection: Doctrine\Common\Collections\ArrayCollection {#30946 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30925 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38464 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38466 …}
  }
  "withDescription" => false
]
Attributes
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30993
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30984 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31051 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30981 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => "Moulin Peugeot Tahiti Hiver"
  "applied_promotions" => Doctrine\ORM\PersistentCollection {#30937
    #collection: Doctrine\Common\Collections\ArrayCollection {#30946 …}
    #initialized: true
    -snapshot: []
    -owner: App\Entity\Channel\ChannelPricing {#30925 …}
    -association: Symfony\Component\VarDumper\Caster\CutStub {#38464 …}
    -backRefFieldName: null
    -isDirty: false
    -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
    -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38466 …}
  }
  "withDescription" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#31055
  -props: [
    "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#30993
      +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#30984 …}
      +context: Sylius\TwigHooks\Bag\DataBag {#31051 …}
      +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#30981 …}
      +prefixes: [
        "sylius_shop.product.index.content.body.main.card.prices"
        "sylius_shop.shared.product.card.prices"
      ]
    }
    "variant" => App\Entity\Product\ProductVariant {#30929 …}
    "applied_promotions" => Doctrine\ORM\PersistentCollection {#30937
      #collection: Doctrine\Common\Collections\ArrayCollection {#30946 …}
      #initialized: true
      -snapshot: []
      -owner: App\Entity\Channel\ChannelPricing {#30925 …}
      -association: Symfony\Component\VarDumper\Caster\CutStub {#38464 …}
      -backRefFieldName: null
      -isDirty: false
      -em: ContainerX4JY5xp\EntityManagerGhost614a58f {#232 …}
      -typeClass: Symfony\Component\VarDumper\Caster\CutStub {#38466 …}
    }
    "withDescription" => false
  ]
}
sylius_shop:product:card:price Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent 114.0 MiB 0.17 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31105
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31096 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31103 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31104 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
  "variant" => App\Entity\Product\ProductVariant {#30929 …}
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Attributes
[
  "template" => "@SyliusShop/product/common/price.html.twig"
]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Product\PriceComponent {#31108
  +variant: App\Entity\Product\ProductVariant {#30929 …}
  +price: "53,00\u{A0}"
  +originalPrice: "59,00\u{A0}"
  +hasDiscount: true
  #productVariantPricesCalculator: Sylius\Component\Core\Calculator\ProductVariantPriceCalculator {#5465 …}
  #moneyFormatter: Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatter {#8146 …}
  #channelContext: Sylius\Component\Channel\Context\CachedPerRequestChannelContext {#4203 …}
  #localeContext: Sylius\Component\Locale\Context\CompositeLocaleContext {#1298 …}
  #currencyContext: Sylius\Component\Core\Currency\Context\ChannelAwareCurrencyContext {#12050 …}
  #currencyConverter: Sylius\Component\Currency\Converter\CurrencyConverter {#8144 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#31105
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#31096 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#31103 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#31104 …}
    +prefixes: [
      "sylius_shop.product.index.content.body.main.card.prices"
      "sylius_shop.shared.product.card.prices"
    ]
  }
}
sylius_shop:cart:widget:offcanvas Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent 114.0 MiB 2.01 ms
Input props
[
  "hookableMetadata" => Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27419
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12115 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27441 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12125 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  "template" => "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
]
Attributes
[]
Component
Sylius\Bundle\ShopBundle\Twig\Component\Cart\WidgetComponent {#31425
  +cart: App\Entity\Order\Order {#13029 …}
  #cartContext: Sylius\Component\Order\Context\CompositeCartContext {#1322 …}
  +hookableMetadata: Sylius\TwigHooks\Hookable\Metadata\HookableMetadata {#27419
    +renderedBy: Sylius\TwigHooks\Hook\Metadata\HookMetadata {#12115 …}
    +context: Sylius\TwigHooks\Bag\DataBag {#27441 …}
    +configuration: Sylius\TwigHooks\Bag\ScalarDataBag {#12125 …}
    +prefixes: [
      "sylius_shop.base.offcanvas"
    ]
  }
  +template: "@SyliusShop/shared/layout/base/offcanvas/cart.html.twig"
  #repository: Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository {#4980 …}
}