我有以下我的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"。
但是 ->我该如何动态实现?
我尝试了这样的事情
DB:sys_file_reference:{current}:alternative
但这无效。电流应为归档的UID
(也是alttext.data =文件:当前:替代品给我一个Error: No File Object
)
也许文件元素的使用更安全:
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
}
}
幸运的是我找到了一个解决方案:
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}
按预期工作!