TYPO3: как добавить CSS и JS на сервер - PullRequest
3 голосов
/ 03 мая 2019

Как мне добавить css и javascript файл (ы) на бэкэнд?

Я хотел бы использовать эти файлы для пользовательских элементов содержимого , чтобы сделать их более привлекательными для пользователя.

Система : TYPO3 v9 Режим : режим композитора Цель : элемент пользовательского содержимого

1 Ответ

2 голосов
/ 03 мая 2019

В TYPO3 v9 вам придется делать следующее, и в каждом режиме

CSS

$GLOBALS['TBE_STYLES']['skins']['nameOfContentElement'] = array();
$GLOBALS['TBE_STYLES']['skins']['nameOfContentElement']['name'] = 'My Awesome Name';
$GLOBALS['TBE_STYLES']['skins']['nameOfContentElement']['stylesheetDirectories'] = array(
    'visual' => 'yourextension/Resources/Public/Css/Backend',
    'theme' => 'yourextension/Resources/Public/Css/Monokai'
);

Путь здесь (CSS) является каталогом, поэтомуон будет читать все файлы в указанном каталоге.

JS

$renderer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRender
$renderer->addJsFile('yourextension/Resources/Public/JavaScript/Backend.js', 'text/javascript', false, false, '', true,  '|', false, '');
$renderer->addJsFile('yourextension/Resources/Public/JavaScript/another.js', 'text/javascript', false, false,  '', false, '|', false, '');

Параметры:

addJsFile(
       $file, 
       $type = 'text/javascript'
       $compress = true,
       $forceOnTop = false,
       $allWrap = '',
       $excludeFromConcatenation = false,
       $splitChar = '|',
       $async = false,
       $integrity = ''
);

В больших файлах могут возникнуть некоторые проблемы с загрузкой, но если кто-нибудь сможет это подтвердить, я буду очень признателен.

Дополнительная информация:

Если вы хотите использовать jQuery от TYPO3 ( настоятельно рекомендуется, чтобы избежать конфликтов ), вы должны использовать следующее какwell:

require(["jquery"], function($) {
   //your awesome function
}

Вы также можете использовать условие, чтобы убедиться, что оно загружено на сервер:

if (TYPO3_MODE === 'BE') {
   $renderer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRender
   ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...