EPiServer SearchDataSource control Свойство UseFallbackLanguage - PullRequest
1 голос
/ 15 ноября 2011

Как 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>

И я ожидаю, что, если я буду искать слово, его следует искать на текущем языке и на всех резервных языках для каждой страницы.Это правильно?

В настоящее время я не вижу разницы в истинном или ложном значении.

1 Ответ

2 голосов
/ 15 ноября 2011

РЕДАКТИРОВАТЬ:

Забудьте ниже часть.SearchDataSource полностью переопределяет метод Select и использует FindPagesWithCriteria.Свойство UseFallbackLanguage используется только для PageDataSource и никак не влияет на унаследованный SearchDataSource.

Этот параметр влияет только на откат основного языка.Если найденная страница недоступна на текущем языке, будет показана версия основного языка страницы.

Она используется в GetChildren источника PageDataSource, от которого наследуется SearchDataSource:

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

Также способ, которым это делается, является ошибочным,Я считаю, что все еще есть ошибка с методом AutoDetect.Смотрите следующее сообщение на форуме:

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

...