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 在作者实例中工作,但在公共实例中不返回任何结果的主要内容,如果未能解决你的问题,请参考以下文章

Magnolia CMS - 集成第三方系统

VirtualUriMapping 不起作用 - Magnolia CMS

Magnolia CMS - 用于创建模板的模块创建技术

自定义操作实施 Magnolia CMS

在 CMS Magnolia 5.7.4 中找不到 AddHeadersFilter

如何通过magnolia cms成像模块改变图像大小