首页 > 解决方案 > Magento 2 提交联系表格未显示成功/错误消息

问题描述

我在一个拥有多家商店的网站上使用 Magento 2.4.2:

我的问题是当有人在联系表单上提交时,没有显示成功或错误消息,并且应该包含它的 div 是空的(不是 css 问题)。

每个商店都很好地显示了其他消息,例如添加到购物车成功或捆绑选择选项。

我试图调试它,我发现了一些带有 cookie 的东西:

第一次访问 example.com/fr/contact 时,我将使用没有值的 cookie“mage_messages”,将“example.com”作为域,将“/fr”作为路径。提交时,将创建一个新的 cookie“mage_messages”,成功消息编码为值,“example.com”为域,“/”为路径。第一个cookie“mage_messages”与提交前相同

我试图用路径'/ fr'强制设置cookie中的编码值,刷新后出现消息。

似乎 Magento 正在设置一个路径错误的 cookie,这会导致创建一个具有所需值的新 cookie。

当错误出现时,“cookie 路径”配置为空。我试图将其设置为 '/' 或 '/fr' 但它没有效果所以我让它为空。

你能帮我看看发生了什么吗?

标签: phpcookiesmagento2messagecontact-form

解决方案


如果其他人有这个问题,我在发布问题几个月后终于找到了解决方案(这是我的另一个帐户)。

我的解决方案:

问题出在子域上subdomain.domain.com,问题是由子域的 cookie 配置引起的。

在 Store > Configuration > Web > Default Cookie Settings 中:

  • 将 Cookie 路径设置为/
  • 将 Cookie 域设置为subdomain.domain.com

然后清除缓存php bin/magento cache:flush并在未显示消息的页面上继续,清除浏览器中的cookie并刷新。

它应该被纠正。


推荐阅读