안녕하세요,
처음 가입하는 사용자(가입 프로세스를 통해든, 초대장을 수락하든(이동할 토픽이 설정되어 있지 않은 경우 포함))이 지정된 카테고리로 이동하고, 게시글 작성 창이 자동으로 열리도록 하는 방법이 있을까요?
이렇게 하면 신규 사용자의 자기소개 글 작성 장벽을 낮추고 커뮤니티 참여도를 높일 수 있을 것입니다.
이를 어떻게 구현할 수 있을까요? 이미 여러 개의 초대 링크를 생성해 두었는데, 모든 링크의 이동할 토픽 설정을 변경하는 것은 현실적으로 어렵습니다(그리고 그렇게 하더라도 게시글 작성 창이 자동으로 열리지 않거든요).
감사합니다!
Discourse에는 신규 사용자(가입 또는 초대)를 특정 카테고리로 자동으로 보내고 작성 창을 자동으로 여는 내장 기능이 없습니다.
대안:
- 사용자들을 소개 영역으로 유도하기 위해 다음 항목에 작성 링크를 포함할 수 있습니다:
Creating a link to start a new topic with pre-filled information 를 참조하세요.
또는:
- Custom Wizard 플러그인을 사용하여 온보딩 마법사를 완료할 때 새 사용자가 선택한 카테고리의 작성 창으로 리디렉션되도록 구성할 수 있습니다.
테마 컴포넌트에서 아래 코드를 오버라이드하여 사용자를 리다이렉트하는 것이 가능한지 궁금합니다:
다만, 컴포저를 자동으로 여는 것은 더 어려울 수 있습니다.
Ethsim2
(Ethan )
5
컴포저 자체를 여는 것은 어려운 부분이 아닙니다. Discourse에는 이를 위한 1급 엔트리 포인트가 이미 제공되고 있습니다.
쿼리 매개변수를 사용하여 사용자를 /new-topic 엔드포인트로 리다이렉트할 수 있습니다. 예를 들어:
https://discourse.com/new-topic?
title=Shared%20from%20iOS
&category_id=19
&body=https%3A%2F%2Fexample.com
이렇게 하면 post[...] 대신 간단한 쿼리 매개변수를 사용하여 제목, 카테고리, 본문 필드가 미리 채워진 새 주제 컴포저가 열립니다.
따라서 플로우는 다음과 같습니다:
- 가입 또는 초대 수락 후 리다이렉트
/new-topic?...에 도달
- 원하는 카테고리와 콘텐츠가 포함된 컴포저가 즉시 열림
이것은 iOS 공유 및 기타 통합에서 사용되는 것과 동일한 메커니즘이므로 이미 지원되고 안정적입니다.
남은 문제는 컴포저를 자동으로 열 수 있는지 여부가 아니라, 리다이렉트를 어디에 연결할 것이 가장 좋은지(초대 수락 시 vs 첫 로그인 시)입니다.
그 점은 알고 있지만, OP가 토픽 작성기가 아니라 답글 작성기를 열려고 했을 가능성을 배제하지는 않았습니다. 그래서 제가 기억하기로는 해당 창을 여는 메서드가 있는 composer 서비스를 제안한 것입니다.
이 가능하다면, localstorage 항목을 통해 작성기 열림을 신호로 보낼 수 있을지도 모르겠네요. 음…
Ethsim2
(Ethan )
7
네 - 이를 테마 컴포넌트로 깔끔하게 구현할 수 있습니다.
예를 들어, 다음을 참고하세요:
접근 방식은 다음과 같습니다:
- 활성화 또는 초대 수락 후 리디렉션
- 원샷 신호 설정 (예:
localStorage를 통해)
- 테마 컴포넌트 내 JS api-initializer가 해당 신호를 읽음
- composer 서비스를 통해 composer 열기
- 플래그를 정리하여 한 번만 실행되도록 함
이 방법은 코어 템플릿을 오버라이드하지 않고, 업그레이드 시에도 안전하며 프론트엔드에만 영향을 미치는 솔루션을 유지할 수 있습니다.