indexed_search多域(TYPO3 9 LTS)

时间:2019-12-03 22:43:40

标签: typo3 typo3-9.x tx-indexed-search

有一个多域设置(域在同一级别上彼此相邻),每个域都有自己的搜索页面和配置。我已经尝试过...

plugin.tx_indexedsearch.settings.rootPidList = 3

...仅将搜索结果限制在域页面树中。但是,一旦使用rootPidList,就根本没有结果了。然后我尝试了...

plugin.tx_indexedsearch.settings.defaultOptions.sections = rl1_3

...,这似乎可以正常工作,将结果限制为页面树(在页面ID 3以下)。

那么“ rootPidList”是用来做什么的?

1 个答案:

答案 0 :(得分:1)

根据代码(typo3/sysext/indexed_search/Classes/Controller/SearchController.php, Line 232)中的注释:

  

设置搜索的根PID列表。请注意,这些页面ID必须具有TypoScript模板,其上带有根标志!

     

基本上,此列表用于在“ rl0”字段上进行选择,并且只有在带有根标志的TypoScript模板记录存在的情况下,页面ID才注册为“ rl0”。

     

在使用上面的$ this-> searchRootPageIdList之后发生这种情况,因为上面的内容随后将获取CURRENT网站的菜单-不管此处进行哪种搜索。因此,常规搜索将在WHOLE数据库中查找,而特定部分的搜索将获取当前部分。

在多域设置中,我们将rootPidList设置为整个根页面(在本例中为id = 457)。

defaultOptions.sections的设置如下:

defaultOptions.sections=rl{$customer_theme.search.level}_{$customer_theme.root}

{$customer_theme.search.level}设置为1或2,具体取决于每个国家/地区提供的一种以上语言。
{$customer_theme.root}是根页面(由根页面标记标记)。

例如对于印度尼西亚(英语),我们使用级别= 2,根= 12947。

enter image description here