Kentico 9搜索结果转换

问题描述:

在查看法语搜索结果时,我们发现了一个错误。在CMS Desk中,我保留了法文内容的英文页面名称。问题是,这些都显示在法国的结果页面上。Kentico 9搜索结果转换

在改造

,基于关闭默认的,我目前的可点击的标题是这样的:

<a href='<%# SearchResultUrl() %>' data-type="title" target="_blank" ><%#SearchHighlight(HTMLHelper.HTMLEncode(CMS.ExtendedControls.ControlsHelper.RemoveDynamicControls(DataHelper.GetNotEmpty(Eval("Title"), ""))), "<span class='highLight'>", "</span>")%></a> 

这里是我的想法,如果菜单标题填报的,使用而不是标题。如何在不调整菜单页面类型的搜索字段的情况下输出DocumentMenuCaption?

我想我的逻辑是,检查DocumentMenuCaption是否为emtpy,如果它使用的话,使用Title。

您应该能够继续使用GetNotEmpty,只是通过在DocumentMenuCaption第一,这样的事情:

<%# GetNotEmpty(GetSearchValue("DocumentMenuCaption");Eval("Title")) %> 

您可能会或可能不会需要“GetSearchValue”的功能,但它允许你抢值来自搜索结果的默认列集中可能不可用的对象。

另外,你应该能够使用IfEmpty()方法:

<%# IfEmpty(GetSearchValue("DocumentMenuCaption"), Eval("Title"), GetSearchValue("DocumentMenuCaption")) %> 

从这里取两者的变换方法(仔细检查语法的“GetNotEmpty”因为有不同的方式它的实现:https://docs.kentico.com/k9/developing-websites/loading-and-displaying-data-on-websites/writing-transformations/reference-transformation-methods

你可以在这里阅读更多关于搜索转换:https://docs.kentico.com/k9/configuring-kentico/setting-up-search-on-your-website/displaying-search-results-using-transformations

+0

干杯我不能让GetNotEmpty工作,但IfEmpty是招我rejigged转型似乎运作良好。 。 –