Мне нужна пользовательская функция jQuery в моем бэкенде TYPO3, когда я открываю представление «Страница».
Я добавил хук для preProcess
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']
['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']
['tx_dashboard'] =
\vendor\dashboard\Hooks\Backend\IconCorrection::class;
И в моей IconCorrectionЯ добавил
public function preProcess(PageLayoutView &$parentObject, &$drawItem, &$headerContent, &$itemContent, array &$row)
{
GeneralUtility::makeInstance(PageRenderer::class)
->addRequireJsConfiguration([
'paths' => [
'iconCorrection'=>'/typo3conf/ext/dashboard/Resources/Public/JavaScript/hidePreviewIcon.js',
],
'shim' => [
'iconCorrection' => ['jquery'],
],
]);
}
}
В моем hidePreviewIcon.js у меня есть console.log Я хочу что-то вроде $(".btn").hide();
, но пока просто проверяю, загружен ли js.
В моем dev-Я вижу, что js был загружен, но console.log не был выполнен.
Что мне не хватает?И могу ли я просто использовать addJsFile
вместо addRequireJsConfiguration
Im, используя TYPO3 v8.7.2
РЕДАКТИРОВАТЬ:
Я добавил
$renderer =\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class);
$renderer->addJsFile('/typo3conf/ext/trumpf_editordashboard/Resources/Public/JavaScript/hidePreviewIcon.js', 'text/javascript', false, false, '', true, '|', false, '');
в мою preProcess()
функцию.
Теперь .js был загружен и запущен console.log ();Но мой
$(document).ready(){$(".btn").hide();
не работает.Я думаю, что выполнено слишком рано
РЕДАКТИРОВАТЬ 2: сделал трюк:
$(function(){
$('#typo3-contentIframe').ready(function(){
console.log("loaded");
$(".btn").hide();
});
});