咨询TYPO3后端如何显示文件的最后修改日期
解决TYPO3后端显示文件最后修改/上传日期的问题
嘿,别担心,作为TYPO3新手遇到这种小问题太正常啦!我来帮你搞定显示指定文件最后修改日期的需求~
场景1:在Fluid模板中显示(比如后端自定义模板或关联文件的视图)
TYPO3的文件对象(不管是File还是FileReference)都自带了修改时间和创建时间的属性,你只需要正确调用这些属性就行:
- 如果你已经拿到了直接的文件对象(比如变量是
{file}),可以这样写:
<span class="download__specs-item"> <f:format.date date="{file.properties.modificationDate}" format="Y-m-d H:i:s" /> </span>
这里的modificationDate就是文件最后修改的时间,format参数可以根据你的需求调整,比如改成"d.m.Y"就是日.月.年的格式。
- 如果是文件引用对象(比如
{fileReference},常见于内容元素里的文件关联),需要先获取原始文件对象:
<span class="download__specs-item"> <f:format.date date="{fileReference.originalFile.properties.modificationDate}" format="Y-m-d H:i:s" /> </span>
要是想显示上传时间(创建时间),把modificationDate换成creationDate就行。
场景2:在后端PHP代码中获取(比如自定义后端模块)
如果是自己写后端模块的PHP代码,需要先通过资源工厂获取文件对象,再调用方法拿到时间:
// 获取资源工厂实例 $resourceFactory = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance( \TYPO3\CMS\Core\Resource\ResourceFactory::class ); // 方式1:通过文件ID获取文件对象 $file = $resourceFactory->getFileObjectById(123); // 替换成你的文件ID // 方式2:通过文件路径获取(比如相对于fileadmin的路径) // $file = $resourceFactory->getFileObjectByPath('/fileadmin/documents/your-file.pdf'); // 获取最后修改时间(返回的是时间戳) $modificationTimestamp = $file->getModificationTime(); // 格式化时间输出 $formattedDate = date('Y-m-d H:i:s', $modificationTimestamp); // 之后你可以把$formattedDate传递给模板或者直接输出
这样就能精准获取到指定文件的最后修改/上传时间啦,再也不会显示当前时间咯😉
内容的提问来源于stack exchange,提问作者Robertme
相关产品推荐
相关产品推荐

