Как получить настройки TYPO3 в файлах утилиты?

plugin.tx_xxx { setting { storagePid = 23 } } 

Я хочу эту настройку TYPO3 в файле утилиты. Пожалуйста, помогите мне.

Вышеуказанный метод работает только в классе контроллера или служб, попробуйте ниже, он будет работать в любых файлах PHP в Extension.

 $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\Extbase\\Object\\ObjectManager'); $configurationManager = $objectManager->get('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager'); $extbaseFrameworkConfiguration = $configurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT); $storagePid = $extbaseFrameworkConfiguration['plugin.']['tx_guesthouse_guesthouse.']['settings.']['storagePid']; 

Вы можете добавить строку ниже в свой контроллер.

 $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); $configurationManager = $objectManager->get('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager'); $setting = $configurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_SETTINGS); $ts_config = $setting['plugin.']['tx_xxxx.']['settings.']['storagePid']; 

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

Только для TYPO3 Backend

Для многоузлового набора root перед получением конфигурации

 $configurationManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Configuration\\BackendConfigurationManager'); $configurationManager->currentPageId = ROOT_PID_OF_YOUR_DOMAIN; $extbaseFrameworkConfiguration = $configurationManager->getTypoScriptSetup(); //Following will be resultant array, find your required stuff from it print_r($extbaseFrameworkConfiguration); 

Примечание . Не забудьте расширить свой класс с помощью \TYPO3\CMS\Extbase\Configuration\BackendConfigurationManager , чтобы получить доступ к его защищенным переменным

Теперь, в Typo3 8.X, currentPageId защищен, поэтому мы не могли установить его напрямую, и не было бы определенного метода, определенного в базовом классе. Ниже приведен правильный код в соответствии с новой версией, которая может вам помочь. Спасибо за правильное направление.

 $configurationManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Configuration\\BackendConfigurationManager'); \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($configurationManager); $configurationManager->getDefaultBackendStoragePid(); $extbaseFrameworkConfiguration = $configurationManager->getTypoScriptSetup(); //Following will be resultant array, find your required stuff from it \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($extbaseFrameworkConfiguration); 
 $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); $configurationManager = $objectManager->get('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager'); $setting = $configurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_SETTINGS); $ts_config = $setting['plugin.']['tx_xxxx.']['settings.']['storagePid'];