Компонент темы Guest Gate

Привет :wave: Этот компонент темы создан на основе Guest Gate (Sign Up Popup Plugin). Он может блокировать темы для анонимных посетителей с помощью модального окна, заставляя их зарегистрироваться или войти в систему. Компонент можно использовать как модальное окно с предупреждением, побуждающим посетителей к регистрации, но позволяющее закрыть окно (для этого оставьте настройку dismissable false без отметки). Возможности включают изменение количества тем, которые можно просмотреть перед отображением модального окна.


Совет: Если вы используете опцию “кастомный шлюз” и хотите скрыть заголовок модального окна (как на изображении выше), вам нужно удалить поле guest_gate.title и нажать пробел. Это уберет заголовок модального окна, чтобы вы могли использовать заголовок под изображением.

У вас есть два основных варианта шлюза:

  1. Стандартный шлюз (по умолчанию: используется текст призыва к действию для регистрации Discourse в модальном окне). Используются следующие тексты: js.signup_cta.intro и js.signup_cta.value_prop

  2. Кастомный шлюз (вы можете настроить модальное окно: добавить изображение, собственный текст и цвета).


А также множество других настроек

Глобальные настройки модального окна Guest Gate

  1. max guest topic views
    Количество просмотров тем до появления шлюза. После первого появления шлюз отображается случайно между 1 и этим числом.
  2. dismissable false
    Удаляет кнопку закрытия, что препятствует закрытию окна посетителями.
  3. use gate buttons
    Использование кнопок в подвале модального окна вместо ссылок.
  4. custom url enabled
    Включает опции пользовательского URL для входа и регистрации. Обычное поведение (если эта опция не отмечена) заключается в том, что модальное окно входа или регистрации появляется на текущей странице темы.
  5. custom login url
    Например, /login — это главная страница с отображаемым модальным окном «Войти».
  6. custom signup url
    Например, /signup — это главная страница с отображаемым модальным окном «Зарегистрироваться».
  7. gate footer position
    Положение кнопок/ссылок в подвале.
  8. gate show only once
    Модальное окно Guest Gate отображается только один раз за сеанс.

Настройки кастомного шлюза

  1. custom gate enabled
    Включите, если хотите настроить модальное окно.
  2. custom gate image
    Загрузите изображение для отображения в верхней части модального окна.
  3. custom gate image width
    Ширина загруженного изображения. Можно использовать px, % и т.д., например, 100% добавит изображение на всю ширину модального окна (за вычетом отступов).
  4. custom gate big text color
    «Большой текст» появляется под изображением. Вы можете установить цвет текста.
  5. custom gate little text color
    «Маленький текст» появляется под большим текстом. Вы можете установить цвет текста.
  6. custom gate background color
    Изменение цвета фона модального окна.
  7. custom gate footer text color
    Изменение цвета текста в подвале. Применяется, если настройка use gate buttons отключена и настроен кастомный шлюз.
  8. custom gate link color
    Изменение цвета ссылок в подвале. Применяется, если настройка use gate buttons отключена и настроен кастомный шлюз.

Благодарность :heart: Огромное спасибо авторам плагина, сопровождающим и контрибьюторам: @vinothkannans, @jgujgu и @michaeld

61 лайк

Спасибо! Это отлично :slight_smile:

Мне очень нравится, что ссылки «Войти» / «Зарегистрироваться» можно заменить кнопками.

Предлагаю, чтобы кнопка «Зарегистрироваться» была выделена (синим цветом), а кнопка «У меня уже есть аккаунт» — серой. Это кажется более стандартным, по крайней мере, судя по моим наблюдениям за популярными сайтами. Вероятно, большинство людей, видящих модальное окно, ещё не имеют аккаунта, поэтому это решение выглядит логичным.

2 лайка

Привет @markersocial,

Спасибо за предложение! :slightly_smiling_face:

Я добавил эти два параметра. Теперь вы можете изменить стиль кнопок входа и регистрации в модальном окне для гостей.

btn-primary или btn-default

4 лайка

Отлично, большое спасибо, @Don! Обновил, теперь всё работает прекрасно :slight_smile:

Единственное другое предложение — добавить возможность настраивать частоту повторных напоминаний.

Настройка: максимальное количество просмотров тем для гостей
«Количество просмотров темы до отображения блокировки. После первого появления блокировка будет показываться случайным образом между 1 и этим числом».

Установка максимального количества просмотров темы для гостей на 1 или 2 хороша, так как это побуждает к регистрации на раннем этапе. Однако, если пользователь отказался (и опция «показывать один раз за сеанс» не включена), было бы здорово иметь возможность снова показывать модальное окно с меньшей частотой, чтобы не быть слишком навязчивым для тех, кто просто наблюдает. Например, каждые 5 или более просмотров темы.

2 лайка

Привет, Дон, отличный компонент! Есть ли возможность сделать кнопку регистрации настраиваемой, чтобы можно было вставить URL? Я использую Memberful для SSL, поэтому обычная ссылка на регистрацию не работает — просто перекидывает на страницу входа. Спасибо!

3 лайка

Привет, Дэвид,

Спасибо, это отличная идея! :slightly_smiling_face:

Я добавил это. Я заменил настройку redirect_to_home на custom_url_enabled и две опции.

  1. custom_login_url: /login
    (по умолчанию это перенаправление на главную страницу и открытие модального окна входа)
  2. custom_signup_url: /singup
    (по умолчанию это перенаправление на главную страницу и открытие модального окна регистрации)
4 лайка

Отлично! Есть только одна проблема: теперь не работают опции пользовательского текста для ворот.

1 лайк

Я проверил ваш сайт, и у меня всё работает. Попробуйте выполнить жёсткую перезагрузку страницы или снова открыть браузер — возможно, вы видите кэшированную версию.

1 лайк

Я так и подумал. Очистил кэш, попробовал четыре разных браузера, и везде то же самое — очень странно! Если не возражаешь, попробуй ещё раз: я только что изменил guest_gate.title на ‘Test’. Видишь это обновление?

Да, именно это я сейчас вижу.

Попробую проверить другие браузеры и устройства.

Те же результаты через VPN, с моего телефона, в другой сети. Это самое странное, что я когда-либо видел! Думаю, пока все остальные видят правильный текст, всё в порядке! :rofl:

Привет, Дэвид,

По-моему, это ненормально. :slightly_smiling_face: Возможно, это ошибка, связанная с локалью. Моя лучшая рекомендация — отключить настройку «Устанавливать локаль из заголовка Accept-Language».
Как я вижу, вы используете её на своём сайте, и, возможно, именно поэтому в модальном окне отображаются тексты по умолчанию: язык вашего браузера отличается, и Discourse возвращает текст по умолчанию.

Можете ли вы отключить эту настройку и попробовать снова?

Screenshot 2022-05-12 at 8.45.19


Теперь я могу воспроизвести эту проблему. Я изменил язык в Chrome с английского (Великобритания) на английский (США), и это произошло.

а затем вернулся к английскому (Великобритания)

4 лайка

Спасибо, Дон, вы невероятно полезны! Кажется, в моей установке языков есть ошибка. Поскольку это, похоже, не вызвано вашим компонентом, я создам новую тему. Благодарю вас за то, что уделили этому внимание.

РЕДАКТИРОВАНИЕ: Я выяснил, что мой локаль администратора каким-то образом изменился на Великобританию вместо США, очень странно! Я вернул его обратно, снова заполнил поля, и теперь в мире всё хорошо.

3 лайка

3 сообщения были перенесены в новую тему: Компоненты не учитывают переопределения текста

Это работает очень хорошо. Спасибо.

Я внес несколько небольших правок, чтобы сделать первый пост более читаемым. Однако одно предложение я совсем не понял:

Включить пользовательский URL
По умолчанию добавить пользовательский URL к кнопкам/ссылкам «Войти» и «Зарегистрироваться». Это перенаправляет посетителя после нажатия на кнопку «Войти» или «Зарегистрироваться» на главную страницу и открывает модальное окно входа или регистрации. Примечание: Если вы оставите эту опцию без галочки, то после нажатия на кнопки посетитель останется на странице темы, а модальное окно «Гостевой шлюз» заменится на модальное окно входа или регистрации, которое можно закрыть, чтобы посетитель мог закрыть его и прочитать тему.

2 лайка

Спасибо, Джонатан :slightly_smiling_face: Я очень ценю это :heart: К сожалению, мой английский не самый лучший :confused: Извините за это! Я изменю это в компоненте темы или, конечно, вы тоже можете отправить PR. :slightly_smiling_face:

Настройка сайта custom url enabled означает следующее:
Вы можете добавить пользовательские URL-адреса для кнопок/ссылок входа и регистрации гостевого шлюза, которые по умолчанию используют эти пользовательские URL-адреса /login и /signup. Эти ссылки перенаправляют посетителя на главную страницу и открывают модальное окно входа или регистрации. Таким образом, если вы установили этот флажок, будут активированы два параметра ниже: custom login url и custom signup url.

Если вы оставите эту настройку не отмеченной, то после нажатия кнопок/ссылок входа или регистрации гостевого шлюза посетитель останется на странице темы, и модальное окно входа или регистрации откроется на той же странице темы. После этого посетитель сможет закрыть модальное окно.

Надеюсь, это поможет понять, и ещё раз спасибо за ваше время, чтобы сделать всё более понятным :slightly_smiling_face:

2 лайка

Ваш английский в порядке, и с вашим JavaScript всё в порядке — это главное :slight_smile: А как насчёт этого?

  1. custom url enabled — Включите опции custom login url и custom signup url. Обычное поведение (если оставить эту опцию без галочки) заключается в том, что модальное окно входа или регистрации появляется на текущей странице темы.
  2. custom login url — Например, /login — это главная страница с отображённым модальным окном «Вход».
  3. custom signup url — Например, /signup — это главная страница с отображённым модальным окном «Регистрация».
2 лайка

Это во многом благодаря авторам и участникам плагина. Но я стараюсь разрабатывать это и добавлять новые функции, исправления и т. д. :slightly_smiling_face:


Спасибо за исправление :slightly_smiling_face: теперь это выглядит гораздо лучше. Я также внесу эти исправления в компонент темы.

Всем привет,
Я недавно установил этот компонент, и он работает отлично, но я не уверен, не замедляет ли механизм фильтрации работу бота Google при сканировании тем.

Кто-нибудь знает, как это влияет на краулеры?

2 лайка

У меня возникли проблемы с настройкой Guest Gate при использовании SSO с Discourse Connect.

Пользователь может войти в основной сайт, после чего, похоже, вошёл и в Discourse, но после перехода по нескольким темам появляется модальное окно Guest Gate. Это необычно, так как пользователь уже авторизован.

У меня настроены кастомные URL-адреса для входа, поэтому, когда пользователь нажимает «Я уже авторизован», его перенаправляет на мою кастомную страницу входа, и цикл повторяется.

Единственный обходной путь — когда пользователь нажимает нативную кнопку входа в Discourse и автоматически авторизуется.

Похоже, что по какой-то причине Guest Gate не учитывает вход через SSO и требует нативного входа для активации.

Сталкивались ли другие с этой проблемой? Есть ли какие-либо предложения по решению или обходному пути?

1 лайк