2017-02-02 5 views
1

umbracoメンバー(エンドメンバーから)のパスワードリセットトークンを保存する必要があります。今のところ私が得た解決策は、プロパティを作成して使用することです。しかし、問題は、このトークンをすべての人に隠すべきだということです。プロパティを非表示にするための明確なアプローチはありますか(パッケージに依存関係を追加しないで)?Umbracoプロパティを非表示にする

これまでapproach私はこのようなルックスを見つけましたが、私はプロパティが非表示にするより簡単な方法を探しています:

public class ApplicationHandler : ApplicationEventHandler 
{ 
    public ApplicationHandler() 
    { 
     ContentControl.AfterContentControlLoad = new ContentControl.AfterContentControlLoadEventHandler(ContentControl_AfterContentControlLoad); 
    } 

private void ContentControl_AfterContentControlLoad(ContentControl contentControl, ContentControlLoadEventArgs e) 
    { 
    int docId = 0; 
     int.TryParse(HttpContext.Current.Request["id"], out docId); 
     IContent content = ApplicationContext.Current.Services.ContentService.GetById(docId); 

    Control ctl = umbraco.presentation.LiveEditing.Utility.FindControl<Control>(delegate(Control c) 
      { 
       return c.ClientID.EndsWith("propertyAliasToHide"); 
      }, contentControl.Page); 
    HideProperty(ctl); 
} 

private void HideProperty(Control control) 
    { 
     if (control != null) 
     { 
      Control parent = control.Parent; 
      if (parent != null) 
      { 
       if (parent.Parent != null) 
       { 
        if (parent.Parent.Parent != null) 
        { 
         parent.Parent.Parent.Visible = false; 
        } 
       } 
      } 
     } 
    } 
    } 

答えて

3

最も簡単な方法は、単にumbracoに組み込まれたラベルのようなプロパティエディタを作成することですUIに何も表示されないことを確認してください。次に、このエディタを使用してメンバーにカスタムプロパティを追加すると、バックオフィスのUIに表示されずにコードで値を保存することができます。

ここにプロパティエディタを作成する方法が記載されています。バックオフィスを使用してエディタで値を表示または編集する必要がないので、ほとんどの部分をスキップすることができます。単に、それを隠し値のデータコンテナの一種として使用し、コード。

https://our.umbraco.org/documentation/tutorials/Creating-a-Property-Editor/

0

あなたはこれを達成するために、ラベルのプロパティエディタを使用することができます。メンバータイプに移動してラベルを追加するだけです。データ型を選択することもできますし、ユーザーからの値を隠すか、編集不可能にすることもできます。

私は頻繁にこれを編集したり、umbracoのオフィスのメンバーのプロフィールから見たくないフィールドを更新するために使用しています。

関連する問題