我一直在研究模块并且很清楚 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);
当我启用语言环境模块以使 Web 成为多语言时,URL 以前缀作为语言符号进行分类。例子:
en/webtv/block/%/playlist/edit/%
或者
nl/webtv/block/%/playlist/edit/%
这件事将参数的逻辑位置移到了右边,现在参数的正确位置(根据示例)是:
$second_arg = arg(3);
$fifth_arg = arg(6);
如何设置独立于此类参数放置问题的模块?