簡體   English   中英

f:uri.image的內聯符號在typo3 8.3.0中被破壞了嗎?

[英]Is inline notation of f:uri.image broken in typo3 8.3.0?

我使用TYPO3\\CMS\\Frontend\\DataProcessing\\FilesProcessor來訪問FAL圖像

dataProcessing {
    20 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
    20 {
        references.fieldName = image
        as = images
    }
}

使用<f:uri.image image="{images.0}" />工作正常,但{f:uri.image(image:'{images.0}')}{f:uri.image(image:images.0)}

給我一個FE錯誤:

#1:PHP警告:htmlspecialchars()期望參數1為字符串,對象在 typo3_cms8 / vendor / typo3fluid / fluid / src / Core / Parser / SyntaxTree / EscapingNode.php第41行中給出

信息:在7.LTS中代碼有效

這是由兩件事組合造成的:

  • {images.0}變量是一個對象,沒有__toString方法
  • 參數傳遞包含在提供的內聯示例中的TextNode中

要解決此問題,請避免將對象訪問器包裝在文本節點中:

{f:uri(image: images.0)}

有關此問題的更詳細說明,您可以查看關於主題的視頻: 掌握流體 - 訪問變量

我還應該補充一點,我們確實知道變量的邊緣情況,這些變量與包在TextNode中的字符串不兼容。 到目前為止,我們的決定是,我們寧願允許這種邊緣情況滑過,並避免添加一個條件,需要檢查每個模板中的每個變量,累積數十億條件的數十億條件,單一目標是避免此警告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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