2016-10-12 43 views
0

我有這樣的管道流體電話:TYPO3 Fluid uri action忽略參數?

{f:uri.action(pageUid: 102, action: 'getFile', noCacheHash: true, additionalParams: {id: 102})} 

然而,這似乎是參數「pageUid」,「noCacheHash」和「additionalParams」被忽略,因爲得到的網址如下:

http://www.example.com/excontroller/?no_cache=1&tx_excontroller_bmbf%5Baction%5D=getFile&tx_excontroller_bmbf%5Bcontroller%5D=excontroller&cHash=cec99a845beead4fe9f3863494abf1c7 

由於它的ajax調用,我會glady禁用cHash。或者至少通過pageUid,所以我沒有得到「cHash計算」 - 錯誤。

所以,我錯過了什麼?爲什麼參數不適用?

回答

1

至於noCacheHash: true我想流體將真實看作是一個varibale。改爲嘗試noCacheHash: 1

至於additionalParams是沒有前綴的參數。如果您希望將它們作爲動作前綴,請使用arguments

編輯:從答案中刪除了不好的建議。謝謝你,克勞斯。

+1

對不起,但關於建議單引號圍繞陣列我強烈建議反對它。詳細的推理可以在https://vimeo.com/167666466找到,但長話短說:這將開始成爲一個不受支持的用例,不再在Fluid standalone中處理。另一個建議使用'1'而不是'true'是絕對正確的,並且是非常強制的。它被視爲一個變量引用,其中包含'null'作爲值,並且在投射時給出布爾型'false',這與意圖相反。 –

+0

謝謝克勞斯的評論。這意味着'{f:uri.action(arguments:{id:102})}'是正確的嗎?坦率地說,我沒有測試任何:) – Daniel

+0

'{f:uri.action(arguments:{id:102})}'是正確的語法,但不要忘記,這個特殊的ViewHelper有一個強制的'action'參數,所以也許你想添加一個虛擬參數,使其正確的語法和正確的用法;) –