知道如何解決這個問題嗎?我有一個 extbase 插件,它有一個列表和一個顯示操作。兩者都應(yīng)該是可緩存的,并且詳細鏈接不應(yīng)包含緩存哈希我無法做到這一點。一旦我啟用緩存,我總是會得到相同的細節(jié)操作結(jié)果。我將插件配置為可緩存:// add detail plugin\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'Vendor.Extension', 'SomePiName', [ 'ControllerName' => 'show', ], [], \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT);路由配置:routeEnhancers: MyEnhanceName: type: Extbase extension: Extension plugin: SomePiName routes: - { routePath: '/{localized_entry}/{slug}', _controller: 'ControllerName::show', _arguments: {'slug': 'uuid'} } defaultController: 'ControllerName::show' aspects: localized_entry: type: LocaleModifier default: 'show' localeMap: - locale: 'de_DE.*|de_AT.*|de_CH.*' value: 'detail' - locale: 'it_IT.*' value: 'dettaglio' slug: type: customType我的自定義方面通過將外部 uuid 映射到生成的 slug 上來工作,該 slug 存儲在我維護的 mysql 表中。我想要一個深層鏈接,例如:/path/to/page/show/here-comes-the-slug但我明白了/path/to/page/show/here-comes-the-slug?cHash=...所以我補充說:$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = "tx_extension_somepiname[uuid]";$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = "tx_extension_somepiname[controller]";$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = "tx_extension_somepiname[action]";現(xiàn)在鏈接看起來像:/path/to/page/show/here-comes-the-slug但是一旦我激活緩存,我總是會得到相同的結(jié)果。所以我需要一個緩存哈希計算,但我不希望 fu**er 出現(xiàn)在鏈接中......使用 ContentObjectRenderer->typolink_URL 和配置生成鏈接:[ "parameter" => "t3://myhandler?uuid=someuuid"]該處理程序轉(zhuǎn)換為對 ContentObjectRenderer->typolink_URL 的后續(xù)調(diào)用,其配置如下:[ "parameter" => "t3://page?uid=someconfiguredpageuid", "useCacheHash" => 0, "additionalParams" => "&tx_extension_somepiname[uuid]=uuid&tx_extension_somepiname[controller]=Controller&tx_extension_somepiname[action]=show"]所以我的情況是,我既可以有一個cacheHash和一個正確的結(jié)果,也可以有一個無效結(jié)果的cacheHash。這是怎么做的?
2 回答

開心每一天1111
TA貢獻1836條經(jīng)驗 獲得超13個贊
您不應(yīng)排除實際將頁面內(nèi)容與 cHash 生成區(qū)分開來的參數(shù)。它們真的只能與外部跟蹤參數(shù)fbclid
等一起使用。
如果您依賴緩存,也不要使用 useCacheHash=0 。
而是配置路由增強器以刪除?cHash
.

富國滬深
TA貢獻1790條經(jīng)驗 獲得超9個贊
好的,我解決了這個問題,這里是必要的步驟:
1) 就像 Jonas Eberle 建議的那樣,我們從 excludeParameters 中刪除 extbase 參數(shù)。
2) 將詳細信息操作配置為可緩存(從 extbase 插件注冊/ext_localconf.php 中的第二個可能操作數(shù)組中刪除控制器->操作組合)
3) 使用自定義方面時,實現(xiàn)“StaticMappableAspectInterface”。我沒有在核心中找到相關(guān)部分,但似乎需要這個接口!看看 PersistedAliasMapper。
現(xiàn)在它工作...
- 2 回答
- 0 關(guān)注
- 130 瀏覽
添加回答
舉報
0/150
提交
取消