当用户登录Drupal时,登录块将从我的页面中消失。
我希望将其保留在那里,并显示一条消息,指出用户已登录。
这样的东西(带注销链接):“欢迎帕特里克。退出”
感谢
答案 0 :(得分:0)
登录块由user_block()函数的后续代码创建。
if (!$user->uid && !(arg(0) == 'user' && !is_numeric(arg(1)))) {
$block['subject'] = t('User login');
$block['content'] = drupal_get_form('user_login_block');
}
如果您已登录,则无法显示消息。
一个简单的方法就是创建一个在hook_block中实现上述代码的模块,并且有一个显示你想要的elese语句。
答案 1 :(得分:0)
解决问题的一种快捷方法是使用您想要的任何内容创建一个新块,并且仅在用户登录时显示它。如果您安排了放置和样式,它将看起来像同一个块,即使它们不同。
您可以使用自定义模块或视图创建新块。
答案 2 :(得分:0)
登录表单不适用于未登录的用户。
最简单的方法是创建一个新块(admin»build»blocks»new(tab)) 然后将该块设置为仅显示角色“已验证”。这样,该块将与用户登录块完全相反,用户登录块仅显示角色:匿名。
您可以在其中添加任何自定义文本,只要它是静态文本即可。如果你想要包含动态文本,例如“Hello $ username,你将不得不寻找Jeremy French的提示:用自己的hook_block创建一个模块。