Typo3 键入脚本-仅当文件存在时使用URL链接文件
我使用的是TemplavoiláPlus,我有一个字段,用户用一个名为field_title的标题来完成它。 我使用此字段为FCE的其他字段创建URL/HTML,使用打字脚本对象路径 常数:Typo3 键入脚本-仅当文件存在时使用URL链接文件,typo3,typoscript,templavoila,Typo3,Typoscript,Templavoila,我使用的是TemplavoiláPlus,我有一个字段,用户用一个名为field_title的标题来完成它。 我使用此字段为FCE的其他字段创建URL/HTML,使用打字脚本对象路径 常数: file = fileadmin/datasheets/|.pdf filePath = fileadmin/datasheets/|.pdf 设置: lib.field_datasheet = TEXT lib.field_datasheet { field = field_title wrap
file = fileadmin/datasheets/|.pdf
filePath = fileadmin/datasheets/|.pdf
设置:
lib.field_datasheet = TEXT
lib.field_datasheet {
field = field_title
wrap = <a href="{$file}"></a>
}
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}|
}
}
但真正困难的部分是从我使用打字脚本创建的URL获取文件大小。
我很高兴,必须有一种方法可以做到这一点,只有用打字稿,因为我知道一个人可以得到一个文件的大小,从它的uid
或者我应该继续检查URL是否指向404页面。
或者也许有一个更简单的解决方案,我没有想到
任何帮助都将不胜感激,如果这个问题太容易解决,那么很抱歉,非常感谢您阅读这篇文章=
编辑:我正在使用Typo3 7.6为什么不让Typo3决定文件是否存在以及是否值得建立链接 你的问题可能是你没有什么可以联系的。空A标签 我想尝试一下:
lib.field_datasheet = TEXT
lib.field_datasheet {
field = field_title
wrap = |.pdf
filelink {
path = fileadmin/datasheets/
file.field = field_title
}
}
常数:
file = fileadmin/datasheets/|.pdf
filePath = fileadmin/datasheets/|.pdf
设置:
lib.field_datasheet = TEXT
lib.field_datasheet {
field = field_title
wrap = <a href="{$file}"></a>
}
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}|
}
}
为什么不让TYPO3决定文件是否存在以及是否值得建立链接 你的问题可能是你没有什么可以联系的。空A标签 我想尝试一下:
lib.field_datasheet = TEXT
lib.field_datasheet {
field = field_title
wrap = |.pdf
filelink {
path = fileadmin/datasheets/
file.field = field_title
}
}
常数:
file = fileadmin/datasheets/|.pdf
filePath = fileadmin/datasheets/|.pdf
设置:
lib.field_datasheet = TEXT
lib.field_datasheet {
field = field_title
wrap = <a href="{$file}"></a>
}
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}|
}
}
您可能可以使用filelink来实现这一点。如果不进行测试,它应该是:
lib.field_datasheet = TEXT
lib.field_datasheet {
field = field_title
wrap = |.pdf
filelink {
path = fileadmin/datasheets/
file.field = field_title
}
}
但不确定如果文件不在那里会发生什么。它可能不显示任何内容,在这种情况下,您可以使用ifEmpty.field=field\u title只显示文本
有关filelink的更多信息:您可能可以使用filelink来实现此目的。如果不进行测试,它应该是:
lib.field_datasheet = TEXT
lib.field_datasheet {
field = field_title
wrap = |.pdf
filelink {
path = fileadmin/datasheets/
file.field = field_title
}
}
但不确定如果文件不在那里会发生什么。它可能不显示任何内容,在这种情况下,您可以使用ifEmpty.field=field\u title只显示文本
更多关于filelink的信息:多亏了鲁迪的回答,我才能够解决我的问题。 为了让它对其他人有用,下面是我使用的一些打字稿:
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
}
}
}
多亏了鲁迪的回答,我才能够解决我的问题。 为了让它对其他人有用,下面是我使用的一些打字稿:
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
}
}
}
非常感谢你的回答。我试过你的答案,它是有效的,而且比包装成|要好。但是,即使文件不存在,链接仍在创建中…TYPO3的默认行为是:如果链接的目标不可用,不要生成链接,只显示要链接的文本。所以我会考虑一个空链接作为一个bug,你应该打开一个错误的车票抱歉,也许不清楚,链接只是链接到一个未找到的404。我试图找到默认行为的解释,我在这里找不到任何关于不可用链接的信息,不仅仅是当你链接到uid时,如果uid不存在,链接就不会生成?我觉得如果你写完整的URL,它就不一样了。那么问题可能是,从URL中生成uid是否可能/相关?我不知道是否记录了不可用链接的行为。您可能需要检查链接生成的PHP源代码,因为它不仅仅涉及打字脚本链接。流体或API调用生成的任何其他链接也是如此。非常感谢您的回答。我试过你的答案,它是有效的,而且比包装成|要好。但是,即使文件不存在,链接仍在创建中…TYPO3的默认行为是:如果链接的目标不可用,不要生成链接,只显示要链接的文本。所以我会考虑一个空链接作为一个bug,你应该打开一个错误的车票抱歉,也许不清楚,链接只是链接到一个未找到的404。如果uid不存在,则默认情况下我无法在此处查找链接。如果我无法在此处查找链接,则说明该链接不存在?我觉得如果你写完整的URL,它就不一样了。那么问题可能是,从URL中生成uid是否可能/相关?我不知道是否记录了不可用链接的行为。您可能需要检查链接生成的PHP源代码,因为它不仅仅涉及打字脚本链接。对于流体或API调用生成的任何其他链接也是如此。非常感谢!使用filelink就是解决方案!我将添加我在注释中使用的代码。我经常发现Typo3文档缺少具体的示例,因此这可能对某些人有用=您知道如何使其不区分大小写吗?所以它可以是.pdf或.pdf。这场比赛的题目也一样,非常感谢!使用filelink就是解决方案!我将添加我在注释中使用的代码。我经常发现Typo3文档缺少具体的示例,因此这可能对某些人有用=您知道如何使其不区分大小写吗?所以它可以是.pdf或.pdf。字段标题也一样。