每当我尝试使用l()
函数通过url传递变量时:
l(t($row['salon_name']),'admin/content/edit-salons-products-services?sid='.$row[salon_id] );
?被“%3F”取代
=替换为“%3D”
为什么会发生这种情况,我该如何解决?
答案 0 :(得分:1)
将其更改为:'admin/content/edit-salons-products-services/.$row[salon_id]'
。
您可以使用arg(3)
访问沙龙ID。
您可能还需要更改模块的菜单声明以允许此URL。
答案 1 :(得分:1)
正如Finbarr所说,将变量作为路径组件而不是查询参数传递通常会更好,但是l()仍然可以使用查询参数。
查询参数在$ options参数的基础$ path之外传递到l()。这使得以编程方式更改查询值更容易,而无需解析字符串。你想要的是这样的:
l(t($row['salon_name']),'admin/content/edit-salons-products-services', array('query' => array('side' => $row['salon_id'])));