问题描述
我有一个条件,必须通过邮件中收到的链接来验证用户。我在要附加url的url中有一些url_encode ed数据
实际网址是链接
mysite.net/register/api/login?returnTo=/register/verify-my-email?key=AC26HBASJDHBJHABSDJH683746F7BE3C3B816DB8ABD1FE1B8&value=NXJWL3H8LDSHBFJSDHBFJSHD876816YP9P9KJZO2B
我希望对returnTo部分进行url_encode编码,以便首先使用户登录。我尝试在电子邮件模板树枝中使用它
{% set siteUrl = 'mysite.net' %}
{% set returnToPath = '/register/verify-my-email'|url_encode %}
{% set verifyMyEmailUrl = siteUrl ~ "/register/api/login?returnTo=" ~ returnToPath ~ "?" ~ {
'key': script.TOKEN_KEY,'value': script.TOKEN_VALUE,'lang': script.PREFERRED_LANG,}|url_encode %}
mysite.net/register/api/%252Fregistration%252Fverify-my-email%253Fkey=AC26HBASJDHBJHABSDJH683746F7BE3C3B816DB8ABD1FE1B8
register / api / login不能被register / verify-my-email正确替换,并且以后的url_encode ed参数也不能正确附加
我希望登录后的网址如下所示
mysite.net/register/verify-my-email?key=AC26HBASJDHBJHABSDJH683746F7BE3C3B816DB8ABD1FE1B8&value=NXJWL3H8LDSHBFJSDHBFJSHD876816YP9P9KJ71O2BQFKZUAIKTFMV2L3S&lang=>
当我是树枝和电子邮件模板设计的新手时,有人可以帮助我吗?
解决方法
以下解决方案解决了这个问题
{% set siteUrl = 'mysite.net' %}
{% set registerVerifyEmailRedirectUrl = '/register/verify-my-email?' ~ {
key: scriptData.TOKEN_KEY,value: scriptData.TOKEN_VALUE,lng: scriptData.PREFERRED_LANG,}|url_encode %}
{% set encodedVerifyMyEmailUrl = siteUrl ~ "/register/api/login?returnTo=" ~ registerVerifyEmailRedirectUrl|url_encode %}