0

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

plugin.tx_indexedsearch.settings.rootPidList = 3

...使搜索结果仅限于域页面树。但是一旦使用rootPidList,就再也没有结果了。然后我试过了...

plugin.tx_indexedsearch.settings.defaultOptions.sections = rl1_3

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

那么“rootPidList”的用途是什么?

4

1 回答 1

1

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

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

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

这发生在使用上面的 $this->searchRootPageIdList 之后,因为上面将获取 CURRENT 站点的菜单——不管这里的这种搜索。因此,一般搜索将在整个数据库中查找,而特定部分搜索将获取当前部分。

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

defaultOptions.sections设置如下:

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

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

例如对于印度尼西亚(英语),我们使用 level = 2 和 root = 12947。

在此处输入图像描述

于 2019-12-04T07:49:37.427 回答