Yes, and presumably you can apply to every available Theme so this can’t be switched off? (to address @sarahann concern about this approach).
I could use display: none but it might now be as secure as we need it to be. And I figured it would be helpful to have a discussion on how to remove / change Discourse UI templates.
It’s tricky to do properly, unfortunately. For a big customer of ours who needs functionality removed, my approach has been to hide the elements with CSS and remove the controller side actions by using add_to_class to overwrite the methods with an error in plugin.rb.
I have a same problem. I’m working on plugin with topic, and I have to change the html structures but it’s impossible with only CSS. So I was tried to overwrite template but changes never applied.
So do you have find any solution for that?
You can override any template in the application if you like (although outlets are always preferred!). How were you doing it? did you confirm the name is exactly the same as the template you are replacing?
I tried to override the “list/topic-list-item.raw.hbs” template, but even though I removed all of the content in template, the topic items still appearing as original, any changing in override template never worked.
Please help me what I was wrong.
See: GitHub - discourse/discourse-simple-theme: Sam's simple discourse theme · GitHub for an example of how it is done.
Hello,
When I run the command git grep “plugin-outlet” – “*.hbs” in my Linux Terminal, nothing shows up. Any ideas why? Thanks for your help!
Caveat: This is a sysadmin answer, not a plugin developer answer, and I can’t guess what you might have done before you did your git command.
Did you add it to git? What about
grep -r plugin-outlet .
Building on Jay’s shoulders here, you can of course focus on the specific file type:
grep -r "plugin-outlet" --include \*.hbs
플러그인 아웃렛이 다음과 같이 생겼을 때, 특별히 다르게 고려해야 할 점이 있습니까?
{{plugin-outlet name="users-top" connectorTagName="div" args=(hash model=model)}}
connectorTagName과 args 속성은 플러그인 개발자가 이러한 아웃렛을 사용할 때 특정 제약 조건이나 추가적인 접근 권한을 갖는다는 것을 의미합니까?
네, 아웃렛이 설정한 API와 함께 작업하도록 되어 있습니다.
users-top에서는 사용할 수 있는 model이 전달되며, 이 경우 커넥터는 div로 렌더링됩니다.
{{plugin-outlet}}을 찾을 수 없었습니다. 동일한 이름의 몇 가지 구성 요소를 찾았습니다. 같은 것일까요?

Discourse의 코드가 변경되어 가이드가 오래되었을 것 같습니다.
다음과 같은 예시를 찾고 있습니다:
대신 이것을 찾았습니다:
그리고 이 놀라운 테마 컴포넌트((deprecated) Plugin outlet locations theme component)를 사용하면 이 아웃렛이 있어야 할 위치를 확인할 수 있습니다:
질문에 대한 답변으로, 제 추측은 동일하지만 새로운 구문을 사용한다는 것입니다.
저도 이 태그를 발견했습니다. 이 태그들이 모두 동일한지 확인해 주실 수 있나요?
{{~raw-plugin-outlet name="topic-list-after-title"}}
플러그인 아웃렛에 대한 최신 참고 자료는 여기 있습니다:
향후 며칠 안에 이 글의 원문 작성자(OP) 정보를 업데이트하겠습니다.
OP가 새로운 문법으로 업데이트되었으며, 전체 문서에 대한 링크가 추가되었습니다
명령은 다음과 같이 업데이트되어야 한다고 생각합니다:
git grep "<PluginOutlet" -- "*.gjs"
해당 링크에는 "비활성화됨(deprecated)"이라고 표시되어 있습니다.
수정: 상단 게시물 아래에 PR을 만들 수 있는 링크를 찾았으므로, PR을 생성했습니다.
다음으로 대체되었습니다:

