你好!我是初学者,希望得到你的帮助。我想更改 <header>...</header> 中的内容。当我打开源文件时,我看到“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>
这不起作用。请帮帮我。
1 个赞
Johani
(Joe)
2
嘿,@Deomid_Fedorov,欢迎来到 Meta 
如果你查看浏览器控制台,你会看到类似这样的内容:
ReferenceError: hbs is not defined
但即使你修复了这个问题,你仍然会遇到让它工作的问题,因为模板应该在服务器上预编译,而不是在客户端。
我们有很多方法可以自定义标题。如果你告诉我你想做什么,我或许可以分享一种方法来实现你想要的结果。
3 个赞
您好,Joe!非常感谢您的及时回复。我想说我越来越喜欢 Discourse 了,但仍有一些困难我尚未克服。总的来说,我有一个大愿望:我希望能够在任何地方、任何标签中嵌入我的 HTML 代码,并且能够移除一些我认为多余的元素。
我阅读了帖子 Developing Discourse Themes & Theme Components
然而,这些说明不足以解决我的问题。
让我们来看一些具体的例子:
- 如何在
<header> 标签中,在 <div class="title"> 和 <div class="navigation"> 块之间嵌入我的代码?
- 如何阻止生成
<ul> 元素?
我想提醒您,我的英语水平并不完美,所以文本中可能存在错误。希望您能理解。
1 个赞
Johani
(Joe)
4
没关系,我们可以解决这个问题。
我知道你指的是什么。
但我不知道你在这里指的是哪个元素。
你能添加一个截图,说明你想在哪里添加新元素吗?
如果你的网站不需要该元素,你可以用 CSS 隐藏它。比如这样。
#navigation-bar {
display: none;
}
不过,该元素为用户提供了在主题列表的不同过滤器之间轻松导航的方法,我不建议移除它——尤其是在移动设备上。
但是,你比任何人都了解你的社区。所以,如果它对你有用,那就……太好了 
2 个赞
这就是我的意思。我需要在截图中标出的位置放置我的自定义块。
我将上传另一张截图,以便您更好地理解我想要达到的结果:
再次感谢您的迅速响应。我拥有相当不错的 CSS 技能。我知道通过编写 display: none 可以隐藏元素。但我希望获得更强大的体验。我想能够像真正的专业人士一样管理模板和小部件。我猜有更正确的方法可以做到这一点。例如,重写模板或其他什么。