it-swarm-ko.tech

익명 사용자에게는 '사용자 계정'메뉴 링크가 표시되지 않습니다

사용자가 사용자 메뉴에 로그인하면 '내 계정'링크와 '로그 아웃'링크가 표시됩니다. 그러나 로그 아웃하면 메뉴가 사라집니다.

사용자 메뉴에 익명 사용자에게만 표시되는 사용자 로그인 페이지에 메뉴 링크를 만들려면 어떻게합니까?


Trey가 자신의 의견을 답변으로 올렸다면 확인했을 것입니다. 컨텍스트를 사용하기 때문에 블록 모듈을 비활성화했습니다. 익명 사용자 역할에 의해 트리거되는 두 번째 사이트 전체 컨텍스트를 작성하고 사용자 영역에 로그인 페이지 링크가있는 메뉴 블록을 배치했습니다. 효과가있다.

나는 여전히 이것이 코드에서 성취되고 싶다고 생각합니다. 전처리 기능을 통해 변수에 액세스하려고 시도했지만 메뉴 링크는 이미 그 시점에 렌더링되었습니다.

2
Adam S

그것은 기능입니다. 익명의 사용자는 계정이 없거나 로그 아웃 할 수 없습니다. 왜이 페이지들에 대한 링크가 있어야합니까?

지금 어떻게 작동하는지 설명하는 대신 실제로 원하는 것을 더 잘 설명하기 위해 질문을 업데이트 할 수 있습니다. :)

편집 : 로그인 페이지에 링크하려면/user/login을 가리키는 메뉴 항목을 만드십시오./user/logout과 마찬가지로이 링크는 can 로그인 한 경우에만 표시됩니다 (이미 로그인하지 않은 경우).

7
Berdir

logintoboggan 모듈을 확인하십시오. 예상대로 더 많이 작동하는 로그인 블록을 제공합니다.

또는 블록으로 이동하여 새 블록을 만들고 다음 코드를 블록 본문으로 사용하십시오.

<a href="/user">Sign In</a>

다음 PHP 코드를 사용하여 블록 가시성을 결정하십시오.

<?php global $user; return($user->uid == 0); ?> 
1
Trey

사용자가 로그인하지 않은 경우 로그인 링크가 나타납니다. http://drupal.org 로 이동하여 로그인하지 않으면 로그인 링크가 표시됩니다. 로그인하면 로그인 링크가 로그 아웃 링크로 바뀝니다.

실제로 다음 정의는 "사용자/로그인"및 "사용자/로그 아웃"메뉴 콜백에 사용됩니다.

  $items['user/login'] = array(
    'title' => 'Log in', 
    'access callback' => 'user_is_anonymous', 
    'type' => MENU_DEFAULT_LOCAL_TASK,
  );

  $items['user/logout'] = array(
    'title' => 'Log out', 
    'access callback' => 'user_is_logged_in', 
    'page callback' => 'user_logout', 
    'weight' => 10, 
    'menu_name' => 'user-menu', 
    'file' => 'user.pages.inc',
  );

사용자가 로그인하면 첫 번째 메뉴 콜백이 표시되지 않습니다. 사용자가 로그인하지 않으면 두 번째 메뉴 콜백이 표시되지 않습니다.

비슷한 정의가 Drupal 6 :

  $items['user/login'] = array(
    'title' => 'Log in', 
    'access callback' => 'user_is_anonymous', 
    'type' => MENU_DEFAULT_LOCAL_TASK,
  );

  $items['logout'] = array(
    'title' => 'Log out', 
    'access callback' => 'user_is_logged_in', 
    'page callback' => 'user_logout', 
    'weight' => 10, 
    'file' => 'user.pages.inc',
  );

두 경우 모두, 액세스 콜백이 TRUE를 반환 할 때만 사용자가 링크에 액세스 할 수 있습니다. 액세스 콜백이 FALSE을 반환하면 사용자에게 링크가 표시되지 않습니다.

0
kiamlaluno

Bartik 테마를 사용하여 Drupal 7) 에서이 작업을 수행하려는 경우 그렇게 복잡하지 않습니다.

사용자 메뉴 항목을 작성하고 로그인이라고합니다. 링크, 사용자/로그인을 제공하십시오. 익명 사용자에게는 자동으로 표시되고 로그인 한 사용자에게는 사라집니다.

이 문제가 발생하면 관리자/보고서/상태 페이지에서 권한을 다시 작성해야합니다.

0
Louis