토픽에 여러 개의 사용자 지정 필드 만들기

안녕하세요,

누군가 주제에 여러 개의 사용자 정의 필드를 만들어 본 적이 있는지 궁금합니다. 이 플러그인을 사용하여 사용자 정의 필드 하나를 성공적으로 만들었습니다: GitHub - pavilionedu/discourse-topic-custom-fields: Discourse plugin showing how to add custom fields to Discourse topics · GitHub

하지만 여러 개의 사용자 정의 필드를 만드는 데 어려움을 겪고 있습니다. 작동하는 코드 예제를 공유하거나 판매해 주실 분이 있을까요? 제 필요에 맞게 수정할 수는 있지만, 시작하는 데 조금만 도움이 필요합니다. 새로 추가해야 할 두 필드는 가격(string)과 URL(string)입니다. 주제에 이미지 업로드 필드도 추가하고 싶지만, 아직 그런 것을 본 적이 없습니다.

감사합니다!

안녕하세요,
도와드릴 수 있어 기쁩니다. 최근 저는 토픽 사용자 정의 필드(Discourse Chain Topics Plugin)를 활용한 플러그인을 개발했습니다.

제 플러그인에서는 각 토픽에 대해 정수(integer) 타입의 추가 필드 2개를 생성했습니다. 이와 유사하게 원하는 만큼의 필드를 추가할 수 있습니다. 결국 토픽/사용자 사용자 정의 필드는 JSON 객체이며, 추가하는 각 필드는 해당 JSON 객체에서 키/값(key/value) 쌍이 됩니다. 여기서 키는 필드 이름이고 값은 필드의 값입니다.

위에서 언급하신 예시(저에게도 도움이 된 내용입니다)는 관리자 패널에서 추가 필드를 추가하는 방식으로 구성되어 있으며, 여기서 필드의 타입과 이름을 선택합니다. 하지만 반드시 추가 필드를 관리자 패널과 연관 지어야 하는 것은 아닙니다. 마찬가지로 원하는 만큼의 필드를 추가할 수 있습니다(이것이 성능에 어떤 영향을 미칠지는 확실하지 않습니다).

마지막으로, 도움이 필요하시면 언제든 저에게 알림을 보내거나 메시지를 남겨주세요. 제 연락처 정보는 https://ghassan.blog 에서 확인하실 수 있습니다.
좋은 결과 있으시길 바랍니다.

안녕하세요, 저도 같은 문제를 겪고 있었는데, 이제 여러 개의 사용자 정의 필드를 처리하는 방법을 찾았습니다!
plugin.rb 설정 외에도 각 필드마다 개별 파일(js 이니셜라이저와 .hbs 및 .hbr 템플릿)이 필요합니다!

discourse-topic-custom-fields 플러그인에는 다음 폴더가 있습니다:

plugins/discourse-topic-custom-fields/assets/javascripts/discourse/initializers

이 폴더 안에는 topic-custom-field-initializer.js.es6라는 파일이 있습니다.

단일 필드의 경우 이 파일을 수정하면 되지만, 여러 필드를 사용하는 경우 다음과 같은 다른 파일들을 만들어야 합니다:

topic-custom-field-url-initializer.js.es6와 topic-custom-field-price-initializer.js.es6

각 파일 안에는 registerConnectorClass 메서드를 호출하는 api 변수가 포함된 3줄이 있습니다. 각 필드 클래스가 고유한 이름을 갖도록 두 번째 매개변수를 변경하고 접두사(또는 접미사)를 추가해야 합니다. 이 작업은 3줄 모두에 대해 수행해야 합니다.

각 파일의 exports 이름도 변경하는 것을 잊지 마세요(“exports default {…” 바로 뒤).

또한, hbs와 hbr 파일의 경우에도 각 필드마다 별도의 파일을 생성해야 합니다. 동일한 파일을 복사하여 붙여넣은 후 각 파일 이름에 접미사를 추가하기만 하면 됩니다. 예시: