새 주제 버튼 텍스트 사용자 지정

:discourse2: 요약 카테고리 또는 태그별 새 주제 버튼 사용자 지정
:eyeglasses: 미리보기 Discourse Theme Creator에서 미리보기
:hammer_and_wrench: 저장소 https://github.com/discourse/discourse-customize-new-topic-button-text
:question: 설치 가이드 테마 또는 테마 컴포넌트 설치 방법
:open_book: Discourse 테마 초보입니까? Discourse 테마 사용 입문 가이드

이 테마 컴포넌트 설치

기능

이 테마 컴포넌트는 카테고리 또는 태그 주제 목록의 새 주제 버튼 및 작성기(composer)의 작업 이름과 버튼(아래 강조 표시됨)을 사용자 지정할 수 있습니다. 예를 들어 Contribute > Bug 카테고리가 있다면 이 텍스트를 "버그 보고"로 업데이트할 수 있습니다:

(일부 아이콘은 svg icon subset 관리자 설정에 추가해야 할 수 있습니다)

답글 버튼 텍스트도 사용자 지정할 수 있으며, 이는 작성기 및 주제 내의 reply 텍스트를 대체합니다:


설정

이름 설명
custom new topic text 사용자 지정 버튼의 세부 정보를 입력하는 곳입니다
inherit parent category 비활성화 시 하위 카테고리는 상위 카테고리 텍스트를 자동으로 상속하지 않습니다

설정 항목은 두 가지이며, 주요 항목은 custom new topic text입니다:

이 설정을 통해 필터(태그 또는 카테고리 이름), “새 주제” 버튼의 아이콘(작성기의 아이콘은 변경되지 않음), 작성기 상단의 작업 이름, 그리고 작성기의 “주제 생성” 버튼을 설정할 수 있습니다.

기본적으로 활성화된 inherit parent category라는 추가 설정이 있습니다. 이 설정이 활성화되면 모든 하위 카테고리도 텍스트가 변경됩니다(설정에서 별도로 지정되지 않는 한).

:information_source: 태그를 설정하면 선택된 카테고리를 덮어쓴다는 점에 유의하세요.

:bulb: 향후 개선 아이디어

  • 다른 언어를 위한 로컬라이즈 가능한 텍스트
  • 카테고리 및 태그 조합, 그리고 여러 태그 지원

:discourse2: 우리가 호스팅하고 있습니까? 테마 컴포넌트는 Standard, Business, Enterprise 플랜에서 사용할 수 있습니다.

27개의 좋아요

정말 좋네요, 많이 도와주셔서 감사합니다 <3

오늘 저는 api.customizeComposerText()를 사용하여 이 기능의 훨씬 더 간단한 버전을 작업했습니다. :sweat_smile:

이것은 훨씬 더 나은 해결책입니다. @awesomerobot님께 감사드립니다!

제 실험에서는 discourse-post-voting 플러그인을 사용하여 카테고리별 Composer 버튼 라벨을 오버라이드하는 데 성공하지 못했습니다. 게시 투표에 여러 카테고리가 활성화되면 이 문제가 더 커집니다.

제안드리자면, discourse-post-voting 라벨 오버라이드 지원 활성화는 훌륭한 개선 사항이 될 것입니다. (

1개의 좋아요

정말 훌륭한 테마 컴포넌트입니다! 한 단계 더 발전시킬 수 있는 아이디어를 제안합니다.

버튼 이름을 바꾸는 것이 실제로는 토픽의 유형을 변경하려는 의도라면, 해당 *카테고리 전체의 명명법을 일관되게 변경해야 합니다.

예를 들어:
Events라는 이름의 카테고리가 있다고 가정해 보겠습니다. 이 경우 카테고리 전체에서 "topic"이라는 단어를 "events"로 변경하는 것이 효과적입니다. "New Topic"이 아니라 "New Event"가 되며, Topics 목록 대신 Events 목록이 표시됩니다. 이런 식으로 말이죠.

다른 도구에서도 이러한 방식으로 주요 사용 사례를 변경하는 것을 볼 수 있습니다. AirTable에서 새 테이블을 만들 때 어떤 식으로 처리하는지 아래를 참고해 보세요. 기본적으로 테이블에는 "records"가 있습니다.

하지만 "Users"라는 이름의 테이블을 만들고 싶다면, 각 record를 Users라고 부를 수 있도록 변경할 수 있습니다:

이 테마 컴포넌트를 이러한 방식으로 처리하면 카테고리를 Support Requests, Events 등 더 구체적인 엔티티로 쉽게, 그리고 효과적으로 리브랜딩할 수 있습니다.

이 테마 컴포넌트를 검색하다가 발견했는데, "Topic"이라는 단어를 "Events"로 변경하고 싶어서였습니다:

3개의 좋아요

@awesomerobot 이 테마 컴포넌트는 정말 놀랍습니다, 정말 감사합니다!

이 테마 컴포넌트가 ‘새 주제’ 버튼의 CSS에서 이상한 동작을 일으키는 것 같습니다.

테마 컴포넌트 비활성화:

테마 컴포넌트 활성화:


또한, 작성기(composer)의 “주제 생성” 버튼을 변경하는 것도 확인했는데, 이건 정말 좋은 점입니다…

하지만 답글 버튼의 텍스트도 같은 문자열로 변경되어, 이는 이상적이지 않습니다. 왜냐하면 새로운 버그 보고를 만드는 것이 아니라 답글이기 때문이죠 :slight_smile:

편집기에 답글 버튼 텍스트를 변경할 수 있는(또는 비워두면 답글로 유지할 수 있는) 다른 필드를 추가할 가능성은 얼마나 될까요?

4개의 좋아요

죄송합니다, 마지막 질문 하나만 더 하겠습니다: 서로 다른 상위 범주에 속한 두 하위 범주가 동일한 슬러그를 가진 경우를 처리하지 않는 것 같습니다. 예를 들어:

  • parent1
    • sub1
  • parent2
    • sub1

이 경우 테마 컴포넌트로 두 하위 범주를 구별할 수 없으며, 둘 다 에디터에서 동일한 구성을 공유하게 됩니다.

3개의 좋아요

피드백 감사합니다. 몇 가지 업데이트를 했습니다! FIX: action, switch category to ID, ignore replies - Pull Request #5 - discourse/discourse-customize-new-topic-button-text - GitHub

답글 버튼을 완전히 놓치고 있었네요! 당분간은 그대로 reply로 두겠지만, 텍스트를 변경하기 위한 별도의 설정이 있으면 좋겠습니다.

좋은 지적입니다. 이를 피하려면 설정에서 카테고리 이름 대신 카테고리 ID를 사용하는 것이 최선인 것 같습니다. 따라서 현재 사용 중인 기존 설정은 모두 업데이트가 필요합니다.

3개의 좋아요

새로운 버그인 것 같습니다. 이 플러그인이 활성화되면 두 개의 주제 버튼이 생성됩니다:

2개의 좋아요

네, 보고해 주셔서 감사합니다. Discourse에서 일부 커넥터가 변경되었는데, 업데이트를 하시면 이제 수정되었을 것입니다:

2개의 좋아요

버튼 크기 차이를 수정할 수 있을까요? (기존 스크린샷이며, 최신 업데이트로 이중 버튼 문제는 해결되었습니다)

1개의 좋아요

네, 이제 이 버튼의 높이가 올바르게 설정되었을 것입니다

1개의 좋아요
이 컴포넌트를 사용하려고 시도했지만 실패했고, 로그에 다음과 같은 경고가 많이 표시됩니다.

메시지 (4건 보고됨)

[DiscourseJsProcessor] DEPRECATION: {{attrs}}를 사용하여 명명된 인수를 참조하는 것은 더 이상 권장되지 않습니다. {{attrs.canCreateTopic}}는 {{@canCreateTopic}}로 업데이트되어야 합니다. (‘discourse/components/custom-new-topic-button.hbs’ @ L2:C8) [deprecation id: attrs-arg-access] 자세한 내용은 Ember.js - Deprecations 를 참조하세요.
at theme-transpiler.js:3164:26752
at j. (theme-transpiler.js:3168:1693)
at theme-transpiler.js:3168:161
at j. (theme-transpiler.js:3168:1693)
at D (theme-transpiler.js:3168:1754)
at te (theme-transpiler.js:3168:1318)
at PathExpression (theme-transpiler.js:3198:21763)
at yo (theme-transpiler.js:3187:2776)
at Al (theme-transpiler.js:3187:3513)
at Ml (theme-transpiler.js:3187:3309)
at yo (theme-transpiler.js:3187:3013)
at Al (theme-transpiler.js:3187:3513)
at Ml (theme-transpiler.js:3187:3309)
at yo (theme-transpiler.js:3187:3013)
at Ml (theme-transpiler.js:3187:3350)
at yo (theme-transpiler.js:3187:3013)
at Al (theme-transpiler.js:3187:3513)
at Ml (theme-transpiler.js:3187:3309)
at yo (theme-transpiler.js:3187:3013)
at Bi (theme-transpiler.js:3187:3879)
at PA (theme-transpiler.js:3190:3002)
at Cf (theme-transpiler.js:3190:9856)
at Al (theme-transpiler.js:3176:35353)
at gf (theme-transpiler.js:3176:35600)
at D (theme-transpiler.js:3198:42250)
at Sft.o.precompile (theme-transpiler.js:3281:3078)
at dDe (theme-transpiler.js:3161:1003)
at e.CallExpression (theme-transpiler.js:3159:33796)
at h (theme-transpiler.js:10:111797)
at e.uPe [as _call] (theme-transpiler.js:59:16906)
at e.oPe [as call] (theme-transpiler.js:59:16726)
at e.lPe [as visit] (theme-transpiler.js:59:17700)
at t.visitQueue (theme-transpiler.js:59:40645)
at t.visitSingle (theme-tr…

백트레이스

/var/www/discourse/lib/discourse_js_processor.rb:133:in block in create_new_context' mini_racer-0.8.0/lib/mini_racer.rb:273:in block in attach’
mini_racer-0.8.0/lib/mini_racer.rb:242:in call_unsafe' mini_racer-0.8.0/lib/mini_racer.rb:242:in block (2 levels) in call’
mini_racer-0.8.0/lib/mini_racer.rb:369:in timeout' mini_racer-0.8.0/lib/mini_racer.rb:241:in block in call’
mini_racer-0.8.0/lib/mini_racer.rb:240:in synchronize' mini_racer-0.8.0/lib/mini_racer.rb:240:in call’
/var/www/discourse/lib/discourse_js_processor.rb:168:in block in v8_call' /var/www/discourse/lib/discourse_js_processor.rb:167:in synchronize’

1개의 좋아요

음, 이상하네요. 최신 Discourse에서 테스트해 봤는데 모든 기능이 정상적으로 작동합니다. 해당 비추천(deprecation) 문제를 해결하기 위해 해당 컴포넌트에 대한 업데이트를 방금 병합했습니다. 업데이트 후 다시 시도해 주시겠어요?

1개의 좋아요

저도 마찬가지예요. 여러 번 시도했는데도 나타나지 않아요.

불행히도 이 훌륭한 테마 컴포넌트가 Custom Wizard Plugin 🧙 와 잘 호환되지 않는 것 같습니다.

Wizard 플러그인은 카테고리 설정을 통해 카테고리 버튼에 연결할 수 있습니다:

귀하의 컴포넌트를 사용하면 버튼 이름은 변경되지만, 카테고리 설정에서 선택한 Wizard가 더 이상 실행되지 않습니다. 대규모 프로덕션 웹사이트에서 귀하의 컴포넌트를 사용하고 싶지만, 현재는 이를 사용할 수 없는 상황입니다. 수정되기를 바랍니다. 부담 갖지 마세요 :slight_smile:

저는 그런 현상을 확인하지 못했습니다. 동일한 설정을 사용 중인데 저의 버튼은 정상적으로 작동합니다. 다른 플러그인이나 TC(테마 컴포넌트)를 점검해 보시는 것이 좋습니다. 참고로 저는 최신 빌드를 사용 중입니다.

1개의 좋아요

이것은 사이트에 세심한 디테일의 정돈된 느낌을 더해 줄 수 있는 좋은 작은 컴포넌트입니다.

1개의 좋아요

안녕하세요

버그인 것 같습니다.

“새 주제” 버튼의 텍스트를 더 이상 수정할 수 없습니다.
다른 버튼의 수정은 정상적으로 적용됩니다.

버전: 3.2.0.beta4-dev([4886c1fddc]

도와주셔서 감사합니다 (그리고 이 기능들에도 감사드립니다!)

2개의 좋아요

리포트 감사합니다!

최근 PR에서 회귀(regression)가 발생한 것 같습니다:

this.args.<param>.에서 @<param> 구문으로 변환하고 있지만, 플러그인 아웃렛(plugin outlet) 내부에서는 기존 구문이 필요합니다.

수정: PR을 생성했습니다 :+1:

1개의 좋아요

PR 감사합니다 @Arkshine! 이번 업데이트에서 수정될 예정입니다.

이것도 업데이트에 포함될 예정입니다: FEATURE: add ability to customize "Reply" text - Pull Request #7 - discourse/discourse-customize-new-topic-button-text - GitHub

따라서 이제 태그와 카테고리를 기반으로 작성기(composer)와 게시물에서 답글 버튼 텍스트도 커스터마이징할 수 있는 옵션이 포함됩니다.

1개의 좋아요