在 UI 中使用模板覆盖自定义按钮时无法自定义文本

我正在覆盖一个 handlebars 模板 static.hbs,以便创建一个自定义登录页面。

我已经成功地添加了一个自定义按钮来替代“注册”按钮,该按钮将允许用户访问定价页面,通过 Memberful 购买会员资格。

我面临的挑战是无法自定义定价按钮的文本,而且我不确定为什么。

我添加按钮的方式如下:

{{d-button href="https://example.com/pricing" class="btn-primary pricing-button" label="pricing_button"}}

然而,当我转到“管理”>“自定义”>“文本”并搜索“pricing_button”时,它并没有显示出来。

我运行了 https://meta.discourse.org/t/find-a-translation-key-with-verbose-localization/134651,它在控制台中显示为 Translation #36: pricing_button,但同样,我在“管理”>“自定义”>“文本”页面中找不到它。

有什么想法可能是什么原因吗?

更新:似乎我必须将此作为一个主题组件及其仓库来创建,而不仅仅是使用 UI/UX,并且我必须将 pricing-button 添加到 locale 中。

您需要在 locale 中添加 pricing-button。请参阅 Add localizable strings to themes and theme components

2 个赞

啊,我忘了说我是在管理菜单中创建的新主题组件中进行模板覆盖的,而不是在单独的 git 仓库中。

我尝试通过在标签中添加 theme-prefix 来这样做:

……但似乎不起作用。

是否可以在不创建 git 仓库的情况下,在管理页面创建的主题/组件中添加区域设置/自定义文本?

我认为你无法通过用户体验(UX)做到这一点;它实际上只为微小的改动而设计。

我认为你需要使用 Discourse 主题 CLI(帮助你构建主题的控制台应用程序)

2 个赞

哈哈,真糟糕。对于这么简单的事情,我希望它能在用户体验中完成。

好的,看来我必须创建一个合适的主题组件了,感谢您的帮助!

2 个赞

添加区域设置并不那么简单,但如果您想使其简单,可以尝试使用

translatedLabel=“实际文本!”

而不是使用区域设置的标签。

3 个赞

说得有理,我同意 locale 的复杂性要高得多。我说简单,是指在模板覆盖的上下文中添加 {{d-button}}

不过,您已经解决了我的问题,使用了:

{{d-button href="https://example.com/pricing" class="btn-primary pricing-button" translatedLabel='Pricing'}}

非常感谢!!

2 个赞

不客气!我上周也遇到了类似的问题,原因不明,就是不想把标签放在 locale 中。:clinking_glasses:

2 个赞

:clinking_glasses: 祝您、Discourse 和周末愉快 :smiley:

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.