我正在使用TemplavoilàPlus,我有一个用户填写的标题为field_title
的字段。我使用此字段通过Typoscript对象路径为FCE的其他字段创建URL/HTML。
常量:
file = fileadmin/datasheets/|.pdf
设置:
lib.field_datasheet = TEXT
lib.field_datasheet {
field = field_title
wrap = <a href="{$file}"></a>
}
问题是,我只想在文件/URL存在的情况下这样做。首先,我想检查一下我创建的URL是否没有链接到404页面。然后我想检查文件大小是否不是0会更容易一些。经过两天的工作,在到处寻找之后,我意识到这些解决方案都不是简单的…
我想我有一些答案,使用stdWrap.rawUrlEncode
、file:current:size
、if.isTrue.data
、FILE
等…但很明显,Typoscript不是为初学者设计的,我似乎找不到如何将所有东西放在正确的顺序,以及如何正确使用所有这些东西。
我想我可以使用下面这样的东西来管理这种情况:
if.isTrue < .10 #.10 containing the size of the file
if.value = 0
但真正困难的部分是从我使用Typoscript创建的网址中获取文件大小的。我想肯定有一种方法只能通过Typoscript来实现,因为我知道可以从文件的uid…中获取文件的大小
或者我应该只检查是否指向一个404页面的。或者也许有一个我没有想过的更简单的解决方案!
非常感谢您的帮助,如果这个问题太容易解决,我们深表歉意,非常感谢您阅读这篇文章!=)
编辑:我使用的是Typo3 7.6
发布于 2018-07-11 04:16:22
你可以使用filelink来实现这一点。如果不进行测试,它应该是这样的:
lib.field_datasheet = TEXT
lib.field_datasheet {
field = field_title
wrap = |.pdf
filelink {
path = fileadmin/datasheets/
file.field = field_title
}
}
但是,如果文件不在那里,我不确定它会做什么。它可能什么也不显示,在这种情况下,您可以使用ifEmpty.field = field_title
只显示文本。
有关文件链接的更多信息:https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Filelink.html
发布于 2018-07-05 13:18:20
为什么不让TYPO3来决定文件是否存在,是否值得构建链接?
你的问题可能是你没有任何东西可以联系起来。(空的A标签)
我会尝试这样的方法:
常量:
filePath = fileadmin/datasheets/|.pdf
设置:
lib.field_datasheet = TEXT
lib.field_datasheet {
// use the 'filename' as text to be linked
field = field_title
// now build the link:
typolink.parameter {
field = field_title
wrap = {$filePath}|
}
}
发布于 2018-07-12 18:35:32
多亏了Rudy的回答,我才能解决我的问题。为了对其他人有用,这里是我使用过的Typoscript的一小段:
lib.field_datasheet = TEXT
lib.field_datasheet {
value {
field = field_title
wrap = |.pdf
}
filelink {
path = /fileadmin/datasheet/
target = _blank
altText = PDF icon
titleText = Download datasheet
//Personalize the icon, the file must be named pdf.png
icon_link = 1
icon = 1
icon {
path = fileadmin/icons/
ext = png
}
}
}
https://stackoverflow.com/questions/51176829
复制相似问题