请不要害怕这个问题的长度 - 我认为解决方案很简单......
梗概:
我在TypoScript中创建了一个CONTENT
对象来读取数据库的内容。其中一个结果字段是文本文件的文件名,但我无法找到如何在CONTENT对象中呈现文件名的内容。
我发现我可以用以下内容读取给定文件的内容:
30 = FILE
30.file = <filepath>/<filename>
但在我走的时候我还没发现:
a)如何将CONTENT字段的结果用作<filepath>/<filename>
b)如何在某些情况下抑制FILE-OBJECT,因为它似乎没有对.if
条件做出反应。
示例:我的实际问题
我想阅读所有在后端创建为“Text&amp; Media”内容元素的视频文件,并在前端显示带有我的typoscript的文件的URL。我的脚本适用于本地存储的视频,因为我可以从数据库中读取这些视频的文件路径。但是如果用户在后端创建了Youtube视频,我发现无法读取该视频的URL,因为我得到的只是文本文件的文件路径,然后包含URL(或者说是URL的唯一ID) 。所以我失败的地方是从文件中提取这个ID ......
当前的TypoScript:
obj.content_video = CONTENT
obj.content_video {
table = tt_content
select {
pidInList = this
selectFields = identifier,mime_type
leftjoin = `sys_file_reference` ON tt_content.uid = sys_file_reference.uid_foreign LEFT JOIN `sys_file` ON sys_file.uid = sys_file_reference.uid_local
where = tt_content.CType = 'textmedia' AND tt_content.colPos = 1 AND tt_content.deleted=0 AND sys_file_reference.deleted=0
orderBy = tt_content.uid
}
renderObj = COA
renderObj {
10 = TEXT
10.field = identifier
10.wrap = <div>MP4-Video: href="/fileadmin|"</div><br>
10.if {
value = video/mp4
equals.field = mime_type
}
20 = TEXT
20.field = identifier
20.wrap = <div>Youtube-Video: href="/fileadmin|"</div><br>
20.if {
value = video/youtube
equals.field = mime_type
}
}
}
当前结果:
当我在后端上传两个本地存储的视频和一个Youtube视频时,结果是:
MP4-Video:href =“/ fileadmin / myvideos / first_video.mp4”
MP4-Video:href =“/ fileadmin / myvideos / second_video.mp4”
Youtube-Video:href =“/ fileadmin / user_upload / some_youtube_file.youtube”
通缉结果:
MP4-Video:href =“/ fileadmin / myvideos / first_video.mp4”
MP4-Video:href =“/ fileadmin / myvideos / second_video.mp4”
Youtube-Video:href =“https://www.youtube.com/watch?v= VIDEO-ID ”
其中VIDEO-ID是文件 /fileadmin/user_upload/some_youtube_file.youtube 的内容 - 这是Youtube文件中字段'identifier'的内容。
如何更改上述代码以获得所需结果?