【问题标题】:Node link not working节点链接不起作用
【发布时间】:2018-01-29 20:25:10
【问题描述】:

我想将我的搜索结果从 searchfn 链接到页面,而不仅仅是组件。 目前我有:

[#if queryStr?has_content]
    [#assign searchResults = mySearchfn.searchContent('website', queryStr, '/home', 'mgnl:component') /]
[#assign recordsFound = searchResults?size /]

        <h3>  <em>${recordsFound}</em> Results -> "${queryStr}"</span></h3>

    <div class="list-group">
    [#if searchResults?has_content]
        [#list searchResults as item]
        <a href="${cmsfn.link(item)}" class="list-group-item">
            <p class="list-group-item-text">${item.excerpt!}</p>
            </a>


        <p class="list-group-item-text">${item.page!}</p>
        <!--return:getPath() of the node (pointing to component) as String-->
        <p class="list-group-item-text">${item.pageLink!}</p>
        <!--return:path/to/page as String-->

        [/#list]
    [/#if]
        </div>

[/#if]

我从标签获得的 url 类似于“路径/到/页面/区域/组件”,问题是我看不到完整页面,只有组件。

<a href="${cmsfn.contentByPath(item.pageLink, "website")}">link</a>

鉴于上面的示例,仅将 url 构建为 /page,而不是使用完整字符串 (path/to/page) 构建

【问题讨论】:

    标签: java search freemarker jcr magnolia


    【解决方案1】:

    要么

    • 改用searchPages(String query, String startPath)
    • 将代码中的最后一个参数更改为 mgnl:page 而不是 mgnl:component(因为最后一个参数是返回类型而不是搜索类型)。

    【讨论】:

      【解决方案2】:

      你可以试试:

      ${cmsfn.link(cmsfn.page(item))}

      或:

      ${cmsfn.link(cmsfn.contentByPath(item.pageLink))}

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-19
        • 1970-01-01
        • 2017-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-02
        相关资源
        最近更新 更多