【问题标题】:Setting a global currency dropdown设置全球货币下拉菜单
【发布时间】:2020-05-30 08:59:22
【问题描述】:

我想设置一个下拉列表,列出我网站所有页面上的一些货币(Symfony 4.4)。 然后,此下拉列表中设置的值将用于将价格调整/转换为用户喜欢的货币。 我一直在玩一些会话参数,但并不令人满意。我觉得我需要挂钩事件,但我不确定应该使用哪个事件。 我在想这样的事情

-- Request --
-- Event catcher --
  If (currency not set in the session) then set currency to default (e.g. USD or EUR), I will probably base this on the user's locale
-- Send reply --

棘手的一点是更改货币。我想我需要设置一个路由来更改会话参数并重定向到当前路由。

我还考虑在路线中添加货币(这将是我最喜欢的选项),但我已经有一个语言前缀 (_locale),我不确定如何应用多个前缀... 感谢您的任何帮助或指导

【问题讨论】:

  • 当您说“用户”时,您实际上是指用户还是会话?如果是后者,你可以从字面上看一下 symfony 是如何处理语言环境的,因为它实际上是同一个概念。 Symfony 使用事件侦听器,您当然可以在会话中设置它而不是(或附加到)路由器上下文以使其具有粘性
  • 这里的用户是使用该应用程序的任何人。确实有一些专门的文档here。还提到我们应该避免在不必要的时候创建会话,所以我将进一步探索路由选项。归根结底,它是关于使它与我的 LanguageListener 一起工作并处理路由的多个前缀。

标签: symfony session routes symfony4


【解决方案1】:

对于那些感兴趣的人,我最终创建了一个表单,我通过一个单独的渲染查询调用它,其中包含新的货币值和指向当前页面的重定向路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多