Это действительно создаёт неудобный рабочий процесс (подписка всё ещё требует предварительной регистрации), и такой подход подходит только для сайтов с очень простой структурой «несколько категорий».
Основная проблема при попытке использовать Discourse как сайт для платных членов заключается в том, что в настоящее время эти два процесса (регистрация и подписка) разделены. Я решил эту проблему двумя способами: либо принял это разделение, либо попытался обойти его:
Принятие разделения регистрации и подписки
Наличие публичной части сайта, чтобы у людей уже была причина зарегистрироваться, а «финансовое членство» становится следующим шагом. Пример сайта:
Обход этого ограничения
Сайт доступен только после входа в систему, с использованием плагина Custom Wizard Plugin 🧙, который принудительно перенаправляет пользователей на страницу подписки в рамках процесса регистрации.
К сожалению, при желании они всё равно могут прервать этот процесс. В таком случае они получают довольно ограниченный опыт использования, но это требует тщательной настройки. Пример сайта:
Пути развития
Было бы замечательно иметь возможность объединить эти два процесса в единый рабочий поток, особенно для организаций, которые хотят использовать Discourse в качестве сайта для своих членов.
Лично я бы реализовал это следующим образом на первом этапе:
- Добавить в плагин настройку, включающую подписку в процессе регистрации:
- ВЫКЛ: текущий функционал (по умолчанию)
- ОПЦИОНАЛЬНО: перенаправляет на страницу подписки в конце регистрации (но позволяет уйти)
- ПРИНУДИТЕЛЬНО: перенаправляет на страницу подписки и не предоставляет доступ к любой другой части сайта до получения подписки
Конечно, для этого также потребуются соответствующие сообщения и доработка интерфейса.