Umbraco:媒体节点的路径(所有节点ID路径,而不是定义为umbracoFile的文件路径)并不总是包含所有祖先

时间:2012-01-07 06:26:03

标签: umbraco

我目前正在访问媒体节点的路径属性(为了索引其祖先进行PDF全索引搜索,但没有必要知道这个问题),我很惊讶地发现并非所有的祖先实际上列在所有祖先的逗号分隔列表中!

例如,如果我有一个如下所示的媒体树:

-Media Group 1(id:123)

    • Sub Group 1(id:234)
      • some-pdf.pdf(id:334)

-Media Group 2(id:1023)

    • Sub Group 1(id:1234)
      • some-other-pdf.pdf(id:1334)

我希望some-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级文件夹)。

出于某种原因,这对我的安装是否特殊,还是我真的不能依靠“路径”准确地包含所有祖先,尤其是第一级祖先?

提前致谢,

泰德

更新:

也许上下文比我想象的更重要:看起来虽然完整的祖先路径确实存在于数据库中(如预期的那样),但由于某种原因,它在我需要它的上下文中不可用:

    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;

...

由于某种原因,此时的路径属性(仅有时)不完整,如上所述。

1 个答案:

答案 0 :(得分:0)

由于似乎没有任何答案,请参阅上面的更新。