Добавить кнопки входа/регистрации в пользовательский HTML

Я использую тему Banner (https://meta.discourse.org/t/banner-themes-and-instructions-for-customizing-them/82368), чтобы отображать HTML-контент для анонимных пользователей. В основном это призыв зарегистрироваться.

Я пытаюсь добавить кнопку «Зарегистрироваться» в середине своего контента. В целом, создание кнопки с перенаправлением на .xyz Domain Names | Join Generation XYZ при клике и обработкой как обычного веб-перенаправления (через JS, простой POST-запрос формы, href и т.д.) было довольно простым.

Я пытался найти более «нативный для Discourse» способ выполнения этого действия. Я внимательно изучил Руководство разработчика по темам Discourse. Где-то между виджетами, контроллерами и компонентами у меня возник вопрос:

Какой самый простой способ с помощью JavaScript (внутри скрипта типа=“text/discourse-plugin”) «открыть модальное окно регистрации»? Чтобы быть предельно ясным, я пытаюсь выполнить это вне скрипта Handlebars, например:

{{d-button action=(route-action “showCreateAccount”) class=“btn-primary sign-up-button” label=“sign_up”}}

В конечном итоге что-то вроде этого… Я пытаюсь понять, чем заменить жирный текст:

<script type="text/discourse-plugin"version=“0.8.18”>
document.getElementById(“showCreate”).onclick = function() {
{{d-button action=(route-action “showCreateAccount”) class=“btn-primary sign-up-button” label=“sign_up”}}
}
</script>

Все мои попытки приводят к разным ошибкам, в основном из-за того, что система не понимает «action». Я искал в Meta, и хотя там много примеров создания нового виджета или размещения этого элемента в другом месте, я не нашел способа сделать это нативно. Любая помощь будет очень кстати.

(Кстати, я не утверждаю, что это лучший или необходимый способ заставить это работать, но это сильно помогло бы мне понять, как работает всё приложение в целом).

Спасибо!

1 лайк