drupal 7上的hook_menu无法使用url_encoded字符串作为参数

时间:2014-01-19 10:06:28

标签: drupal drupal-7 drupal-routes

Drupal 7

function custom_menu() {
    $items['node_update/%nid/%pic/%name'] = array (
        'title' => 'Redirecting to your profile page',
        'page callback' => custom_node_update,
        'page arguments' => array(3,4,5),
        'access callback' => TRUE,
        'type' => MENU_CALLBACK,
    );    
    return $items;
}

当我使用http://myserver.com/node_update/51/sites%2fdefault%2fimages/picture.jpg/admin

所以当我使用%2f hook_menu时仍然会将其视为正斜杠'/',因此它有点被认为是http://myserver.com/node_update/51/sites/default/images/picture.jpg/admin,这当然超出了我正在监听hook_menu的参数。

任何人都可以提供帮助。如何使用url_encoded string作为参数。

1 个答案:

答案 0 :(得分:0)

您的page arguments设置不正确。尝试将其更改为:

'page arguments' => array(1, 2, 3),

然后刷新网站缓存并重试。