任何人都可以幫助我從給定關鍵字獲取完整類別路徑。我給如下一個示例中,如何從Tridion中的關鍵字獲取完整類別路徑
實施例:
類別1 ---->關鍵字1 ----->關鍵字11,
從元數據說我得到了值「關鍵字11 「,但我需要整個路徑即/類別1 /關鍵字1 /關鍵字11.
任何人都可以幫助我如何使用c#在模板構建塊中實現此目的。
任何人都可以幫助我從給定關鍵字獲取完整類別路徑。我給如下一個示例中,如何從Tridion中的關鍵字獲取完整類別路徑
實施例:
類別1 ---->關鍵字1 ----->關鍵字11,
從元數據說我得到了值「關鍵字11 「,但我需要整個路徑即/類別1 /關鍵字1 /關鍵字11.
任何人都可以幫助我如何使用c#在模板構建塊中實現此目的。
下面的代碼應該可以幫助您獲得路徑。
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;
取決於您的.Net(3.5+)版本,您可以使用Linq: String.Join(「/」,myKeywordField.Value.ParentKeywords.Select(kw => kw.Title).ToArray()); –
一個關鍵字與組件的元數據關聯。我有Component對象和Component.Metadata [「keyword_value」]返回XMLElement。這樣我就無法檢索「KeywordField」對象。你能否爲此提供解決方案? – user1773981
它與您從組件讀取內容字段的方式相同。這提供了元數據字段'ItemFields metaFields = new ItemFields(component.Metadata,component.MetadataSchema);' –
也許你可以試着和下面的一個玩法:
希望幫助!
用於支持SDL Tridion一個網站能否請您提供一些代碼片段如何從值「關鍵字11」獲取Keyword對象? – user1773981
TBB:'KeywordField kwdField =(KeywordField)metaFields [「kwdField」];''和'kwdField.Value'或'Values'(如果它是多個)。 –
請考慮提交到外表套上51區的建議得到一個專用的Q&在http://area51.stackexchange.com/proposals/38335/tridion?referrer=eo63snjNlUWNn9xqeeO2NA2 –