#orchardcms
#orchardcms
Вопрос:
Я не могу понять, как добавить функциональность регистрации / входа на сайт в Orchard. Есть ли модуль членства или какая-либо конфигурация, которую мне нужно включить?
РЕДАКТИРОВАТЬ: я имел в виду модули, аналогичные этим, которые расширяют существующую модель пользователя с помощью функций регистрации / профиля:
Расширенный модуль регистрации: http://extendedregistration.codeplex.com /
Модуль профиля Orchard: http://orchardprofile.codeplex.com /
Ответ №1:
Он находится в разделе настройки / пользователи в пользовательском интерфейсе администратора.
Комментарии:
1. Спасибо, Бертран, нужно ли мне создавать новые типы контента и страницу регистрации / входа? Я новичок в Orchard и только знакомлюсь с некоторыми концепциями. Если бы вы могли указать мне на какую-либо документацию о том, как реализовать или расширить функциональность членства, это было бы здорово.
2. Нет, это все. Что касается расширений, зависит от того, что вы имеете в виду, но есть несколько модулей профиля, которые могут помочь.
3. @Brendan Похоже, что его нет в 1.7 (RC). Есть идеи, где он сейчас скрывается?
4. Он все еще там в 1.7. Смотрю на него.
Ответ №2:
На панели инструментов прокрутите вниз до «Настройки» и выберите «Пользователи». Убедитесь, что установлен флажок «Пользователи могут создавать новые учетные записи на сайте», и нажмите «Сохранить». Как только это будет сделано, выйдите из системы. Затем нажмите войти и под вашим именем пользователя и паролем появится небольшой текст с синей ссылкой для регистрации.
На самом деле вам не нужна расширенная регистрация и профиль для этого. Они предназначены для добавления дополнительной информации в регистрационную форму.
Это также можно сделать программно:
var registrationSettings = _services.WorkContext.CurrentSite.As<RegistrationSettingsPart>();
registrationSettings.UsersCanRegister = true;
Однако это не сработает, если вы делаете это из миграции, потому что вы не сможете использовать WorkContext.
Для миграции вы можете использовать IRepository для RegistrationSettingsPartRecord:
RegistrationSettingsPartRecord currentSetting = _registrationSettingRepository.Table.First();
currentSetting.UsersCanRegister = true;
_registrationSettingRepository.Update(currentSetting);
Однако это больше не будет работать с версии 1.8 Orchard, поскольку запись больше не существует. Начиная с версии 1.8, одним из известных мне способов было бы использование ISiteService:
var site = _siteService.GetSiteSettings();
var regsettings = site.As<RegistrationSettingsPart>();
regsettings.UsersCanRegister = true;