Жидкость TYPO3: как создать ссылку на PDF-файл (без загрузки, без отображения)

Будучи новичком в жидкости TYPO3, мне стало интересно, есть ли простой способ создать ссылку на PDF-файл, который находится в списке файлов, как в простом html, как показано ниже:

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

До сих пор я не смог найти решение, которое бы не требовало расширения или не отображало бы директиву pdf на странице ( <flux:field.inline.fal name="settings.image" required="1" maxItems="1" minItems="1"/> )

Должен / Может ли это быть сделано с <f:link.external href="filePathOnServer/file.pdf">? (У меня есть еще одна проблема, мешающая мне проверить, работает ли это...)

РЕДАКТИРОВАТЬ

Я пытался использовать <f:link.external> который не работал. В настоящее время я использую (не жидкость) <a>-tag...

1 ответ

Решение

Мне пришлось сделать то же самое, и я решил это, написав собственный ViewHelper, чтобы получить URL сайта.

ViewHelper:

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>
Другие вопросы по тегам