그룹에 몇 가지 추가 필드를 포함시키기 위한 커스텀 플러그인을 만들었습니다. 하지만 이 필드들은 이름에 "chapter"가 포함된 그룹에만 적용됩니다. 따라서 다른 용도의 그룹에는 이 필드가 필요하지 않습니다. 예를 들어 if chapter in group.name; then chapter = true와 같은 조건을 만들 수 있는 방법이 있을까요?
그룹 이름에 'chapter’라는 단어가 없으면 상단의 컨트롤 그룹을 숨기고 싶습니다. 참고한 예제에서 이미 일부 Jinja2 구문을 사용하고 있는 것 같습니다. 만약 이것이 다른 Jinja2와 비슷하다면, 거기에 그런 조건을 만들 수 있을 것입니다. 하지만 그 전에 몇 가지 알아야 할 것이 있습니다.
Jinja2가 완전히 사용 가능한 경우, 조건을 만들기 위해 그룹 이름 변수에 어떻게 접근할 수 있나요?
Jinja2가 (완전히) 사용 불가능한 경우, 이 조건을 어떻게 만들 수 있나요? 아마도 다른 JavaScript가 불리언 값을 설정해야 할 것 같습니다. 하지만 이러한 그룹 변수와 JavaScript 로직의 구조는 제가 잘 모르므로, 예제가 있다면 매우 도움이 될 것입니다!
하지만 그건 작동하지 않고, 여러 오류가 발생합니다. 아마도 변수 조회를 올바르게 사용하지 않는 것 같습니다. group.name을 단순히 "chapter_netherlands"로 교체해도 실패하긴 마찬가지입니다.
오류 발생:
- 렌더링 중:
-top-level
application
discourse-root
group
group.manage
group.manage.profile
groups-form-profile-fields
plugin-outlet
plugin-connector
Uncaught Error: Attempted to resolve `contains`, which was expected to be a component, but nothing was found.
하지만 이 폴더 구조에서 패턴을 잘 찾지 못하겠습니다. discourse-group-custom-fields/assets/javascripts/discourse/app/helpers/contains.js에 제 함수를 만들었는데, discourse-group-custom-fields/assets/javascripts/discourse/connectors/group-edit/field-container.hbs에서 사용하려고 하면 Uncaught Error: Attempted to resolve "contains", which was expected to be a component, but nothing was found.이라는 오류가 발생합니다. 분명히 Discourse가 이 경로를 검색하지 않는 것이거나, 제가 무언가를 잘못하고 있는 것 같습니다.