Я работал над модулем и хорошо знал hook_menu для передачи аргументов URL для обратного вызова. Например:
$items['webtv/block/%/playlist/edit/%'] = array(
...
'page callback' => 'drupal_get_form',
'page arguments' => array('webtv_playlist_form', 5, 2),
...
);
и обратный вызов как
function webtv_playlist_form($form_state, $fifth_arg, $second_arg){
...
}
Помимо этой функции arg() есть еще одна утилита для получения аргументов URL по их позициям.
$second_arg = arg(2);
$fifth_arg = arg(5);
Когда я включаю модуль локали, чтобы сделать сеть многоязычной, URL-адреса классифицируются с префиксом как символ языка. Пример:
en/webtv/block/%/playlist/edit/%
OR
nl/webtv/block/%/playlist/edit/%
Эта штука смещает логическое размещение аргументов вправо, теперь правильное размещение аргументов (согласно примеру):
$second_arg = arg(3);
$fifth_arg = arg(6);
Как настроить модуль независимо от таких проблем с размещением аргументов?