首先,这是打字稿:
20 = TEXT
20 {
value {
field = field_title
wrap = |.txt
}
filelink {
stdWrap.wrap = <li>|</li>
path = fileadmin/txt-files/
}
}
我得到的结果是:
<li>
<a href="/fileadmin/txt-files/Title.txt">
<img src="typo3/sysext/frontend/Resources/Public/Icons/FileIcons/txt.png">
</a>
</li>
我需要的是:
<li>
<a href="/fileadmin/force_download_script.php?filepath=/fileadmin/txt-files/Title.txt">
<img src="typo3/sysext/frontend/Resources/Public/Icons/FileIcons/txt.png">
</a>
</li>
我需要使链接可下载,而不是在浏览器中打开文件。为此,我有一个force_download_script.php
,但是当我这样做时:
wrap = fileadmin/force_download_script.php?filepath=|txt
filelink
不再找到当前文件,而不再是当前文件。
我尝试使用ATagBeforeWrap.wrap
,但它似乎不是为此目的而制作的。我也尝试了typolinkConfiguration.wrap
,但没有成功。
关于实现该目标的任何想法?也许使用COA?
谢谢!
答案 0 :(得分:1)
我不会使用脚本来执行此操作,而是使用服务器配置来执行此操作。如果使用Apache并启用了.htaccess,则可以将配置添加到文件所在目录中的.htaccess文件中。参见https://css-tricks.com/snippets/htaccess/force-files-to-download-not-open-in-browser/
或者,您也可以使用HTML5 download
attribute。但是,Internet Explorer不支持此功能(不过Edge支持)。
答案 1 :(得分:0)
这个问题可能会变得相当复杂,但要逐步进行:
wrap = fileadmin/force_download_script.php?filepath=|.txt
txt
前面的点不见了。typo3conf/LocalConfiguration.php
中的某些设置或安装工具中的某些设置,脚本可能未触发。使用管理面板来调试有关脚本的某些内容可能会很有用,但如果不需要,则必须在自己的代码中首先包含一些调试输出,如果这在核心(临时)中还不够的话。
因此,您必须确定脚本是否被触发,如果没有触发,则原因。
答案 2 :(得分:0)
您确定.filelink
是您要找的吗?
.filelink
用于一组文件。对于.path
给定文件夹中的所有文件,将生成一个链接。参见manual
在您的描述中,您需要一个文本并带有指向一个文件的链接。对于在.typolink
中指定链接的.parameter
,这将是一个更大的问题。
如果您确实想要多个文件的链接列表,每个文件都用脚本包装,则需要修改.typolinkConfiguration.parameter
,该文件将为used internaly by .filelink
。
无论如何,可能会进行一次包装,即:
.typolinkConfiguration.parameter.wrap = /fileadmin/force_download_script.php?|
也许使用.stdWrap.filelist
构建列表更容易,在这里您可以以任何方式使用文件名来包装自己的A标签href参数。
答案 3 :(得分:0)
要将TYPO3核心解决方案与文件链接一起使用,可以使用本指南:
不幸的是,我找不到此功能的任何官方文档,但是会在发现某些东西或自己写时将其发布。 ;)
也许这也可以为您提供帮助:https://extensions.typo3.org/extension/fal_securedownload/