2sxc博客应用帖子和DNN搜索

时间:2016-10-06 11:04:28

标签: dotnetnuke 2sxc

在使用2sxc博客应用程序时,我注意到DNN搜索结果显示了所有帖子,但帖子标题的链接是主要的博客页面,而不是实际的帖子链接。

示例搜索结果显示:

页面标题: 我是帖子标题

以上标题的链接是: /博客

应该是: /博客/后/ I-AM-A-后标题

通过将以下内容添加到cshtml代码来管理以修改搜索结果:

@using ToSic.Eav.DataSources
@using ToSic.SexyContent.Search
@using DotNetNuke.Entities.Modules

@functions{

    // Prepare the data - get all categories through the pipeline

    public override void CustomizeData()
    {

    }

    /// <summary>

    /// Populate the search - ensure that each entity has an own url/page

    /// </summary>

    /// <param name="searchInfos"></param>

    /// <param name="moduleInfo"></param>

    /// <param name="startDate"></param>

    public override void CustomizeSearch(Dictionary<string, List<ISearchInfo>> searchInfos, ModuleInfo moduleInfo, DateTime startDate)
    {

        foreach (var si in searchInfos["Default"])
        {
            si.QueryString = "post=" + si.Entity.EntityId;
        }
    }
}

但是,而不是 si.Entity.EntityId 我希望 UrlKey 能够展示,还有任何想法如何?

2 个答案:

答案 0 :(得分:0)

简单 - 只需转换为DynamicEntity - https://github.com/2sic/2sxc/wiki/DotNet-DynamicEntity

directionOptions: any = [{ name: 'Left' , value: 'L' }, { name: 'Right' , value: 'R' }, { name: 'None' , value: 'N' }];

来自瑞士的爱:) PS:如果这解决了您的问题,请将其标记为已解答

答案 1 :(得分:0)

foreach (var si in AsDynamic(searchInfos["Default"]))
    {
        si.QueryString = "post=" + si.UrlKey;
    }

将searchInfo作为动态实体后,像&#34; Title&#34;作品。但该物业&#34; UrlKey&#34;不起作用。