[英]Typo3, how to dynamically change content
有一個要求,根據用戶在第一次訪問時做出的選擇來更換徽標。 (國際標志和北美標志)
乍一看,這個問題可以使用 cookie 來解決。 我實現了一些 javascript,如果需要檢查和設置 cookie。 到目前為止,這工作正常,但使用 javascript 更改為徽標並不是 go 的方法,現在我正在尋找可能的解決方案。
如果遵循 cookie 方法,我需要一種基於 cookie 換出模板/部分的方法。 有沒有辦法使用流體或打字稿來做到這一點?
也許cookie方法是處理這個問題的錯誤方法? 也許這可以(ab-)使用語言選擇或類似的東西來完成?
任何幫助或想法表示贊賞。
謝謝!
首先:請使用更准確地描述問題的問題標題。
使用 javascript 設置 cookie 后,您可以設置徽標以在 TypoScript 中呈現。
使用條件( https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Conditions/Index.html#request-getcookieparams )您可以讀取 cookie 參數並設置徽標取決於餅干。
[request.getCookieParams()['logo'] == 'us']
lib.logoFile = pathToYourLogos/us.svg
[else]
lib.logoFile = pathToYourLogos/international.svg
[end]
感謝@thomas-löffler 和@jonas-eberle 指出了正確的方向。 Thomass 解決方案適用於 Typo3 >= 9。該解決方案適用於 Typo3 版本。 8.7(另見此解決方案):
lib.requestedLocation = TEXT
lib.requestedLocation.data = global:_COOKIE|<cookie-name>
<f:variable name="location" value="{f:cObject(typoscriptObjectPath: 'lib.requestedLocation')}" />
<f:if condition="{location} == 'america'">
<f:then>
<img class="logo" src="/path-to-us-logo.svg">
</f:then>
<!-- defaulting to international if cookie is not set or somehting else is wrong -->
<f:else>
<img class="logo" src="/path-to-international-logo.svg">
</f:else>
</f:if>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.