我有关于用Extbase和FAL下载文件的问题。我可以使用以下命令来渲染图像
<f:image src="{file.uid}" alt="" width='100' height="100" treatIdAsReference="1"/> 我可以得到图像,但我也有PDF文件可供下载,我不能使用这个ViewHelper。还有没有其他的ViewHelper可以下载文件?如果我转储该文件,我会得到如下结果:
file => TYPO3\CMS\Extbase\Domain\Model\FileReferenceprototypepersistent entity (uid=1342, pid=310)
originalResource => NULL
uid => 1342 (integer)
_localizedUid => 1342 (integer)modified
_languageUid => 0 (integer)modified
pid => 310 (integer)对于文件,originalResource为null;对于图像,使用ViewHelper打印图像。我拿不到文件..。
欢迎任何帮助..。
发布于 2017-03-27 21:10:13
你可以用VHS的viewhelper来做这个。查看以下代码:
<v:resource.file additionalAttributes="{foo: 'bar'}" data="{foo: 'bar'}" identifier="[mixed]" categories="[mixed]" treatIdAsUid="1" treatIdAsReference="1" as="NULL">
<!-- tag content - may be ignored! -->
</v:resource.file>文档链接:https://fluidtypo3.org/viewhelpers/vhs/master/Resource/FileViewHelper.html
您必须安装vhs扩展,并在模板文件中添加名称空间。
{namespace v=FluidTYPO3\Vhs\ViewHelpers}作为最后一件事,您应该在typo3中索引这些文件。为此,创建一个调度程序任务,并选择File Abstraction Layer: Extract metadata in storage任务。
发布于 2014-09-16 18:21:31
可以使用originalResource的publicURL属性创建文件链接。
用于生成域模型属性中引用的文件列表的示例Fluid
<ul class="download-list">
<f:for each="{myObject.myFALproperty}" as="file" >
<li><a href="{file.originalResource.publicUrl}">{file.originalResource.title}</a></li>
</f:for>
</ul>只需使用{myObject.myFALproperty}即可查看您可以访问的内容。
如果您需要更多属性,以下是原始属性和引用的基本信息,以防您想要使用位于FlexForm中的覆盖
原始属性
filename :{myObject.myFALproperty.originalResource.originalFile.name}
title:{myObject.myFALproperty.originalResource.originalFile.title}
description:{myObject.myFALproperty.originalResource.originalFile.description}
alt:{myObject.myFALproperty.originalResource.originalFile.alternative}
uid:{myObject.myFALproperty.originalResource.originalFile.uid}
path:{myObject.myFALproperty.originalResource.publicUrl}引用属性
title: {myObject.myFALproperty.originalResource.title}
description {myObject.myFALproperty.originalResource.description}希望这能有所帮助。
仅供参考,这是相应的TCA的外观,但您显然已经知道这一点(请注意,此示例的maxitem设置为10:
'myFALproperty' => array(
'exclude' => 0,
'label' => 'LLL:EXT:xy_sample/Resources/Private/Language/locallang_db.xlf:tx_xysample_domain_model_myobject.myFALproperty',
'config' =>
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'myFALproperty',
array('maxitems' => 10)
),
),发布于 2017-06-26 08:43:49
步骤1/2
您可以像这样获得PDF文件的URI:
在流体模板中:
<f:uri.image src="{file.uid}" treatIdAsReference="1"/> 输出/path/to/your/pdf
就像你在问题中所说的那样,即使“文件的originalResource为null”,这种方法也是有效的。
步骤2/2
在流体模板中创建链接(使用内联表示法)
<a href="{f:uri.image(src:'{file.uid}', treatIdAsReference: 1)}">
Download PDF
</a>测试环境
https://stackoverflow.com/questions/24431701
复制相似问题