1

UseFallbackLanguage应该如何影响搜索结果?我有以下代码:

<EPiServer:SearchDataSource ID="uiSearchDataSource" runat="server"      
               EnableVisibleInMenu="false" 
               UseFallbackLanguage="true"
               PageLink="<%# PageReference.StartPage %>" 
               LanguageBranches="<%# this.CurrentPage.LanguageBranch %>">
    <SelectParameters>
            <asp:QueryStringParameter Name="SearchQuery" QueryStringField="search" DefaultValue="" />
    </SelectParameters>
</EPiServer:SearchDataSource>

我期望的是,如果我搜索“单词”,那么它应该以当前语言以及每个页面的所有后备语言进行搜索。那是正确的吗?

目前我没有看到真值或假值有任何区别。

4

1 回答 1

2

编辑:

忘记下面的部分。SearchDataSource 完全覆盖 Select 方法并使用 FindPagesWithCriteria。UseFallbackLanguage 属性仅在 PageDataSource 上使用,在继承的 SearchDataSource 中完全没有影响。

该设置仅影响主语言回退。如果您找到的页面在当前语言中不可用,则将显示该页面的主语言版本。

它用于 SearchDataSource 继承自的 PageDataSource 的 GetChildren:

DataFactory.Instance.GetPage(new PageReference(pageID), LanguageSelector.AutoDetect(this.UseFallbackLanguage));

这样做的方式也有问题,我相信 AutoDetect 方法仍然存在错误。请参阅以下论坛帖子:

http://world.episerver.com/Modules/Forum/Pages/Thread.aspx?id=35269&epslanguage=en

于 2011-11-15T15:31:49.733 回答