3

誰かが私が与えられたキーワードから完全なカテゴリパスを取得するのを手伝ってくれますか?私は以下のように一例を挙げています、

例:

カテゴリ1---->キーワード1----->キーワード11

メタデータから「キーワード11」という値を取得したとしましょう。ただし、パス全体、つまり/カテゴリ1/キーワード1/キーワード11が必要です。

誰かがc#を使用してテンプレートビルディングブロックでこれを達成する方法を教えてもらえますか?

4

2 に答える 2

4

たぶん、あなたは次のいずれかで試して遊ぶことができます:

  • キーワード.ParentKeywordsを再帰的に使用して、探しているパスを作成します。
  • OrganizationalItem oi =keyword.OrganizationalItem; //すべての組織アイテムを取得します
  • keyword.OwningRepository

お役に立てば幸いです。

于 2012-10-25T11:41:00.840 に答える
3

以下のコードは、パスを取得するのに役立ちます。

bool isRecursive = false;
KeywordField kwdField = (KeywordField)metaFields["kwdField"];
Keyword curKwd = new Keyword(kwdField.Value.Id, engine.GetSession());
string kwdPath = curKwd.Title;
while (!isRecursive) {
  if (curKwd.ParentKeywords.Count > 0){
     foreach (Keyword kwd in curKwd.ParentKeywords) {
        kwdPath = kwd.Title + "/" + kwdPath;
     }
     curKwd = curKwd.ParentKeywords[0];
  } else {
     isRecursive = true;
  }
}
kwdPath = curKwd.OrganizationalItem.Title + "/" + kwdPath;
于 2012-10-26T14:20:37.047 に答える