Добавление функции jQuery в бэкэнд TYPO3 - PullRequest
0 голосов
/ 13 мая 2019

Мне нужна пользовательская функция 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();

});
});
...