【发布时间】:2019-11-20 19:29:01
【问题描述】:
我想用我自己的类 VENDOR\Examples\Xclass\Backend 覆盖 TYPO3 系统扩展 "instal" -> 类 TYPO3\CMS\Install\SystemEnvironment\Check 的方法\检查,但它不起作用。
系统扩展中的其他类,例如 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'
);
}
【问题讨论】:
-
不是 100% 确定它是否有效,但您可以复制安装扩展,更改克隆中的作曲家包名称,并添加替换键。 ``` "replace": { "typo3/cms-install":"self.version" } ``` 这样你至少可以根据需要自定义扩展。
-
我试过了,但它不起作用:(