Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 键入脚本文件链接-在链接中包装URL_Typo3_Typoscript - Fatal编程技术网

Typo3 键入脚本文件链接-在链接中包装URL

Typo3 键入脚本文件链接-在链接中包装URL,typo3,typoscript,Typo3,Typoscript,首先,这里是打字稿: 20 = TEXT 20 { value { field = field_title wrap = |.txt } filelink { stdWrap.wrap = <li>|</li> path = fileadmin/txt-files/ } } 而不是当前的换行,filelink再也找不到该文件 我尝试过使用ATagBeforeWrap.wrap,但它看起来并不是专门为这个目的设计的。我还尝试了typol

首先,这里是打字稿:

20 = TEXT
20 {
 value {
  field = field_title
  wrap = |.txt
  }
 filelink {
  stdWrap.wrap = <li>|</li>  
  path = fileadmin/txt-files/
  }
 } 
而不是当前的换行,
filelink
再也找不到该文件

我尝试过使用
ATagBeforeWrap.wrap
,但它看起来并不是专门为这个目的设计的。我还尝试了
typolinkConfiguration.wrap
,但没有成功

你知道如何做到这一点吗?也许用COA


谢谢大家!

问题可能会变得相当复杂,但一步一步:

  • 如果上面的代码不仅仅是复制粘贴错误,那么它可能是错误的:
    wrap=fileadmin/force_download_script.php?filepath=|.txt

    缺少
    txt
    之前的点。
    尽管如此,如果触发php脚本,仍然很有趣
  • 可能是由于
    typo3conf/LocalConfiguration.php
    中的某些设置以及安装工具中的某些设置而未触发脚本
  • 根据TYPO3版本的不同,也可能根本不会触发脚本,因为现在扩展中需要所有脚本。这意味着您可能需要为该脚本创建扩展
  • 另外,用脚本路径简单地包装结果可能还不够,但是您必须通过键入脚本显式地调用它,可能是通过将脚本作为用户函数或库包含进来
“管理”面板可能有助于调试脚本中的某些内容,但如果没有,您必须首先在自己的代码中包含一些调试输出,如果在核心(临时)中这还不够的话。

因此,您必须找出脚本是否被触发,如果没有,原因是什么。

您确定要查找的是
。filelink

.filelink
用于一组文件。对于
.path
给定的文件夹中的所有文件,将生成一个链接。看

从您的描述中,您希望使用指向单个文件的链接包装文本。对于
.typlink
而言,这将是一个更大的问题,您可以在
.parameter
中指定链接

如果您真的想要一个包含多个文件的链接列表,每个文件都用脚本包装,那么您需要修改
.typolinkConfiguration.parameter
,它将被修改

无论如何,可能会进行一次包装,然后:

.typolinkConfiguration.parameter.wrap = /fileadmin/force_download_script.php?|


也许使用更容易构建列表,您可以以任何方式使用文件名为A标签包装自己的href参数。

我不会使用脚本,而是使用服务器配置。如果使用Apache并启用了.htaccess,则可以将配置添加到文件所在目录中的.htaccess文件中。看


或者,您也可以使用。但是,Internet Explorer不支持这一点(Edge也支持这一点)。

要将TYPO3核心解决方案与文件链接一起使用,您可以使用本指南:

  • 在TYPO3后端中创建一个文件存储,您希望在其中保存“安全”文件
  • 不要在存储记录中设置复选框“是公共的吗?”
  • 链接将使用eID和文件参数呈现
  • 您可以查看处理以下链接的FileDumpController:
  • 您可以使用包含的钩子用您的逻辑扩展此控制器
  • 不幸的是,我找不到此功能的任何官方文档,但当我找到一些东西或自己编写时,我会发布它。;)

    也许这也能帮助你:


    这是官方部分,但不多:

    您使用的是哪种类型的TYPO3版本?我不建议您使用与TYPO3类似的脚本进行下载。使用核心及其可能性!我使用的是typo37.6。我当然希望不需要脚本,但我还没有找到一种方法来使用打字脚本。但是=)我使用的是
    filelink
    而不是
    typolink
    ,因为它允许我“检查”链接到的文件是否存在(请参阅)
    typolinkConfiguration.parameter
    似乎不可能:但可能我错了…
    .stdWrap.filelist
    是一个好主意,但考虑到我的fileadmin是如何创建的,很难实现。使用
    .filelist
    只能获取现有文件,它是一个文件夹列表。如果你的编辑应该选择文件,千万不要在文本/字符串字段中输入名字。始终使用与sys_文件的关系,以便该文件被引用且无法删除(在TYPO3 be中)
    <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>
    
    wrap = fileadmin/force_download_script.php?filepath=|txt
    
    .typolinkConfiguration.parameter.wrap = /fileadmin/force_download_script.php?|