그룹 사용자 목록에 새 열 추가

그룹의 사용자 목록에 추가 열을 추가할 수 있을까요? 현재 기능 추가를 시도하고 있는 플러그인이 있는데, 그룹의 사용자 목록에 사용자가 활성(Active), 정지(Suspended), 말소(Silenced), 비활성화(Deactivated) 상태인지 여부를 표시하는 열을 추가하는 것입니다. 이 작업을 위해 group-index Handlebars 템플릿과 group-index 컨트롤러를 대상으로 해야 할 것 같지만, 플러그인 아웃렛이 없어서 새 열을 추가하는 올바른 방법이 무엇인지, 그리고 그것이 가능한지 궁금합니다. 저는 Discourse 개발에 익숙하지 않아서 놓치고 있는 부분이 있을 수 있지만, 어떤 팁이라도 정말 감사히 받을 것입니다. 다음 개발 가이드를 읽어 보았는데 훌륭한 자료들이지만, 현재 막혀 있습니다.

안녕하세요, meta에 오신 것을 환영합니다 :wave:

group-index-table-header-after-username와 group-index-table-row-after-username 아웃렛을 사용하여 사용자 이름 열 옆에 헤더/행을 삽입할 수 있습니다.

예를 들어:

헤더에는 TableHeaderToggle 컴포넌트를 사용할 수 있습니다.
행에는 예를 들어 <div class="directory-table__cell directory-table__cell--status">{{this.args.member}}를 사용할 수 있으며, {{this.args.member}}를 통해 데이터에 접근할 수 있습니다.

새로운 열을 포함하도록 그리드 CSS를 수정해야 합니다.

.group-members--can-manage {
    grid-template-columns: 3fr repeat(5, minmax(min-content, 1fr)) 3em;
                                      ^
}

열을 이동하려는 경우, display: contents로 인해 위치 지정이 다소 까다로울 수 있습니다. 그러나 order를 사용하면 작동할 수 있습니다.

부연 설명으로, 사용자 상태를 가져오는 데 문제가 있을 수 있습니다. 제 테스트에서는 사용자가 정지(suspended)되거나 무음(silenced)된 경우(silencedTillDate 또는 suspendedTillDate가 undefined인 경우) 데이터가 member에 반영되지 않았습니다. 여기에 버그가 있는지 확실하지 않습니다. 당장은 더 깊이 파고들지 않았습니다!

도움이 되길 바랍니다.

좋아요, 감사합니다! 정말 큰 도움이 됩니다. 이제야 사이트가 구버전의 Discourse(2.7)를 사용 중이라 group-index-table-header-after-username과 group-index-table-row-after-username 아웃렛을 보지 못했음을 깨달았습니다.

별말씀을요! 2.7이군요. 정말 오래된 버전이네요. :smile:

참고로, 이 컴포넌트를 적극 추천드립니다: (deprecated) Plugin outlet locations theme component. 정말 유용합니다! :+1: