2017-09-15 12 views
0

背景:我們的pagetree不適用於語言疊加層,也不適用於每個域的單獨域。不同的語言由域下的子樹表示。TYPO3中的域中的不同子樹可以使用不同的Solr核心嗎?

Pagetree:

  • example.com(Rootpage + sys_domain)
      • Seite 1
      • 頁面2
      • 第2頁

我們使用TYPO3,EXT:Solr的和Solr。

在TYPO3的域中,對於不同的子樹可以使用不同的Solr核心嗎?

到目前爲止,我發現了一種基於TS-Conditions處理不同語言和核心的解決方案:[globalVar = GP:L = 1]。但那不是我們的用例。

此外,我發現了一個6年的問題,它完全代表了用例,但沒有一個肯定的答案(https://forum.typo3.org/index.php/t/158570/)。

有人可以給我一個提示嗎?這個用例可能嗎?

回答

3

是的,這是可能的EXT的第7版:Solr的

  • 集 「用作Rootpage」 頁 「德」 和頁上的 「恩」 上Rootpage
  • 刪除 「使用的Rootpage」如果設置(如果使用EXT:realurl,請務必將其設置在配置明確)
  • 以下行添加到您的AdditionalConfiguration.php

`

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['solr']['sites']['<uid of page "de">']['domains'] = ['your.domain.de']; 
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['solr']['sites']['<uid of page "en">']['domains'] = ['your.domain.de']; 
  • 配置中的TypoScript常量頁「德」和「EN」的核心,因爲你需要它

`

plugin.tx_solr { 
    solr { 
    scheme = http 
    host = <your-solr-dhost> 
    port = 80 
    path = <your-solr-core> 
    } 
} 

然後,你需要調度的任務索引網站......一個用於「de」,一個用於「en」。

作品相當不錯這裏:-)

0

從我的經驗是最有可能不可能的。 原因是,EXT:solr工具需要一個同時適用於後端和前端上下文的常見TypoScript配置。 這就是爲什麼他們選擇不基於前端請​​求評估TypoScript配置(這可能會使頁面樹中任何位置的配置不同),而是基於標記爲域根的頁面。

因此,配置解析器首先查找這樣的頁面,然後評估樹中特定級別/點的TypoScript設置。

我認爲你唯一的解決方案是對上述機制做出相當深刻的改變,這是可能的,我自己做了(因爲我有許多根本原因而排除了一些根級頁面)。 這樣,您可以指示引擎從您想要的樹中的任何固定位置獲取TypoScript設置。

如果您有興趣嘗試此操作,這將是擴展的類方法:ApacheSolrForTypo3 \ Solr \ ConnectionManager :: getConfiguredSolrConnections()

相關問題