Как пройти параметры на шаблон отображения управления веб-частью поиска контента?

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/67619

Вопрос

Использование SharePoint 2013 У меня есть веб-часть поиска контента, которую я использую для отображения 5 новостей, используя следующие шаблоны отображения:

    .
  • Управление: список
  • Предмет: изображение слева, 3 строки справа

    и это работает просто хорошо.

    Что я хотел бы включить ссылку после 5 новостных статей, которые возьмут пользователя на страницу «Архив новостей», где она отображается все новости.

    Я думаю о создании пользовательского шаблона дисплея управления на основе шаблона отображения OOTB Control_list.js.Я полагаю, я мог бы сложный код ссылки на архив новостей в шаблоне отображения, но я хотел бы сделать его многоразовым.Есть ли способ, которым я мог динамически передавать данные на шаблон дисплея управления?

    Любые другие предложения о том, как подходить к этому?

Это было полезно?

Решение

Вы должны наследовать contentbysearchwebpart и перегружать событие onload:

protected override void OnLoad(EventArgs e)
{
    if (this.AppManager != null)
    {
        if (this.AppManager.QueryGroups.ContainsKey(this.QueryGroupName) &&
            this.AppManager.QueryGroups[this.QueryGroupName].DataProvider != null)
        {
            this.AppManager.QueryGroups[this.QueryGroupName].DataProvider.BeforeSerializeToClient +=
                new BeforeSerializeToClientEventHandler(EnhanceQuery);

         }
     }

     base.OnLoad(e);
}


protected virtual void EnhanceQuery(object sender, BeforeSerializeToClientEventArgs e)
{
    DataProviderScriptWebPart dataProvider = sender as DataProviderScriptWebPart;
    dataProvider.Properties.Add("MyProperty", this.MyProperty);
}
.

Теперь вы можете получить это свойство в шаблоне отображения HTML:

<!--#_
    var myValue = ctx.DataProvider.get_properties()["MyProperty"];
_#-->
<div>_#= myValue =#_</div>
.

Другие советы

Мне интересно, почему вам нужно отобразить шаблон для этого вообще!Вы можете поставить предел 5 каких-либо результатов в CSWP и добавить веб-часть редактора контента в конец страницы (после CSWP), чтобы направлять пользователю на новую страницу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top