簡體   English   中英

Typo3,如何動態改變內容

[英]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(另見此解決方案):

  1. 像這樣在打字稿(設置)中獲取 cookie 值:
lib.requestedLocation = TEXT
lib.requestedLocation.data = global:_COOKIE|<cookie-name>
  1. 獲得 cookie 值后,我們可以像這樣使用它:
   <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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM