在 DRUPAL 中通过 url 传递变量
每当我尝试使用 l()
函数通过 url 传递变量时,例如
l(t($row['salon_name']),'admin/content/edit-salons-products-services?sid='.$row[salon_id] );
:被替换为“%3F”
= 被替换为“%3D”
为什么会发生这种情况以及如何修复它?
Whenever I try to pass a variable through url with the l()
function like:
l(t($row['salon_name']),'admin/content/edit-salons-products-services?sid='.$row[salon_id] );
? is replaced by "%3F"
= is replaced by "%3D"
Why is this happening and how can I fix it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将其更改为:
'admin/content/edit-salons-products-services/.$row[salon_id]'
。您可以使用 arg(3) 访问沙龙 ID。
您可能还需要更改模块的菜单声明以允许此 URL。
Change it to:
'admin/content/edit-salons-products-services/.$row[salon_id]'
.You can access the salon id with
arg(3)
.You may also need to change your module's menu declaration to allow this URL.
正如 Finbarr 所说,通常最好将变量作为路径组件传递,而不是查询参数,但查询参数仍然可以使用 l()。
查询参数被传递到 $options 参数中基本 $path 之外的 l() 中。这使得以编程方式更改查询值变得更容易,而无需解析字符串。你想要的是这样的:
As Finbarr said, it's often better to pass variables as path components, rather than query parameters, but query parameters are still possible with l().
Query parameters are passed into l() outside the base $path, in the $options parameter. This makes it easier to programmatically alter query values, without needing to parse a string. What you want is something like this: