我们在看法语搜索结果时注意到了一个bug。在CMS办公桌上,我保留了法语内容的英文页面名称。问题是,这些都显示在法国的结果页面上。
在基于默认转换的转换中,我呈现如下可点击的标题:
<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,如果它使用,使用标题。
发布于 2017-02-28 19:57:17
您应该能够继续使用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
https://stackoverflow.com/questions/42517226
复制相似问题