Drupal 7 使用Drupal 7创建我的自定义登录块

Drupal 7 使用Drupal 7创建我的自定义登录块,drupal-7,Drupal 7,我正在学习Drupal 7,我想从一些基础开始。所以基本上,我想创建一个登录块,它将接受emal地址和密码作为输入 如果登录成功,我想显示一个特定于用户的菜单 我正在使用bartik模板 因此,我的想法是创建一个名为“login_region”的区域和另一个名为“menus_region”的区域来处理登录表单(login_region)和菜单(menus_region)的显示 但我需要一些关于“清理”过程的详细指示,以创建登录表单,处理此表单“成功时:显示用户菜单”,“失败时,构建重试器”,检查

我正在学习Drupal 7,我想从一些基础开始。所以基本上,我想创建一个登录块,它将接受emal地址和密码作为输入

如果登录成功,我想显示一个特定于用户的菜单

我正在使用bartik模板

因此,我的想法是创建一个名为“login_region”的区域和另一个名为“menus_region”的区域来处理登录表单(login_region)和菜单(menus_region)的显示

但我需要一些关于“清理”过程的详细指示,以创建登录表单,处理此表单“成功时:显示用户菜单”,“失败时,构建重试器”,检查电子邮件地址的唯一性等


我是一名php编程人员,因此我可以轻松地用php进行编程,但我想用“drupal 7”的方式进行编程。

您可以从块管理器页面
admin/structure/block
中查看drupal的登录块。您将找到一个名为
User login
的块,将其放置到您喜欢的区域中

如果你想要进入Drupal挂钩,你需要学习。然后你需要使用一些钩子来获得你需要的东西。和

您的代码应该类似于:

/**
 * Implementation of hook_block_info()
 */
function myfirstmodule_block_info()
{
    $blocks = array();
    $blocks['blk1'] = array(
        'info'          => t("My Login Block"),
    );
    return $blocks;
}

/**
 * Implementation of hook_block_view()
 */
function myfirstmodule_block_view($delta = "")
{
    $block = array();

    switch($delta)
    {
        case "blk1":
            $loginForm = drupal_get_form("user_login");
            $block['subject'] = t("");
            $block['content'] = drupal_render($loginForm);
    }

    return $block;
}

您可以从块管理器页面
admin/structure/block
中查看Drupal的登录块。您将找到一个名为
User login
的块,将其放置到您喜欢的区域中

如果你想要进入Drupal挂钩,你需要学习。然后你需要使用一些钩子来获得你需要的东西。和

您的代码应该类似于:

/**
 * Implementation of hook_block_info()
 */
function myfirstmodule_block_info()
{
    $blocks = array();
    $blocks['blk1'] = array(
        'info'          => t("My Login Block"),
    );
    return $blocks;
}

/**
 * Implementation of hook_block_view()
 */
function myfirstmodule_block_view($delta = "")
{
    $block = array();

    switch($delta)
    {
        case "blk1":
            $loginForm = drupal_get_form("user_login");
            $block['subject'] = t("");
            $block['content'] = drupal_render($loginForm);
    }

    return $block;
}