簡體   English   中英

TYPO3 DCE(流體):如何生成SVG對象而不是圖像標簽?

[英]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.

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