首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Typoscript -仅当文件存在时才使用URL链接该文件

Typoscript -仅当文件存在时才使用URL链接该文件
EN

Stack Overflow用户
提问于 2018-07-04 23:17:00
回答 3查看 685关注 0票数 1

我正在使用TemplavoilàPlus,我有一个用户填写的标题为field_title的字段。我使用此字段通过Typoscript对象路径为FCE的其他字段创建URL/HTML。

常量:

file = fileadmin/datasheets/|.pdf

设置:

lib.field_datasheet = TEXT
lib.field_datasheet {
 field = field_title
 wrap = <a href="{$file}"></a>
}

问题是,我只想在文件/URL存在的情况下这样做。首先,我想检查一下我创建的URL是否没有链接到404页面。然后我想检查文件大小是否不是0会更容易一些。经过两天的工作,在到处寻找之后,我意识到这些解决方案都不是简单的…

我想我有一些答案,使用stdWrap.rawUrlEncodefile:current:sizeif.isTrue.dataFILE等…但很明显,Typoscript不是为初学者设计的,我似乎找不到如何将所有东西放在正确的顺序,以及如何正确使用所有这些东西。

我想我可以使用下面这样的东西来管理这种情况:

if.isTrue < .10 #.10 containing the size of the file
if.value = 0

但真正困难的部分是从我使用Typoscript创建的网址中获取文件大小的。我想肯定有一种方法只能通过Typoscript来实现,因为我知道可以从文件的uid…中获取文件的大小

或者我应该只检查是否指向一个404页面的。或者也许有一个我没有想过的更简单的解决方案!

非常感谢您的帮助,如果这个问题太容易解决,我们深表歉意,非常感谢您阅读这篇文章!=)

编辑:我使用的是Typo3 7.6

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-11 04:16:22

你可以使用filelink来实现这一点。如果不进行测试,它应该是这样的:

lib.field_datasheet = TEXT
lib.field_datasheet {
  field = field_title
  wrap = |.pdf
  filelink {
    path = fileadmin/datasheets/
    file.field = field_title
  }
}

但是,如果文件不在那里,我不确定它会做什么。它可能什么也不显示,在这种情况下,您可以使用ifEmpty.field = field_title只显示文本。

有关文件链接的更多信息:https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Filelink.html

票数 2
EN

Stack Overflow用户

发布于 2018-07-05 13:18:20

为什么不让TYPO3来决定文件是否存在,是否值得构建链接?

你的问题可能是你没有任何东西可以联系起来。(空的A标签)

我会尝试这样的方法:

常量:

filePath = fileadmin/datasheets/|.pdf

设置:

lib.field_datasheet = TEXT
lib.field_datasheet {
   // use the 'filename' as text to be linked
   field = field_title
   // now build the link:
   typolink.parameter {
       field = field_title
       wrap = {$filePath}|
   }
}
票数 1
EN

Stack Overflow用户

发布于 2018-07-12 18:35:32

多亏了Rudy的回答,我才能解决我的问题。为了对其他人有用,这里是我使用过的Typoscript的一小段:

lib.field_datasheet = TEXT
lib.field_datasheet {
  value {
    field = field_title
    wrap = |.pdf
    }

  filelink {
    path = /fileadmin/datasheet/
    target = _blank
    altText = PDF icon
    titleText = Download datasheet

    //Personalize the icon, the file must be named pdf.png            
    icon_link = 1
    icon = 1
    icon {
      path = fileadmin/icons/
      ext = png
      }
    }
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51176829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档