MAGNOLIA CMS - cmsu:simpleSearch 在作者实例中工作,但在公共实例中不返回任何结果
Posted
技术标签:
【中文标题】MAGNOLIA CMS - cmsu:simpleSearch 在作者实例中工作,但在公共实例中不返回任何结果【英文标题】:MAGNOLIA CMS - cmsu:simpleSearch works in Author instance but returns no results in Public instance 【发布时间】:2011-09-20 16:07:13 【问题描述】:我正在使用以下代码来显示我的搜索结果
<c:if test="$!empty param.SearchName">
<h1>Results for "$fn:escapeXml(param.SearchName)"</h1>
<ol>
<cmsu:simpleSearch query="$param.SearchName" var="results" startLevel="1" />
<c:if test="$empty results">
<p>No results could be found</p>
</c:if>
<c:forEach var="node" items="$results">
<li>
<span class="pageTitle"><a href="$pageContext.request.contextPath$node.handle.html">$node.title</a></span>
<a href="$pageContext.request.contextPath$node.handle.html"><p class="snipet"><cmsu:searchResultSnippet query="$fn:escapeXml(param.SearchName)" page="$node" chars="120"/></p></a>
</li>
</c:forEach>
</ol>
</c:if>
它在 Author 实例中运行良好,但由于某种原因,在公共实例中返回的结果集始终为空。
条件总是返回真。
知道这个问题是从哪里来的吗?
提前致谢,A。
【问题讨论】:
【参考方案1】:2 ideas were suggested by Danilo Ghirardelli 这可能是问题的根源:
-
公共实例中的权限问题。匿名用户的读取权限
和/或在没有匿名访问的存储库中进行查询搜索。
公共实例上的索引已损坏,您可能需要重新生成它们。停用并重新激活整个网站可能会解决此问题。
检查这些可能性后:
-
匿名用户的权限是正确的。
我停用并重新激活了整个网站,它确实成功了!
比第 2 点更好的解决方案是:3.a 在作者实例的管理面板中,从“The-Insider”根页面导出所有页面
3.b 在Public Instance的管理面板中,删除所有页面
3.c 在公共实例的管理面板中,激活“The-Insider”根页面上的更改
3.d 在公共实例的管理面板中,导入您在步骤 3.a 中生成的 xml 文件
一个。
【讨论】:
以上是关于MAGNOLIA CMS - cmsu:simpleSearch 在作者实例中工作,但在公共实例中不返回任何结果的主要内容,如果未能解决你的问题,请参考以下文章
VirtualUriMapping 不起作用 - Magnolia CMS