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



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

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

-介质组1(id:123)

    • 第1分组(id:234)
      • some-pdf.pdf(id:334)

-介质组2(id:1023)

    • 分组1(id:1234)
      • some-other-pdf.pdf(id:1334)

我预计有些-pdf.pdf的路径是{-1234123},而另一些-pdf.pdf则是{-10231234},但我发现,令人惊讶的是,祖父母经常不在场!例如,some-pdf.pdf将是{-1234},some-other-pdf.pdf是{-1244}。

这尤其有问题,因为我需要知道媒体组是什么,因为作为一个客户,它要求搜索可以由组过滤(意味着meda中每个PDF的1级文件夹)。

这对我的装置来说是因为某种原因吗?还是我真的不能依靠"路径"来准确地包含所有祖先,尤其是一级祖先?

提前感谢

Ted

更新:

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

    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;

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

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

最新更新