【问题标题】:Drupal 7: Alias user account edit pageDrupal 7:别名用户帐户编辑页面
【发布时间】:2014-05-14 02:53:42
【问题描述】:

我觉得这应该很简单,但我很难做到。

我想通过 Drupal 的菜单系统设置一个菜单项(通过界面,而不是在一个模块中)。我只是希望此菜单项直接转到 user/[uid]/edit 但我希望路径显示为我的帐户

我曾尝试使用 hook_url_outbound_alter 和 inbound_alter 重写我的帐户路径,但是当我尝试设置菜单项时,Drupal 将菜单项的路径重写为 /user/1/edit(因为我是设置菜单时以管理员用户身份登录)。

我该怎么做?

【问题讨论】:

标签: drupal-7


【解决方案1】:

我希望有一个不需要自定义模块的解决方案,但这就是我最终要做的:

function user_edit_menu() {
    global $user;
    print_r($user);
    $items['my-account'] = array(
        'page callback' => '_user_edit_page_callback',
        'access callback' => '_user_edit_access_callback',
        'file' => 'user.pages.inc',
        'file path' => drupal_get_path('module', 'user')
    );

    return $items;
}

function _user_edit_page_callback() {
    global $user;
    return drupal_get_form('user_profile_form', $user);
}

function _user_edit_access_callback() {
    global $user;

    return user_edit_access($user);
}

现在我可以将我的菜单项指向我的帐户并获取用户编辑表单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    相关资源
    最近更新 更多