2010-03-22 3 views
5

익명 사용자가보기 위해 등록해야하는 양식을 만들려면 어떻게해야합니까?익명 사용자가 콘텐츠 형식을 추가하려면 등록해야합니다.

지금은 모든 사용자가 사용할 수있는 기본 링크 인 콘텐츠 유형 (제출 계획)을 만들었습니다 (익명 + 인증). 익명 사용자에 대한 '보기'사용자 권한을 제한했지만 '제목'입력을 볼 수 있습니다 (나는 원하지 않습니다).

익명의 사용자가 기본 링크 (제출 계획 콘텐츠 형식) '플랜 추가'를 클릭하면 페이지로 이동 말한다 그래서 나는 그것을 싶습니다

  • "당신은해야합니다 계정을 등록하십시오 "또는
  • 계획서를 제출하려면 등록 페이지로 리디렉션하십시오.

모듈이나 사용하려는 코드를 검색해 왔지만이 주제에 대해 간략하게 설명했습니다. 어떤 도움을 주시면 감사하겠습니다. 감사!

답변

1

사용자를 등록 페이지로 리디렉션하려는 경우, 등록> 노드 작성 프로세스를 원활하게하기 위해 logintoboggan과 같은 것을 사용하는 것이 좋습니다. 그렇지 않은 경우 등록은 여러 단계로 진행되며 사용자가 프로세스에서 계획 추가 양식으로 쉽게 돌아갈 수 없다고 생각합니다.

"링크 표시 또는 양식 표시"방향에 대해서는 다음 두 가지 방법으로 접근 할 수 있습니다. 1) add_plan 양식을 가져 오거나 링크를 표시하는 사용자 정의 페이지를 만듭니다. 2) themeing 또는 fapi (forms api)를 통해 노드/추가/계획 페이지 자체를 수정합니다.

, 나는 아마 방법의 한쪽으로 기울어 것입니다.

업데이트 : 방금 계획 한 양식을 등록 양식에 추가하여 한 번에 채울 수 있습니다.나는 일반적으로 그렇게하는 방법을 모르지만, node profile은 단지 하나의 계획을 세우려한다면 잘 될 것이고, 그렇지 않다면 어떻게 조합 할 것인지 볼 수 있습니다.

1

이것은 몇 가지 방법으로 수행 할 수 있습니다.

, 메뉴 출력에,이 같은 계획을 제출 링크를 변경할 수 있습니다

<?php 
    global $user; 

    if ($user->uid == 0) { 
    print '<a href="/user/register">Add a Plan</a>'; 
    } else { 
    print '<a href="/node/add/submit-plan">Add a Plan</a>'l; 
    } 
?> 

위의 코드는 사용자 객체가 UID가 있는지 보인다. 0은 익명이므로 등록을 위해 링크를 보내는 인쇄합니다. 그렇지 않은 경우 노드는 제출 계획 컨텐츠 유형에 대한 노드 추가 양식으로 이동합니다. 이것은 또한 자신의 메뉴 출력을 제어한다고 가정합니다. 테마 함수를 사용하여 유사한 방식으로 재정의 할 수도 있습니다.

당신이 이것을 할 수있는 몇 가지 방법이 있습니다. 거기서 시작하고 저의 생각을 알려주십시오.

+0

어리석은 것 같지만 메뉴 출력을 어떻게 편집합니까? 관리자 계정에있어 제어 권한이 있다고 가정합니다. – Chetan

+0

몇 가지 방법이 있습니다. 이것을 시도해 볼 수 있습니다 : http://api.drupal.org/api/function/theme_menu_item_link 당신의 주제에서 그것을 덮어 쓰고 위의 코드를 적용하여 작업하십시오. 예를 들어, print -html- 대신에 $ link [ 'href'] = '/ user/register'또는 $ link [ 'href'] = '/ node/add/submit-plan' in. – Kevin

+0

워크 플로의 나머지 부분이 무엇인지 분명히하고 사용자가 자동으로 만들 수 없다면이 방법을 사용하지 않을 것입니다. 예를 들어 메시징 조정, 이메일 확인 후 자동 로그인으로 계획 작성 페이지로 이동 등). 또한 익명 사용자는 등록 할 필요가 없을 수도 있습니다. 로그인해야 할 수도 있습니다. – sprugman

관련 문제