Пользователи TYPO3 (редакторы) должны обмениваться/обновлять SVG-файлы на веб-сайте TYPO3. Файлы svg можно щелкнуть, поэтому тэг <img>
html не работает для них. Мы приняли решение в пользу тега <object>
, с <img>
fallback (Do I use <img>, <object>, or <embed> for SVG files?).TYPO3 DCE (Fluid): Как сгенерировать объект SVG вместо тега изображения?
Жидкости код для фасада легко для создания нормальных 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}
только вставляет уникальный идентификатор файла (число).
Как преобразовать идентификатор файла в относительный или абсолютный URI изображения?
Что это значит? «Файлы svg доступны для кликов, поэтому тэг html не работает для них». –
Спасибо за подсказку. Я забыл «Теги разметки html, поэтому они были невидимыми. Я имел в виду, что html-тег '' не работает для них. Отредактированный вопрос сейчас. – user2349661