Расширение системы TYPO3 "установить" перезаписать с моим собственным классом - PullRequest
0 голосов
/ 11 июля 2019

Я бы хотел переопределить метод расширения системы TYPO3 "instal" -> Class TYPO3 \ CMS \ Install \ SystemEnvironment \ Check с помощью моего собственного класса VENDOR \ examples \ Xclass \ Backend \ Отметьте , но он не работает.

Другие классы в системном расширении, например, TYPO3 \ CMS \ Backend \ Controller \ LoginController или TYPO3 \ CMS \ Backend \ Template \ DocumentTemplate можно без проблем справиться с помощью XLASS перезаписать.

Как правило, можно перезаписать классы инструментов установки из собственного расширения?

<?php

defined('TYPO3_MODE') || die('Access denied.');

if (TYPO3_MODE === 'BE') {

    $GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects']['TYPO3\\CMS\\Install\\SystemEnvironment\\Check'] = array(
        'className' => 'ALEX\\Examples\\Xclass\\Backend\\Check'
    );

    $GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects']['TYPO3\\CMS\\Backend\\Controller\\LoginController'] = array(
        'className' => 'ALEX\\Examples\\Xclass\\Backend\\LoginController'
    );

    $GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects']['TYPO3\\CMS\\Backend\\Template\\DocumentTemplate'] = array(
        'className' => 'ALEX\\Examples\\Xclass\\Backend\\DocumentTemplate'
    );
}

1 Ответ

0 голосов
/ 11 июля 2019

Это невозможно, поскольку класс не вызывается через GeneralUtility::makeInstance.Кроме того, он также указан в классе:

@ internal Этот класс предназначен только для использования в EXT: install и не является частью TYPO3 Core API.

Если вам не хватает функции или вы думаете, что у вас есть ошибка, вы должны открыть вопрос на https://forge.typo3.org/projects/typo3cms-core/issues

...