[英]TYPO3 DCE (Fluid): How to generate an SVG Object instead of an image tag?
我們的TYPO3用戶(編輯)需要將SVG文件交換/更新到TYPO3網站。 svg文件是可單擊的,因此<img>
html標記不適用於它們。 我們決定支持<object>
標簽,並使用<img>
后備( 我是否對SVG文件使用<img>,<object>或<embed>? )。
前面的Fluid代碼很容易生成普通的img標簽:
<f:layout name="Default" />
<f:section name="main">
<div class="container">
<f:for each="{dce:fal(field:'image1', contentObject:contentObject)}" as="fileReference" iteration="iterator">
<f:if condition="{iterator.isFirst}">
<f:image src="{fileReference.uid}" alt="" treatIdAsReference="1" />
</f:if>
</f:for>
</div>
</f:section>
但是,根據FluidTYPO3 vhs ViewHelper for SVG Images? ,我也許可以使用如下代碼:
<img src="{f:uri.image(src: 'uploads/tx_myext/{imgIcon}')}">
根據對象進行調整的是:
<object data="{f:uri.image(src: 'xxx')}" type="image/svg+xml">
<img src="{f:uri.image(src: 'xxx')}">
</object>
不幸的是,我不知道作為src提供什么。 {fileReference.uid}
僅插入文件的唯一ID(數字)。
如何將文件ID轉換為圖片的相對或絕對URI?
我認為您正在尋找viewhelper屬性TreatIdAsReference 。 f:image以及f:uri:image都可以處理File和FileReferences。
看起來您具有FileReference,因此應添加值為1的屬性。這是一個帶有內聯符號的示例:
{f:uri.image(src: '{fileReference.uid}', treatIdAsReference:'1')}
結果是文件的路徑,可以在常規HTML標記中使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.