Magnolia CMS:如何获取搜索结果的 locale-based 摘录?
Magnolia CMS: How to get locale-based excerpt for search result?
使用文档中提供的搜索示例片段
[#list searchResults as item]
<a href="${cmsfn.link(item)}" class="list-group-item">
<h4 class="list-group-item-heading">${item.title!}</h4>
<p class="list-group-item-text">${item.excerpt!}</p>
</a>
[/#list]
变量 ${item.excerpt!}
returns 所有语言 的摘录,不仅是当前语言环境。因此,如果我有一个德语 (de) 和法语 (fr) 页面,此 ${items.excerpt!}
包含并显示一个索引标题元素,例如两次。 Solr 不会按语言分别提取和存储文本吗?
${item.title}
以正确的语言显示。
如何只获取当前语言环境的摘录?
DE 搜索(也显示法语文本):
FR 搜索(也显示德语文本):
由于 excerpt
属性 实际上不是 属性,而是 Jackrabbit rep:excerpt()
函数的结果(参见 SearchTemplatingFunctions code),简短的回答是 不,这是不可能的。
无论如何,您始终可以实现自己的 SearchTemplatingFunctions
(Jackrabbit 的 and/or ExcerptProvider)。
使用文档中提供的搜索示例片段
[#list searchResults as item]
<a href="${cmsfn.link(item)}" class="list-group-item">
<h4 class="list-group-item-heading">${item.title!}</h4>
<p class="list-group-item-text">${item.excerpt!}</p>
</a>
[/#list]
变量 ${item.excerpt!}
returns 所有语言 的摘录,不仅是当前语言环境。因此,如果我有一个德语 (de) 和法语 (fr) 页面,此 ${items.excerpt!}
包含并显示一个索引标题元素,例如两次。 Solr 不会按语言分别提取和存储文本吗?
${item.title}
以正确的语言显示。
如何只获取当前语言环境的摘录?
DE 搜索(也显示法语文本):
FR 搜索(也显示德语文本):
由于 excerpt
属性 实际上不是 属性,而是 Jackrabbit rep:excerpt()
函数的结果(参见 SearchTemplatingFunctions code),简短的回答是 不,这是不可能的。
无论如何,您始终可以实现自己的 SearchTemplatingFunctions
(Jackrabbit 的 and/or ExcerptProvider)。