Передача переменных через URL в DRUPAL - PullRequest
1 голос
/ 08 июня 2011

Всякий раз, когда я пытаюсь передать переменную через URL с помощью функции l(), например:

l(t($row['salon_name']),'admin/content/edit-salons-products-services?sid='.$row[salon_id] );

? заменяется на "% 3F"

= заменяется на "% 3D"

Почему это происходит и как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 08 июня 2011

Как сказал Финбарр, часто лучше передавать переменные как компоненты пути, а не параметры запроса, но параметры запроса все еще возможны с помощью l ().

Параметры запроса передаются в l () вне базы$ path, в параметре $ options.Это облегчает программное изменение значений запроса без необходимости разбора строки.То, что вы хотите, это что-то вроде этого:

l(t($row['salon_name']),'admin/content/edit-salons-products-services', array('query' => array('side' => $row['salon_id'])));
1 голос
/ 08 июня 2011

Измените его на: 'admin/content/edit-salons-products-services/.$row[salon_id]'.

Вы можете получить идентификатор салона с помощью arg(3).

Вам также может понадобиться изменить объявление меню вашего модуля, чтобы разрешить этот URL.

...