我目前正在訪問媒體節點的路徑屬性(爲了索引它的祖先進行PDF全索引搜索,但這並不需要知道這個問題),而且我很驚訝地發現,並非所有祖先都實際列在所有祖先的以逗號分隔的列表中!Umbraco:媒體節點的路徑(所有節點ID路徑,而不是文件路徑定義爲umbracoFile)並不總是包含所有的祖先
舉例來說,如果我有一個媒體的樹類似如下:
- 媒體集團1(ID:123)
-
- 子組1(ID:234)
-
-
- 一些-pdf.pdf(ID:334)
-
-Media組2(編號:1023)
-
- 子組1(ID:1234)
-
-
- 一些-另一pdf.pdf(ID:1334)
-
我希望,對於一些-pdf.pdf路徑將是{-1,234,123}和some- other-pdf.pdf爲{-1,1023,1234},但我發現的是,令人驚訝的是,祖父母不在場!例如,some-pdf.pdf將是{-1,234},some-other-pdf.pdf是{-1,1234}。
這是特別有問題的,因爲我需要知道媒體組是什麼,因爲客戶端要求可以按組篩選搜索(意思是meda中每個PDF的級別1文件夾)。
由於某些原因,這對於我的安裝來說是特別的嗎?還是我真的不能依賴「路徑」準確地包含所有祖先,特別是第一級的祖先?
由於提前,
特德
UPDATE:
也許方面確實比我想象的事情:它看起來而完整的祖先路徑確實是在數據庫(如預期) ,由於某種原因,它不是在上下文中可用我需要它:
private void Indexer_GatheringNodeData(object sender, IndexingNodeDataEventArgs e)
{
//Log.Add(LogTypes.Debug, 0, "PDFIndexer node indexed.");
var node = e.Node;
if (node.HasAttributes)
{
var path = node.Attribute("path").Value;
...
由於某些原因,此時路徑屬性(僅有時)不完整,如上所述。