Расширение кнопок заголовка

Хорошо, значит, правильная конфигурация означает, что кнопка по умолчанию будет удалена, и тогда я смогу добавить свою собственную пользовательскую кнопку…

Я полагаю, что любая «кнопка», ведущая на /login (сайта сообщества), в конечном итоге перенаправит вас на родительский сайт, если SSO включён (правильно).

Вход работает — перенаправляет на нашу SSO-форму входа…

Кнопка «Создать аккаунт» ведёт на ту же SSO-форму входа без возможности регистрации. Нам нужна кнопка, которая ведёт на страницу регистрации на нашем основном сайте.

Так что тема @Don может помочь в этом.

На сайте одного из наших клиентов ссылка/опция регистрации также находится на странице входа.

Возможно, стоит рассмотреть возможность добавления такой опции?

Вы используете DiscourseConnect или какой-либо OAuth?

Мы используем ODIC — тема от @Don выглядит отлично и справится с задачей, но как мне удалить существующую кнопку «Создать аккаунт»?

Компонент темы скроет его, если включен DiscourseConnect.

Я думаю, что в нашем случае плагин не сработает, так как мы используем OpenID Connect. В разделе «Discourse Connect» три поля пусты.

А, понятно, я создал новую версию компонента темы, которая не ограничивает внешний вид настройками сайта.

Удивительно — спасибо! Я собирался взять ваш первый плагин и поэкспериментировать с ним локально, чтобы посмотреть, смогу ли я адаптировать его под свои требования, но, похоже, вы уже начали работу — спасибо…

@Don выглядит хорошо, поэтому я изучаю ваш плагин, чтобы понять, как это работает. Вы переопределяете ‘signUpSsoButton’ для пользовательского поведения? Скорее всего, он находится в ядре — где я могу увидеть реализацию по умолчанию (учитывая, что я не знаком со структурой Discourse).

По сути, переопределить шаблон https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/components/header/auth-buttons.gjs невозможно, но мы можем добавить кнопку заголовка до или после кнопок авторизации. Таким образом, компонент добавляет кнопку перед кнопками авторизации, как описано здесь: Upcoming Header Changes - Preparing Themes and Plugins, и скрывает кнопку регистрации по умолчанию с помощью CSS.