2017-05-09 6 views
1

コンテンツを追加するときにユーザーが選択できるリストオプションを持つカスタムテーブルがいくつかあります。特定のフィールドのオプションにアクセスできるようにするAPIには、フィルタリングウィジェットで同じオプションを使用できるものがありますか? List ExampleKenticoのカスタムテーブル内のフィールドのアクセスリストオプション10

次のようなものがありますが、それはカスタムテーブルのフィールドで機能しますか?

var guids = ParentDocument.GetValue("CustomFieldName").Split(';'); 
 
var referencedDocs = DocumentHelper.GetDocuments().WhereIn("DocumentGuid", guids);

UPDATE - 答えの変更でリンクする場合のコード:

protected string[] GetFormFieldOptions() 
 
    { 
 
     DataClassInfo dci = DataClassInfoProvider.GetDataClassInfo("custom.MyPageTypeName"); 
 
     if (dci != null) 
 
     { 
 
      //Get the data from the form field 
 
      FormInfo fi = new FormInfo(dci.ClassFormDefinition); 
 
      FormFieldInfo ffi = fi.GetFormField("Industry"); 
 
      string[] industries = ffi.Settings["Options"].ToString().Split('\n'); 
 
      return industries; 
 
     } 
 
     return null; 
 
    }

答えて

1

必要なデータを取得するには、DataClassInfoProviderを使用してください。詳細はthis blog postをご覧ください。

+0

そのコードは私が必要としたものでした!ありがとうございました! –

0

あなたの疑問を持っているとあなたは同じコードを使用することができます。

  1. #1

に基づくカスタムテーブルオブジェクト

  • カスタムテーブル項目:違いは、あなたが「ページ」または「ドキュメント」レベルでは利用できない2つの異なるものを取得する必要があります更新はGEに

    var cti = CustomTableItemProvider.GetItem(<id or guid>, "yourcustom.tableclassname); 
    if (cti != null) 
    { 
        string[] s = ValidationHelper.GetString(cti.GetValue("YourField"), "").Split(";"); 
    } 
    

    :カスタム・テーブル・アイテムを取得するためにAPIを使用しますフィールド内のオプションの動的リストは、ドロップダウンリストやラジオボタンリストのようなリストコントロールをコントロールとして使用するだけで済みます。テキストボックス)。次に、ドロップダウンリストのプロパティで、それをクエリに設定できます。クエリには次のように入力してください

  • +0

    残念ながら、カスタムテーブル項目に対して選択された値しか得られません。特定のカスタムフィールドのすべてのオプションを取得したいと思っていました。だから私は、テーブルの項目ではなく、テーブルのカスタムプロパティのオプションにアクセスする方法を探していました。 –

    +0

    データソースに使用するフィールドは何ですか?私はそれがチェックボックスリストまたはリストボックス正しいと仮定していますか?それらの値は別のカスタムテーブルから得られますか?その場合は、同じクエリを実行してそれらの値を取得してください。 –

    +0

    現在のところ、それらはフィールド自体のオプションリストです。 –

    関連する問題