【问题标题】:DataFactory.GetChildren return zero results on page but not in CMSDataFactory.GetChildren 在页面上返回零结果,但在 CMS 中不返回
【发布时间】:2011-10-14 15:14:55
【问题描述】:

我有一个奇怪的问题,在将 EPiServer CMS 6 升级到 EPiServer CMS 6 R2 后开始出现。

DataFactory.Instance.GetChildren(page.ParentLink);

当我在实际站点上运行上面的代码时,它没有返回任何子级,但是当我使用编辑器模式并浏览到页面时,我得到 36 个结果(这是正确的)。数据工厂在网站上的所有其他地方都可以使用,并且非常适用于瑞典语网站,但它不适用于任何其他语言。我应该指出,在站点升级到 CMS 6 R2 之前,这适用于所有语言。

我需要那些孩子!有什么想法吗?

【问题讨论】:

    标签: episerver episerver-6-r2


    【解决方案1】:

    是否为这些语言发布了子页面?

    这有帮助吗?它适用于 CMS 5,但原理相同。

    http://labs.episerver.com/en/Blogs/Mari-Jorgensen/Dates/2009/2/Breaking-change-in-GetChildren/

    【讨论】:

    • 是的,页面已发布,并且提供的修复在所有调用中返回零结果。但我设法通过指定语言分支来解决它。
    【解决方案2】:

    设法通过在调用中指定语言分支来解决这个问题。在 Epi 6 R2 之前不需要这样做,我仍然认为它在编辑器模式下工作而不是在实际站点上工作很奇怪。

    DataFactory.Instance.GetChildren(page.ParentLink, new LanguageSelector(page.LanguageBranch));
    

    【讨论】:

    • 你也可以试试LanguageSelector.AutoDetect()。
    猜你喜欢
    • 2016-11-10
    • 2014-05-06
    • 2013-09-28
    • 2015-07-13
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多