【问题标题】:How does one correctly set the target page of indexed search results in typo3?如何在typo3中正确设置索引搜索结果的目标页面?
【发布时间】:2012-05-20 06:45:00
【问题描述】:

我正在使用typo3 4.7 并尝试将索引搜索插件的搜索结果重定向到我网站中的一个页面,并设法偶然发现了常量编辑器,我设法使用它来指导我设置目的。以下是我的根模板(映射到电视模板)中对象的当前排版:

# --- SEARCHBOX OBJECT ---------------------------------- 
lib.searchbox < plugin.tx_indexedsearch
lib.searchbox{
#Disable the advanced search link
show.advancedSearchLink = 0
show.rules = 0
show.alwaysShowPageLinks = 1

#pid of root page is 1 and pid of the search result page is 9
search.rootPidList = 1
search.targetPid = 1
view.defaultPid = 9
result_link_target = 9
}

到目前为止,我的尝试都没有成功,所有结果都显示在执行搜索的页面中。我还想知道是否可以修改显示的搜索框,以便只显示搜索字段。 感谢您的宝贵时间。

编辑:我已经安装并且正在试用 solr,如果有人对此有任何经验,请随时帮助解决此问题。到目前为止,我对 solr 的两个问题是,虽然搜索确实重定向到正确的页面,(1)搜索框太大,所以我需要能够修改这个框的显示(删除按钮并减少大小)(2)它会发出一些关于搜索规则的消息,但到目前为止什么也没返回。

编辑 2:似乎 solr 是前进的方向。除了结果输出之外,我已经设法完成了我想做的所有事情。在意识到 tomcat 容器绑定到 ipv6 协议接口之前,我失去了几天 (5)。解决 (see here for those who may stumble upon the same problem for how to resolve this) 意味着我现在可以远程管理 solr 服务器以获取更多信息。这些页面正在被编入索引(不是定期在调度程序中指定的),但我仍然在结果页面上没有得到任何结果,并且 devlog 只返回关于没有typo3 搜索标记的警告,尽管我的电视模板中充斥着它们。我只能猜测,也许我要用某种类型的标记来标记结果页面,以便在此时显示结果。

【问题讨论】:

  • Solr 是一个不错的选择。您的问题直到今天仍未解决,这一事实说明了 indexed_search 的不灵活性。另一个不错的选择是 ke_search,但 solr 更强大。

标签: search typo3 typoscript


【解决方案1】:

我从未将 indexedsearch 插件用作我所有页面的搜索框。

通常,我会这样做

  • 创建一个以 indexed_search 插件为内容的页面,这是 所有搜索请求都得到答复的地方
  • 使用 macina_searchbox 在模板中显示一个搜索框

详细说明:

安装 macina_searchbox,并使用这个 Typoscript 进行配置

plugin.tx_macinasearchbox_pi1 {
    pidSearchpage = {PID_OF_SEARCH_RESULT_PAGE}
    templateFile = {PATH_TO_TEMPLATE_FILE_FOR_SEARCH_BOX}
}

然后,像这样包含 macina_searchbox

lib.searchbox <  plugin.tx_macinasearchbox_pi1

搜索结果页面只需要 indexed_search 插件,您希望在其中显示结果。

【讨论】:

  • 问题不是显示搜索框,而是如何修改它的视图(即去掉按钮和搜索框标签),关键是如何将查询结果重定向到另一个页面。
  • 我正确理解您,显示结果不是问题,而是您希望在每个页面上都有一个搜索框(作为模板的一部分)?这两件事(自定义搜索框模板和重定向到不同的结果页面)正是 macina_searchbox 所做的(它什么都不做)。
  • 我们已经在这个插件上苦苦挣扎了几个小时,到目前为止还没有成功。它甚至比 solr 插件对我们的电视模板造成的损害更大。我们现在唯一的问题是,虽然它把我们带到了正确的页面(就像 solr),但它没有显示任何结果。
  • 您需要将您重定向到的页面上的 indexed_search 插件。 macina_searchbox 实际上并不进行搜索,它只是将搜索查询重定向到正确的页面。
  • 我们在发布之前尝试了所有这些,因为我必须加入其他开发人员来尝试解决这个问题。在向 IRC 寻求帮助后,决定于 3 天前放弃 macina 转为 solr。尤其是从长远来看,它将对我们的其他网站更有用。
【解决方案2】:

我会创建一个搜索框,复制 HTML 代码,调整 action-url 和 HTML 代码并输出它。恕我直言,如果您只需要一个搜索输入字段和一个按钮,则无需通过插件呈现它。但不要忘记隐藏字段!

【讨论】:

  • 我需要将它映射到 templavoila 中,这样如果需要将其移动到页面的另一部分,这将很容易。此外,搜索框(没有按钮或标签)必须出现在每个页面上。
【解决方案3】:
plugin.tx_indexedsearch {
   search {
    targetPid >
    targetPid = 123
   }
}

参考:http://lists.typo3.org/pipermail/typo3-team-core/2010-March/036269.html

经验:即使在 TYPO3 版本 6.x 中也能工作。

plugin.tx_indexedsearch.search.targetPid 的默认设置是:

plugin.tx_indexedsearch {
   search {
    # TSFE:id is always the current page
    targetPid.data = TSFE:id
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多