在流体模板中,我想输出链接文件的大小。
我正在使用f:link.page链接到该文件,因为我认为这是这样做的方法(如果没有,请更正)。
<f:link.page class="download" pageUid="fileadmin/redaktion/download/papers/{paper.download}" {paper.author}">PDF</f:link.page>
由于我已经在网站上使用扩展名ml_links,我想我可以通过lib.parseFunc_RTE传递链接,但是
<f:format.html parseFuncTSPath="lib.parseFunc_RTE"><f:link.page class="download" pageUid="fileadmin/redaktion/download/papers/{paper.download}" {paper.author}">PDF</f:link.page></f:format.html>
将其包装成p.bodytext。
我是否必须使用不同的语法来应用f:format.html TO f:link.page - 还是有更好的方法(通过流体或vhs viewhelper)?
答案 0 :(得分:2)
实际上自定义VH是实现这一目标的最快方法,即基于on this VH,您需要用文件路径替换size
param,然后使用PHP的filesize
函数以字节为单位获取大小。
答案 1 :(得分:1)
答案 2 :(得分:1)
当我使用fluidcontent时,我还安装了vhs扩展程序,然后只使用:
<f:format.bytes decimals="1">{v:media.size(path: '{file}')}</f:format.bytes>
输出干净的可读尺寸,例如&#34; 28.2 MB&#34;。
答案 3 :(得分:1)
如果您使用VHS,可以考虑https://fluidtypo3.org/viewhelpers/vhs/master/Media/SizeViewHelper.html(与ApplicationInstitution.objects.exclude(transcript_file__isnull=True)
结合使用)。
答案 4 :(得分:0)
在较新的TYPO3版本中,可以使用FileReference对象的originalResource.size
属性。
{file.originalResource.size -> f:format.bytes()}
或您的情况:
{paper.download.originalResource.size -> f:format.bytes()}
答案 5 :(得分:0)
我需要一个 TYPO3 10 中 DCE 模块的文件大小输出,这就是我想出的,使用 VHS:
<f:format.bytes><v:media.size><v:format.trim characters="/"><f:uri.typolink parameter="{item.link}" /></v:format.trim></v:media.size></f:format.bytes>
说明:
f:uri.typolink
生成我需要的完整路径 v:media.size
v:media.size
要求路径不带前导斜线,v:format.trim
删除此字符。f:format.bytes
以 KB 或 MB 为单位显示 v:media.size
的输出。