회원가입 페이지에서 사용자 정의 필드를 숨기는 사이트 설정

최근에 이런 기능 요청을 본 것 같은데, 찾을 수가 없네요.

사용자 정의 필드가 많으면 로그인 모달이 지저분해집니다. 선택 필드가 10개이고 필수 필드가 2개라면, 필수 필드를 찾으려면 꽤 많이 스크롤해야 합니다. 정말 귀찮은 일이죠.

다음과 같은 CSS로 해당 필드를 숨길 수는 있습니다:

.create-account .user-fields .user-field {
    display: none;

    &:nth-of-type(4){
        display: block;
    }

}

어떤 nth-of-type을 사용해야 하는지 시행착오로 추측해야 해서 다소 번거롭지만, 제가 제안하는 것은 :bug: 이 CSS가 모달을 올바르게 보이게 하던 스타일이 가끔씩 변경된다는 점입니다. 최근 beta6에서 변경된 것으로 보입니다. 이는 제 클라이언트에게 슬픈 일이었습니다. 필수 필드가 보이지 않아 사람들이 가입할 수 없었거든요. 누군가 불만을 메일로 보내서야 알게 되었습니다.

문제 해결!

해당 필드에 CSS가 추가되어 더 이상 이런 문제가 발생하지 않습니다!

10개의 좋아요

커스텀 필드의 이름을 포함하는 클래스나 data 속성을 추가하는 것은 어렵지 않을 것 같습니다. 이렇게 하면 CSS로 해당 요소를 표적 지정할 때 훨씬 덜 취약해집니다. 아마도 앞으로 며칠 안에 처리할 수 있을 것 같습니다.

7개의 좋아요

간단히 살펴보니, 최근에 태그 그룹에 클래스를 추가하기 위해 제가 만든 다른 PR과 거의 동일합니다. 그래서 이 PR을 올립니다… 이들을 병합하기 전에 클래스 이름을 정제(sanitize)하는 헬퍼를 추가하는 것이 좋을까요?

9개의 좋아요

이 PR이 병합된 후 후속 조치를 하지 않았다는 것을 방금 깨달았습니다. 이제 가입 페이지의 모든 사용자 필드에 user-field-name 형태의 클래스가 적용됩니다. 예를 들어 "terms and conditions"라는 이름의 필드가 있다면, 해당 필드에는 user-field-terms-and-conditions 클래스가 부여됩니다.

또한, 아래 코드를 사용하여 가입 시 모든 사용자 정의 필드를 숨기는 단축 방법을 사용할 수도 있습니다.

.d-modal.create-account div[class*="user-field-"] {
    display: none;
}
7개의 좋아요

감사합니다! 일주일에서 두 주 전에 이 작업을 완료했습니다. 나머지 필드를 숨긴 후 일부 필드를 다시 표시하기 위한 CSS도 해당 목록에 추가해 주시면 좋겠습니다.

2개의 좋아요

이 문제를 해결하는 방법에 대한 폐쇄된 스레드입니다. CSS 솔루션도 포함되어 있습니다:

현재 사용자 정의 필드(Custom User Fields)의 옵션은 다음과 같습니다:

가입 후 수정 가능?
가입 시 필수?
공개 프로필에 표시?
사용자 카드에 표시?

다음과 같은 옵션이 추가되면 매우 유용할 것 같습니다:

가입 양식에 표시?
또는
가입 양식에서 숨기기?

기본적으로 사용자 정의 CSS 수정이 없으면 모든 사용자 정의 필드(선택 필드 포함)가 등록 양식에 표시됩니다. 이는 사용자 정의 필드의 수를 제한하는 요인이 됩니다. 필드가 너무 많으면 등록 양식이 복잡해져 신규 사용자에게 부담을 줄 수 있기 때문입니다.

11개의 좋아요

가입 시 사용자가 입력하기 부담스러운 정보를 요청하기 위해 여러 개의 사용자 정의 필드를 사용하는 경우가 있습니다. 예를 들어, 사용자의 주소, 우편번호, 머리색 등을 입력받길 원할 수 있지만, 가입 시에는 이름과 이메일 주소만 요청할 수 있습니다.

이제는 테마 구성 요소를 사용하여 모든 사용자 정의 필드를 숨기고, 필요한 필드만 표시하도록 설정할 수 있습니다. 사용자 정의 필드 설정 화면에 이를 위한 체크박스가 있다면 좋겠습니다.

10개의 좋아요

이것은 정말 훌륭한 기능이 될 것입니다.

또한, 가입자와 초대받은 사용자를 구분할 수 있으면 특히 도움이 될 것입니다. 예를 들어, 특정 필드가 둘 다에게 필수이거나 가입자에게만 필수인 경우 말입니다.

예를 들어, 우리는 지원자의 적격성과 그룹 배정을 판단하기 위해 "가입 사유"를 요청합니다. 하지만 초대 링크를 통해 도착한 사용자에게는 이 정보가 중복되므로, 필수 필드인 경우 숨길 수 없으며, 숨기면 해당 사용자의 가입이 오류로 이어집니다.

3개의 좋아요

안녕하세요,

제 사이트에는 가입 시 꼭 필요하지 않은 사용자 필드가 몇 가지 있습니다. 예를 들어 소셜 미디어 정보 같은 것이죠.

가입 시에는 해당 필드를 숨기고, 사용자 프로필을 수정할 때만 보이도록 하는 “가입 시 표시 안 함” 옵션을 추가하면 좋겠다고 생각합니다.

6개의 좋아요

이미 CSS를 통해 이 기능을 구현할 수 있습니다:

네, 이것이 명시적인 옵션으로 제공되면 정말 좋겠습니다! 몇 번이나 요청이 들어왔습니다.

이 주제와 관련된 모든 Contribute > Feature 토픽을 이 토픽에 통합했습니다.

4개의 좋아요

이 주제에서도 일부 관심을 끌었습니다:

11개의 좋아요

회원가입 모달에서 무언가 변경되어 이 CSS가 더 이상 작동하지 않는 걸까요?

@pfaffman 님의 첫 번째 게시물에 있는 코드로도, @awesomerobot 님의 코드로도 회원가입 페이지의 사용자 정의 필드를 숨길 수 없습니다:

CSS는 테마 > 공통 > CSS에 적용하고 있습니다.

2개의 좋아요

Discourse의 다른 곳에 더 구체적인 CSS가 추가되어 display:none이 오버라이드되고 있는 것 같습니다.

.d-modal.create-account .user-field {
  display: flex;
}

:point_up: 부분을 빠르게 확인해서 이렇게 구체적으로 지정해야 하는지 살펴보겠습니다. 하지만 그 동안에는 이 :point_down: 업데이트가 작동해야 합니다:

.d-modal.create-account div[class*="user-field-"] {
  display: none;
}
2개의 좋아요

확인했습니다. 이 방법으로 전부 완벽하게 숨겨졌어요!

Kris @awesomerobot, 정말 감사합니다 :smiley:

1개의 좋아요

가입 양식에서 사용자 필드를 숨기는 설정이 추가되었습니다:

3개의 좋아요

이 주제는 마지막 답변 후 3일이 지나면 자동으로 닫힙니다. 더 이상 새 답변을 남길 수 없습니다.