헤더 콘텐츠 위젯을 다시 여는 방법?

안녕하세요! 초보자인데 도움을 부탁드립니다. … 안의 내용을 변경하려고 합니다. 소스 파일을 열면 “header-content” 위젯이 다음과 같이 되어 있습니다:

createWidget("header-contents", {
   tagName: "div.contents.clearfix",
   template:hbs`
     {{home-logo attrs=attrs}}
     {{#if attrs.topic}}
       {{header-topic-info attrs=attrs}}
     {{/if}}
     <div class="panel clearfix" role="navigation">{{yield}}</div>
   `,
});

common/head_tag.html 파일에 아래 내용을 작성했습니다.


<script type="text/discourse-plugin" version="0.8.13">
     api.reopenWidget("header-contents", {
tagName: "div.contents.clearfix",
template:hbs`
<h1>Hello! Help Me Please!!!</h1>
<div class="panel clearfix" role="navigation">{{yield}}</div>
`,
});
</script>

하지만 동작하지 않습니다. 제발 도와주세요.

안녕하세요, @Deomid_Fedorov, 메타(Meta)에 오신 것을 환영합니다 :wave:

브라우저 콘솔을 확인하면 다음과 같은 내용을 볼 수 있습니다.

ReferenceError: hbs is not defined

하지만 이를 수정하더라도, 템플릿은 클라이언트 사이드에서가 아니라 서버에서 사전 컴파일되어야 하므로 이 작업을 정상적으로 수행하는 데 여전히 문제가 발생할 것입니다.

헤더를 커스터마이징하는 방법은 여러 가지가 있습니다. 어떤 결과를 얻고 싶으신지 알려주시면 원하는 결과를 얻을 수 있는 방법을 공유해 드릴 수 있을 것입니다.

조, 안녕하세요! 빠른 답변에 진심으로 감사드립니다. 디스코urses를 점점 더 좋아하게 되고 있지만, 아직 해결하지 못한 몇 가지 어려움이 있습니다. 전반적으로 제가 가진 큰 소망은 하나입니다. 제 HTML 코드를 원하는 위치에, 어떤 태그 안에든 임베드할 수 있기를 원하고, 제가 불필요하다고 생각하는 몇 가지 요소를 제거할 수 있기를 원합니다.

다음 게시물을 읽었습니다: Developing Discourse Themes & Theme Components
그러나 이 설명만으로는 제 문제를 해결하기에 충분하지 않았습니다.

구체적인 예시를 들어 보겠습니다:

  1. <header> 태그 안에서 <div class="title">와 <div class="navigation"> 블록 사이에 제 코드를 어떻게 임베드하나요?
  2. <ul id="navigation-bar"> 요소가 생성되지 않도록 어떻게 방지하나요?

제 영어 실력이 완벽하지 않아 텍스트에 오류가 있을 수 있음을 미리 알려드립니다. 양해 부탁드립니다.

걱정 마세요, 같이 해결해 볼게요.

여기서 말씀하시는 게 뭔지 알아요.

하지만 여기서는 어떤 요소를 말씀하시는 건지 확실하지 않네요.

새로운 요소를 추가하고 싶은 위치에 대한 스크린샷을 올려주실 수 있을까요?

사이트에서 해당 요소가 필요하지 않다면 CSS로 숨길 수 있습니다. 예를 들어 이렇게요.

#navigation-bar {
  display: none;
}

다만, 해당 요소는 사용자가 주제 목록의 다양한 필터 사이를 쉽게 이동할 수 있게 해 주므로, 특히 모바일에서는 제거하는 것을 권장하지 않습니다.

그렇다고 해도, 커뮤니티에 대해 누구보다 잘 아시는 분이니, 그렇게 하시는 게 괜찮으시다면… 좋습니다 :+1:


제가 말한 게 바로 이겁니다. 스크린샷에서 화살표로 가리킨 자리에 커스텀 블록을 배치해야 합니다.
원하는 결과를 더 잘 이해하실 수 있도록 다른 스크린샷을 하나 더 올립니다:

신속한 대응에 다시 한번 감사드립니다. 저는 CSS에 대해 꽤 잘 알고 있습니다. display: none을 작성하면 요소를 숨길 수 있다는 것도 알고 있죠. 하지만 더 강력한 경험을 원합니다. 진정한 전문가처럼 템플릿과 위젯을 관리할 수 있으면 좋겠습니다. 아마도 더 정확하게 수행할 수 있는 방법이 있을 거라고 생각합니다. 예를 들어 템플릿을 다시 작성하거나 다른 방법을 사용하는 것 같은 거요.