我的Typo3安装有以下设置:
的TypoScript:
lib.responsiveImage = IMAGE
lib.responsiveImage {
default = IMAGE
default{
file {
import.current = 1
treatIdAsReference = 1
}
altText.data = DB:sys_file_reference:26:alternative
titleText.data = current
}
}
其中产生以下输出标记(删除了不必要的内容;重要的是alt和标题标记):
<img class="img-responsive" srcset="XY.jpg" alt="AltText" title="26" sizes="(min-width: 1200px) 1100px">
如您所见,current
提供了正确的“26”uid。通过DB:sys_file_reference:26:alternative
的数据库查询提供了正确的“AltText”。
然而 - &gt;我怎么能动态地实现这个目标呢?
我试过这样的事情
DB:sys_file_reference:{current}:alternative
但这不起作用。 current应该是FileReference的uid
(另外altText.data = file:current:alternative给我一个Error: No File Object
)
答案 0 :(得分:1)
也许使用FILES元素更安全:
lib.responsiveImage = FILES
lib.repsonsiveImage {
references.current = 1
renderObj = IMAGE
renderObj {
file.import.data = file:current:uid
file.treatIdAsReference = 1
altText.data = file:current:alternative
titleText.data = file:current:title
emptyTitleHandling = useAlt
}
}
答案 1 :(得分:1)
幸运的是我找到了解决方案:
default = IMAGE
default{
file {
import.current = 1
treatIdAsReference = 1
}
sourceCollection < tt_content.image.20.1.sourceCollection
layout < tt_content.image.20.1.layout
layoutKey = srcset
altText.data.dataWrap = DB:sys_file_reference:{current}:alternative
altText.wrap = |
}
如果您使用dataWrap,则{current}
按预期工作!