Расширение TYPO3 - f: uri.resource возвращает неверный путь - PullRequest
0 голосов
/ 12 февраля 2020

Я пишу бэкэнд-модуль для моего собственного расширения TYPO3, где я упаковываю содержимое в be.container, включая CSS и JS файл:

<f:be.container 
    includeCssFiles="{0: '{f:uri.resource(path:\'CSS/backend.css\')}'}" 
    includeJsFiles="{0: '{f:uri.resource(path:\'JS/backend.js\')}'}"
>
    <!-- module content -->
</f:be.container>

Нет из этих ресурсов включается, хотя. Когда я рендерим f:uri.resource прямо в HTML, он - независимо от того, какой путь - преобразуется в

/typo3/

, что не имеет смысла для меня. В моем проекте /typo3/ - это путь, по которому ядро ​​TYPO3 связано с моим веб-путем.

Я заверил, что мои файлы ресурсов размещены в EXT:my_extension/Resources/Public/CSS/backend.css и EXT:my_extension/Resources/Public/JS/backend.js соответственно. У меня была похожая проблема, включая ресурсы во внешнем интерфейсе, где она разрешалась до / - в конце концов я решил go с включением через Typoscript. Я не уверен, что смогу сделать это и для внутреннего модуля. Есть идеи, как это решить? Может быть, я что-то упустил в конфигурации, которая портит разрешение пути для f:uri.resource. Любая помощь будет оценена.

1 Ответ

1 голос
/ 13 февраля 2020

Для минимального теста попробуйте вставить простой вывод в шаблон флюида:

{f:uri.resource(path:'CSS/backend.css')}

Если это дает тот же результат, похоже, ViewHelper не знает о текущем расширении. Вы можете передать ему ключ расширения в качестве аргумента, см. https://docs.typo3.org/other/typo3/view-helper-reference/9.5/en-us/typo3/fluid/latest/Uri/Resource.html.

...