【问题标题】:TYPO3 fluid: how to create link to PDF-File (no download, no display)TYPO3 流体:如何创建 PDF 文件的链接(不下载,不显示)
【发布时间】:2017-05-10 12:13:34
【问题描述】:

作为 TYPO3 流体的新手,我想知道是否有一种简单的方法可以创建指向位于文件列表中的 PDF 文件的链接,就像在简单的 html 中那样:

<a href="filePathOnServer/file.pdf">Click here to open pdf (in a new window)</a>

到目前为止,我找不到不需要扩展或不会在页面 (&lt;flux:field.inline.fal name="settings.image" required="1" maxItems="1" minItems="1"/&gt;) 上呈现 pdf 直接的解决方案

应该/可以用&lt;f:link.external href="filePathOnServer/file.pdf"&gt; 完成吗? (我现在还有另一个问题阻止我检查这是否有效......)

编辑

我尝试过使用&lt;f:link.external&gt;,但没有成功。目前我正在使用(非流体)&lt;a&gt;-tag...

【问题讨论】:

  • 如果链接是静态的,为什么还需要流畅的 ViewHelper?使用&lt;a href="/filePathOnServer/file.pdf"&gt;Click here to open pdf (in a new window)&lt;/a&gt; 作为绝对路径,可能使用&lt;f:translate key="LLL:..." /&gt; 作为文本部分“单击此处打开pdf(在新窗口中)”。
  • @HeinzSchilling 我只是想知道是否有办法......我认为使用流体标签可能有更简单的方法......正如我已经说过的那样,我是新手错字3-流体;-)

标签: pdf typo3 fluid file-link


【解决方案1】:

我不得不做同样的事情,我通过编写自定义 ViewHelper 来解决它,只是为了获取站点 url。

查看助手:

class InternalViewHelper extends AbstractViewHelper
{
    /**
     * Renders a link to a specific path from the root path of TYPO3.
     *
     * @param string $path The path to an internal resource relative to the TYPO3 site URL.
     * @return string The absolute URL to the given resource.
     */
    public function render($path)
    {
        $siteUrl = GeneralUtility::getIndpEnv('TYPO3_SITE_URL');
        return htmlspecialchars($siteUrl . $path);
    }
}

流体模板:

{namespace ext = Vendor\MyExt\ViewHelpers}

<f:link.external target="_blank"
   uri="{ext:internal(path: 'uploads/tx_myext/myfile.pdf')}">
     Link
</f:link.external>

【讨论】:

  • 感谢您的出色解决方案。我相信我会使用简单的 a-tag 来满足我的需求,但这可能会在一段时间内派上用场。 :)
猜你喜欢
  • 2010-12-25
  • 2020-07-18
  • 1970-01-01
  • 2014-09-09
  • 1970-01-01
  • 1970-01-01
  • 2018-11-10
  • 2012-03-01
  • 2010-12-03
相关资源
最近更新 更多