ProductController :: viewProduct

Request

GET Parameters

Key Value
url
"produit/erabliere-caseal/confits-d'oignons-a-l'erable/1514"

POST Parameters

No POST parameters

Uploaded Files

No files were uploaded

Request Attributes

Key Value
_controller
"App\Controller\ProductController::viewProduct"
_firewall_context
"security.firewall.map.context.main"
_locale
"fr"
_redirected
true
_route
"viewProduct"
_route_params
[
  "_locale" => "fr"
  "producerUrl" => "erabliere-caseal"
  "productName" => "confits-d%26%2339%3Boignons-a-l%26%2339%3Berable"
  "id" => "1514"
]
_template
Sensio\Bundle\FrameworkExtraBundle\Configuration\Template {#933
  #template: "frontend/product.html.twig"
  -vars: []
  -streamable: false
  -owner: [
    App\Controller\ProductController {#224
      -entityMana: Doctrine\ORM\EntityManager {#319 …}
      -productServ: App\Service\ProductService {#153 …}
      -userServ: App\Service\UserService {#150 …}
      -companyServ: App\Service\CompanyService {#835 …}
      -request: null
      #container: Symfony\Component\DependencyInjection\Argument\ServiceLocator {#839 …}
    }
    "viewProduct"
  ]
}
id
"1514"
producerUrl
"erabliere-caseal"
product
App\Entity\Product {#1112
  #em: Doctrine\ORM\EntityManager {#319 …}
  #userServ: App\Service\UserService {#150 …}
  -urlName: null
  -id: 1514
  -origName: "Confits d'oignons à l'érable"
  -origBrandName: null
  -qtyLeft: 0
  -unitAmount: 200.0
  -unit: 2
  -available: true
  -origDescription: "<p>Notre confit d&rsquo;oignons &agrave; l&rsquo;&eacute;rable est fabriqu&eacute; &agrave; base d&rsquo;oignons rouges au go&ucirc;t tendre et d&rsquo;un&nbsp;<strong>sirop d&rsquo;&eacute;rable biologique ambr&eacute;</strong>&nbsp;qui se d&eacute;marque par un&nbsp;<strong>go&ucirc;t d&rsquo;&eacute;rable et ar&ocirc;mes de caramel</strong>. Le vinaigre de cidre de pommes entrant &eacute;galement dans sa composition y ajoute un&nbsp;<strong>l&eacute;ger c&ocirc;t&eacute; acidul&eacute;</strong>&nbsp;en fin de bouche. Un vrai d&eacute;lice compos&eacute; &agrave; partir d&rsquo;ingr&eacute;dients 100 % biologiques et ne contient ni agents de conservation ni sulfites et aucun gluten ! Son&nbsp;<strong>go&ucirc;t unique</strong>&nbsp;mariant les oignons et les saveurs typiques de l&rsquo;&eacute;rable en fait un ingr&eacute;dient de choix pour cuisiner des plats distingu&eacute;s.</p><p><strong>Pourquoi choisir Cas&eacute;al ?</strong></p><p>Notre confit d&rsquo;oignons est compos&eacute; majoritairement &agrave; partir de notre&nbsp;<strong>sirop d&#39;&eacute;rable 100% biologique</strong>&nbsp;unique en son genre. Celui-ci se distingue par son&nbsp;<strong>go&ucirc;t de vanille et de noisette</strong>&nbsp;qui lui a d&rsquo;ailleurs valu une pr&eacute;sence dans le&nbsp;<strong>Top 5 des meilleurs sirops d&#39;&eacute;rable du Qu&eacute;bec</strong>&nbsp;en 2014 ainsi qu&rsquo;une&nbsp;<strong>m&eacute;daille d&rsquo;argent</strong>&nbsp;en 2015.</p><p>&nbsp;</p><p>Nous sommes une&nbsp;<strong>entreprise familiale &agrave; &eacute;chelle humaine</strong>&nbsp;qui emploie des techniques de fabrication&nbsp;<strong>&eacute;coresponsables</strong>&nbsp;et r&eacute;alise des partenariats avec des&nbsp;<strong>fournisseurs locaux</strong>&nbsp;pour la confection de produits transform&eacute;s. L&#39;&Eacute;rabli&egrave;re Cas&eacute;al est situ&eacute;e dans la&nbsp;<strong>MRC du Granit</strong>, au Qu&eacute;bec.</p><p>&nbsp;</p>"
  -categories: Proxies\__CG__\App\Entity\Category {#1174 …}
  -conservation: Proxies\__CG__\App\Entity\Conservation {#1153 …}
  -Origin: "Québec/Canada"
  -bestBefore: null
  -creationDate: DateTime @1574658000 {#1110
    date: 2019-11-25 00:00:00.0 America/New_York (-05:00)
  }
  -nutritionFact: null
  -newProduct: true
  -images: Doctrine\ORM\PersistentCollection {#1154 …}
  -mainImage: Proxies\__CG__\App\Entity\Image {#1175 …}
  -tags: Doctrine\ORM\PersistentCollection {#1132 …}
  -ingredients: Doctrine\ORM\PersistentCollection {#1146 …}
  -storages: Doctrine\ORM\PersistentCollection {#1187 …}
  -pricings: Doctrine\ORM\PersistentCollection {#1205 …}
  -certifications: Doctrine\ORM\PersistentCollection {#1218 …}
  -company: Proxies\__CG__\App\Entity\Company {#1379 …}
  -taxable: false
  -maturinUpc: null
  -codeUPC: null
  -code1: null
  -code2: null
  -code3: null
  -codeBox: null
  -alimentsDuQuebec: true
  -deliveryLocations: Doctrine\ORM\PersistentCollection {#1367 …}
  -minimumInStorage: null
  -deliveryMethods: Doctrine\ORM\PersistentCollection {#1344 …}
  -limitedQuantity: false
  -alimentsDuQuebecCertification: 2
  -DeliveryType: 1
  -DeliveryPickup: false
  -draft: false
  -deliveryMail: true
  -locations: Doctrine\ORM\PersistentCollection {#1318 …}
  -region: Proxies\__CG__\App\Entity\Region {#1289 …}
  -advices: "<p><strong>Format et dur&eacute;e de conservation</strong></p><p>Le format le format de&nbsp;<strong>125 g</strong>&nbsp;est suffisant pour pr&eacute;parer une pizza ou &ecirc;tre servi en accompagnement d&rsquo;un plateau de fromages et de terrines alors que le format de&nbsp;<strong>200 g</strong>&nbsp;convient parfaitement pour une consommation plus r&eacute;guli&egrave;re. Il est id&eacute;al pour les amateurs de viande et de barbecue ! Une fois ouvert, le pot de confit d&rsquo;oignons peut se conserver jusqu&rsquo;&agrave; 2<strong>&nbsp;mois</strong>&nbsp;au r&eacute;frig&eacute;rateur.</p>"
  -recipes: "<p><strong>Suggestions d&rsquo;utilisation</strong></p><p>Le confit d&rsquo;oignons &agrave; l&rsquo;&eacute;rable remplace ais&eacute;ment le confit d&rsquo;oignons traditionnel dans toutes les recettes, telles que les produits &agrave; base de viande comme le boudin et les&nbsp;<strong>saucisses</strong>, la fondue chinoise ou les&nbsp;<strong>hamburgers</strong>&nbsp;et les hot-dogs en garniture. Utilisez-le pour accompagner des champignons saut&eacute;s, avec des dattes, des&nbsp;<strong>figues</strong>&nbsp;ou encore hach&eacute; pour le mettre dans une vinaigrette sur une&nbsp;<strong>salade de pommes</strong>. De plus, il est parfait dans les sandwichs &agrave; la viande ou de fromage, sur une pizza au poulet, ou encore comme accompagnement de&nbsp;<strong>fromages</strong>&nbsp;&agrave; p&acirc;te semi-ferme. Mettez-le sur un fromage brie et faites chauffer le tout quelques minutes et vous aurez&nbsp;<strong>une entr&eacute;e succulente</strong>&nbsp;!&nbsp;</p>"
  -userViewed: Doctrine\ORM\PersistentCollection {#1300 …}
  -inCarts: Doctrine\ORM\PersistentCollection {#1243 …}
  -solexId: null
  -replenishmentItems: Doctrine\ORM\PersistentCollection {#1260 …}
  -favorites: Doctrine\ORM\PersistentCollection {#1272 …}
  -listOfIngredients: "<p>Oignons rouges biologiques, sirop d&#39;&eacute;rable biologique, huile de canola biologique, vinaigre de cidre de pommes biologique, m&eacute;lange d&#39;herbes</p>"
  -qtyReadyToShip: 1
  -expirationDate: null
  -isConsigned: false
  -consignedCost: 0.0
  -nutritionFactImage: null
  -isFragile: true
  -qtyPerUnit: 1
  -validatedByDistributor: false
  -deliveryNote: null
  -isJustInTime: false
  -reminderLowQuantitySent: false
  -hasMultipleProducts: false
  -hasFreeMaturinShipping: false
  -deal: null
  -productsInBundle: Doctrine\ORM\PersistentCollection {#1274 …}
  -badges: Doctrine\ORM\PersistentCollection {#1396 …}
  -diets: Doctrine\ORM\PersistentCollection {#1409 …}
  -discountPricings: Doctrine\ORM\PersistentCollection {#1411 …}
  -subCategory: null
  -complementedByGroups: Doctrine\ORM\PersistentCollection {#1425 …}
  -complementaryGroups: Doctrine\ORM\PersistentCollection {#1427 …}
  -actionWhenExpired: 0
  -isSubscribable: null
  -subscriptions: Doctrine\ORM\PersistentCollection {#1447 …}
  -isBoxOfProducts: false
  -productsInBox: Doctrine\ORM\PersistentCollection {#1461 …}
  -isOnlySubscribable: null
  -justInTimeDeliveryDate: null
  -freeMaturinShippingIfLowerThen: null
  -isOnlySubscribableToType: null
  -targetOfReplacementScripts: Doctrine\ORM\PersistentCollection {#1475 …}
  -quantityWarehouse: 0
  -quantityWarehouseReserved: 0
  -quantityOnHold: 0
  -parentProductId: null
  -feeWarehousePackingPerUnit: null
  -feeWarehouseHandlingPerUnit: null
  -isDisplayedInAssociationOnly: false
  -isHri: false
  -puroExclusion: false
  -containsAlcohol: false
  -isConsumer: true
  -productColaborPrice: null
  -isPrixLaureat: false
  -cantUseCoupon: false
  -corporative: null
  -seasonality: null
  -seasonalityStart: null
  -seasonalityEnd: null
  -quantityMaxProd: null
  -productDelete: false
  -orderFrequency: 0
  -portionForMeal: 0
}
productName
"confits-d%26%2339%3Boignons-a-l%26%2339%3Berable"

Request Headers

Header Value
accept
"*/*"
accept-encoding
"gzip, br, zstd, deflate"
cookie
"sf_redirect=%7B%22token%22%3A%220e28d5%22%2C%22route%22%3A%22viewProductInAssociation%22%2C%22method%22%3A%22GET%22%2C%22controller%22%3A%7B%22class%22%3A%22App%5C%5CController%5C%5CProductController%22%2C%22method%22%3A%22viewProductInAssociation%22%2C%22file%22%3A%22%5C%2Fvar%5C%2Fwww%5C%2Fhtml%5C%2FMarkego%5C%2Fsrc%5C%2FController%5C%2FProductController.php%22%2C%22line%22%3A587%7D%2C%22status_code%22%3A307%2C%22status_text%22%3A%22Temporary%20Redirect%22%7D; PHPSESSID=gd31cese323k4j24vkge487m9g"
host
"staging.maturin.ca"
referer
"https://staging.maturin.ca/groupe/Laurentidesjenmange/produit/erabliere-caseal/confits-d%2526%252339%253Boignons-a-l%2526%252339%253Berable/1514/"
user-agent
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
x-php-ob-level
"1"

Request Content

Request content not available (it was retrieved as a resource).

Response

Response Headers

Header Value
cache-control
"no-cache, private"
content-type
"text/html; charset=UTF-8"
date
"Mon, 12 Jan 2026 13:21:52 GMT"
location
"/groupe/Laurentidesjenmange/produit/erabliere-caseal/confits-d%2526%252339%253Boignons-a-l%2526%252339%253Berable/1514/"
x-debug-token
"247cfd"

Cookies

Request Cookies

Key Value
PHPSESSID
"gd31cese323k4j24vkge487m9g"
sf_redirect
"{"token":"0e28d5","route":"viewProductInAssociation","method":"GET","controller":{"class":"App\\Controller\\ProductController","method":"viewProductInAssociation","file":"\/var\/www\/html\/Markego\/src\/Controller\/ProductController.php","line":587},"status_code":307,"status_text":"Temporary Redirect"}"

Response Cookies

No response cookies

Session

Session Metadata

Key Value
Created
"Mon, 12 Jan 26 08:21:37 -0500"
Last used
"Mon, 12 Jan 26 08:21:51 -0500"
Lifetime
"31536000"

Session Attributes

Attribute Value
cartId
17524359
favorites
Doctrine\Common\Collections\ArrayCollection {#236
  -elements: []
}
showThisAssociationIdOnly-customBrowsing
2

Flashes

Flashes

Key Value
error
[
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
  "The product you tried to see is not allowed in Laurentides J'en Mange"
]

Server Parameters

Server Parameters

Defined in .env

Key Value
ADMIN_TO_SEND_ADDRESS
"maxime@maturin.ca"
APP_DEBUG
"1"
APP_ENV
"dev"
APP_SECRET
"ece17b137845c6af87737a7b429bf83e"
DATABASE_URL
"mysql://dev:adf98hj248r7hdasfSDF23r@127.0.0.1:3306/omelodev"
DEV_TO_MAIL_ADDRESS
"maxime@maturin.ca"
ELASTICSEARCH_HOST
"127.0.0.1"
ELASTICSEARCH_PORT
"9200"
ENABLE_TWIG_CACHE
"true"
MAILER_FROM
"reply-message@maturin.ca"
MAILER_URL
"smtp://mail.maturin.ca:587?encryption=&auth_mode=&username=maxime@maturin.ca&password=y3TE3dK7"
SOLEXIS_API_HOST
"https://maturin-dev.solutionextreme.com/api/"
SOLEXIS_NEW_API_HOST
"https://maturin-dev.solutionextreme.com/api/"
STRIPE_API_KEY
"sk_test_cLLpvDdtubdfD3HTPOK3uEoC"
STRIPE_API_PKEY
"pk_test_Hk3TQ3qfUi6YJ5ZTc2jdQB3X"

Defined as regular env variables

Key Value
CONTEXT_DOCUMENT_ROOT
"/var/www/html/Markego/public"
CONTEXT_PREFIX
""
DOCUMENT_ROOT
"/var/www/html/Markego/public"
GATEWAY_INTERFACE
"CGI/1.1"
HTTPS
"on"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_COOKIE
"sf_redirect=%7B%22token%22%3A%220e28d5%22%2C%22route%22%3A%22viewProductInAssociation%22%2C%22method%22%3A%22GET%22%2C%22controller%22%3A%7B%22class%22%3A%22App%5C%5CController%5C%5CProductController%22%2C%22method%22%3A%22viewProductInAssociation%22%2C%22file%22%3A%22%5C%2Fvar%5C%2Fwww%5C%2Fhtml%5C%2FMarkego%5C%2Fsrc%5C%2FController%5C%2FProductController.php%22%2C%22line%22%3A587%7D%2C%22status_code%22%3A307%2C%22status_text%22%3A%22Temporary%20Redirect%22%7D; PHPSESSID=gd31cese323k4j24vkge487m9g"
HTTP_HOST
"staging.maturin.ca"
HTTP_REFERER
"https://staging.maturin.ca/groupe/Laurentidesjenmange/produit/erabliere-caseal/confits-d%2526%252339%253Boignons-a-l%2526%252339%253Berable/1514/"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
PHP_SELF
"/index.php"
QUERY_STRING
"url=produit/erabliere-caseal/confits-d%26%2339%3Boignons-a-l%26%2339%3Berable/1514/&url=produit%2Ferabliere-caseal%2Fconfits-d%26%2339%3Boignons-a-l%26%2339%3Berable%2F1514"
REDIRECT_HTTPS
"on"
REDIRECT_QUERY_STRING
"url=produit/erabliere-caseal/confits-d%26%2339%3Boignons-a-l%26%2339%3Berable/1514/&url=produit%2Ferabliere-caseal%2Fconfits-d%26%2339%3Boignons-a-l%26%2339%3Berable%2F1514"
REDIRECT_SSL_TLS_SNI
"staging.maturin.ca"
REDIRECT_STATUS
"200"
REDIRECT_URL
"/produit/erabliere-caseal/confits-d%26%2339%3Boignons-a-l%26%2339%3Berable/1514/"
REMOTE_ADDR
"216.73.216.122"
REMOTE_PORT
"23753"
REQUEST_METHOD
"GET"
REQUEST_SCHEME
"https"
REQUEST_TIME
1768224111
REQUEST_TIME_FLOAT
1768224111.861
REQUEST_URI
"/produit/erabliere-caseal/confits-d%2526%252339%253Boignons-a-l%2526%252339%253Berable/1514/?url=produit%2Ferabliere-caseal%2Fconfits-d%26%2339%3Boignons-a-l%26%2339%3Berable%2F1514"
SCRIPT_FILENAME
"/var/www/html/Markego/public/index.php"
SCRIPT_NAME
"/index.php"
SERVER_ADDR
"51.79.50.9"
SERVER_ADMIN
"webmaster@localhost"
SERVER_NAME
"staging.maturin.ca"
SERVER_PORT
"443"
SERVER_PROTOCOL
"HTTP/1.1"
SERVER_SIGNATURE
"<address>Apache/2.4.41 (Ubuntu) Server at staging.maturin.ca Port 443</address>\n"
SERVER_SOFTWARE
"Apache/2.4.41 (Ubuntu)"
SSL_TLS_SNI
"staging.maturin.ca"
SYMFONY_DOTENV_VARS
"APP_ENV,APP_DEBUG,APP_SECRET,DATABASE_URL,MAILER_URL,MAILER_FROM,DEV_TO_MAIL_ADDRESS,ADMIN_TO_SEND_ADDRESS,ELASTICSEARCH_HOST,ELASTICSEARCH_PORT,STRIPE_API_KEY,STRIPE_API_PKEY,SOLEXIS_API_HOST,SOLEXIS_NEW_API_HOST,ENABLE_TWIG_CACHE"