Как снова открыть виджет header-contents?

Привет! Я новичок, поэтому надеюсь на вашу помощь. Я хочу изменить содержимое в …. Когда я открываю исходные файлы, то вижу, что виджет “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>Привет! Помогите мне, пожалуйста!!!</h1>
<div class="panel clearfix" role="navigation">{{yield}}</div>
`,
});
</script>

Это не работает. Пожалуйста, помогите.

Привет, @Deomid_Fedorov, добро пожаловать на Meta :wave:

Если вы откроете консоль браузера, то увидите что-то вроде этого

ReferenceError: hbs is not defined

Но даже если вы исправите это, у вас всё равно возникнут проблемы с запуском, поскольку шаблоны должны компилироваться на сервере, а не на стороне клиента.

Существует множество способов настроить заголовок. Если вы расскажете, что именно вы пытаетесь сделать, я, скорее всего, подскажу, как достичь желаемого результата.

Привет, Джо! Большое спасибо за вашу оперативность. Хочу сказать, что мне всё больше нравится Discourse, но есть некоторые трудности, с которыми я пока не смог справиться. В целом у меня одна большая просьба: я хочу иметь возможность встраивать свой 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 можно скрыть элемент. Но я хотел бы получить более продвинутый опыт. Мне хотелось бы иметь возможность управлять шаблонами и виджетами как настоящий профессионал. Думаю, существует более правильный способ сделать это. Например, переписать шаблон или что-то в этом роде.