Я разрабатываю сайт с использованием Umbraco 7, где на домашней странице есть форма регистрации с несколькими полями. Я создал частичное представление, используя шаблон регистрации участника, и вызываю частичное представление на моей домашней странице. Все работает нормально, но мне нужно добавить в форму несколько дополнительных полей (например, фамилия, номер телефона, адрес и т. д.). Есть ли способ изменить существующую модель профиля участника, чтобы добавить эти поля? Я новичок в Umbraco, поэтому любая помощь будет оценена по достоинству.
Добавьте дополнительные поля в профиль участника Umbraco
comment
Возможный дубликат Расширить элемент umbraco со свойством
- person Jannik Anker   schedule 16.03.2017
comment
Я не прошу добавлять свойства. Я хочу добавить дополнительное поле вместе с полем «Имя», «Электронная почта» и «Пароль» по умолчанию в профиле.
- person user1482852   schedule 16.03.2017
comment
Разве свойства и поле не одно и то же?
- person Eyescream   schedule 16.03.2017
comment
для обоих существуют разные таблицы. Поля по умолчанию, которые уже определены в профиле, сохраняются в таблице cmsMember, а дополнительные свойства вставляются в таблицу cmsPropertyType. Я хочу знать, есть ли способ добавить дополнительные столбцы в таблицу cmsMember и использовать их в приложении.
- person user1482852   schedule 16.03.2017
comment
Изменение базы данных не является способом работы в Umbraco (если только не вводятся новые таблицы для изменчивых данных для улучшения документов или добавления метаданных). Дополнительные поля, о которых вы говорите, являются структурными дополнениями для вашего члена и должны быть добавлены к вашему типу члена. См. ниже ответ о том, как реализовать новые свойства и показать их в ваших представлениях.
- person Mark   schedule 16.03.2017
Ответы (1)
Вы захотите добавить свойства в тип члена.
Отметьте их как редактируемые:
Наконец, выведите их в своем представлении:
for (var i = 0; i < registerModel.MemberProperties.Count; i++)
{
<div class="form-group">
<label for="@Html.IdFor(m => registerModel.MemberProperties[i].Value)">
@registerModel.MemberProperties[i].Name
@Html.HiddenFor(m => registerModel.MemberProperties[i].Alias)
</label>
@Html.EditorFor(m => registerModel.MemberProperties[i].Value, new { htmlAttributes = new { @class = "form-control" } })
</div>
}
Примечание: registerModel имеет тип Umbraco.Web.Models.RegisterModel.
Также ознакомьтесь с UmbracoIdentity, отличным пакетом с открытым исходным кодом, который показывает, как работать с функциями, связанными с участниками.
person
Mark
schedule
16.03.2017
И как это не повторяющийся вопрос/ответ, как я предложил? :-с
- person Jannik Anker; 22.03.2017
@JannikAnker Это не дубликат, потому что вопрос заключается не только в добавлении нового свойства участнику, но и в том, как добавить редактируемое свойство, которое участник может редактировать через интерфейс веб-сайта.
- person Mark; 20.11.2018