2017-02-02 2 views
0

Я разрабатываю веб-сайт на umbraco и вам нужно сохранить дополнительную информацию о члене (cmsMember). Как я могу это сделать? Есть ли способ расширить член umbraco без изменения членства?Продвинуть член umbraco с недвижимостью

Я хотел бы сделать что-то подобное этому

var datatype = new DataTypeDefinition("varchar"); 
    var type = new PropertyType(datatype); 
    var property = new Property(type); 
    property.Value = myAdditionalInfo; 
    member.Properties.Add(property); 
    memberService.Save(member, false); 

кодекса выше прямо сейчас бросает исключение с сообщением Value cannot be null.

ответ

2

Добавление свойств к типу членов, может (и должен) быть сделано в BackOffice:

Member Type Properties

а затем установив/сохранение значений должно быть что-то вроде этого (с помощью MemberService), хотя я м не совсем уверен, если он действует: -s:

// Get the member 
var member = Member.GetCurrentMember(); 

// Check if there is a current member 
if (member != null) 
{ 
    // Update member properties 
    member.getProperty("myPropertyAlias").Value = myAdditionalInfo; 

    // Save the updated member 
    member.Save(); 
} 
+0

Спасибо, Jannik, это решает мою проблему, но еще одна вещь необходима. Мне нужно скрыть это свойство, чтобы никто не мог видеть контент, поскольку я собираюсь сохранить некоторые конфиденциальные данные. Могу ли я сделать это с предложенным вами подходом? –

+0

Скрыть от кого? Кто-нибудь вошел в Умбрако, или только от самого члена? Если в backoffice взгляните на этот (бета) пакет, который может помочь скрывать свойства (или, может быть, просто попытаться посмотреть, как это делается через исходный код): https://our.umbraco.org/projects/collaboration/backoffice- tweaking –

+0

скрыть его от всех, сделать его невидимым или недоступным в backoffice, но оставить для сохранения данных –

Смежные вопросы