在流体模板中,如何输出链接文件的大小?

问题描述 投票:1回答:5

在流体模板中,我想输出链接文件的大小。

我正在使用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)?

typo3 fluid typo3-4.5
5个回答
1
投票

当我使用fluidcontent时,我还安装了vhs扩展程序,然后使用:

<f:format.bytes decimals="1">{v:media.size(path: '{file}')}</f:format.bytes>

这将输出干净的可读大小,如“28.2 MB”。


2
投票

实际上,自定义VH是实现这一目标的最快方法,即基于on this VH,你需要用文件路径替换size param,然后使用PHP的filesize函数来获取字节大小。


1
投票

这是我的VH:

https://gist.github.com/ursbraem/9645542

我已经简化了原始版本,输出文件大小的“KiB”对我来说太技术了。


1
投票

如果您正在使用VHS,您可以考虑使用https://fluidtypo3.org/viewhelpers/vhs/master/Media/SizeViewHelper.html(与f:format.bytes结合使用)。


0
投票

在较新的TYPO3版本中,您可以使用FileReference对象的originalResource.size属性。

{file.originalResource.size -> f:format.bytes()}

或者在你的情况下:

{paper.download.originalResource.size -> f:format.bytes()}
© www.soinside.com 2019 - 2024. All rights reserved.