lochmueller / autoloader

⚙️ Best TYPO3 Swiss Army knife ever ⚙️
http://typo3.org/extensions/repository/view/autoloader
20 stars 30 forks source link

Installing extensions crash: No valid mapper for the given type found #128

Closed cundd closed 5 years ago

cundd commented 6 years ago

After upgrading to 6.0.4 I receive the following error message when I try to install any other extension inside the extension manager: 123712631 No valid mapper for the given type found

Setup Version
TYPO3 8.7.18
autoloader 6.0.4
focuspoint 3.0.3
Composer Install No

The process works with autoloader version 5.1.0.

Thank you for your work on the extension and the Focuspoint extension especially

Uncaught TYPO3 Exception
#123712631: No valid mapper for the given type found: (More information)

HDNET\Autoloader\Exception thrown in file
.../web/typo3conf/ext/autoloader/Classes/Mapper.php in line 106.

29 HDNET\Autoloader\Mapper::getMapperByType("")

.../web/typo3conf/ext/autoloader/Classes/Mapper.php:
00071:     public function getDatabaseDefinition($type)
00072:     {
00073:         $mapper = $this->getMapperByType($type);
00074: 
00075:         return $mapper->getDatabaseDefinition();

28 HDNET\Autoloader\Mapper::getDatabaseDefinition("")

.../web/typo3conf/ext/autoloader/Classes/Service/SmartObjectInformationService.php:
00252:         $mapper = ExtendedUtility::create(Mapper::class);
00253: 
00254:         return $mapper->getDatabaseDefinition($var);
00255:     }
00256: 

27 HDNET\Autoloader\Service\SmartObjectInformationService::getDatabaseMappingByVarType("")

.../web/typo3conf/ext/autoloader/Classes/Service/SmartObjectInformationService.php:
00224:         foreach ($fieldInformation as $info) {
00225:             if ('' === $info['db']) {
00226:                 $info['db'] = $this->getDatabaseMappingByVarType($info['var']);
00227:             } else {
00228:                 try {

26 HDNET\Autoloader\Service\SmartObjectInformationService::getCustomDatabaseInformation("HDNET\Focuspoint\Domain\Model\Content")

.../web/typo3conf/ext/autoloader/Classes/Service/SmartObjectInformationService.php:
00044:     {
00045:         $tableName = ModelUtility::getTableName($modelClassName);
00046:         $custom = $this->getCustomDatabaseInformation($modelClassName);
00047: 
00048:         // disable complete table generation

25 HDNET\Autoloader\Service\SmartObjectInformationService::getDatabaseInformation("HDNET\Focuspoint\Domain\Model\Content")

.../web/typo3conf/ext/autoloader/Classes/SmartObjectManager.php:
00033:         $output = [];
00034:         foreach ($register as $modelName) {
00035:             $output[] = $informationService->getDatabaseInformation($modelName);
00036:         }
00037: 

24 HDNET\Autoloader\SmartObjectManager::getSmartObjectRegisterSql()

.../web/typo3conf/ext/autoloader/Classes/Slots/SmartDatabase.php:
00027:     public function loadSmartObjectTables(array $sqlString)
00028:     {
00029:         $sqlString[] = SmartObjectManager::getSmartObjectRegisterSql();
00030: 
00031:         return ['sqlString' => $sqlString];

23 HDNET\Autoloader\Slots\SmartDatabase::loadSmartObjectTables(array, "TYPO3\CMS\Install\Service\SqlExpectedSchemaService::tablesDefinitionIsBeingBuilt")
22 call_user_func_array(array, array)

.../typo3_src-8.7.18/typo3/sysext/extbase/Classes/SignalSlot/Dispatcher.php:
00137:             }
00138: 
00139:             $slotReturn = call_user_func_array([$object, $slotInformation['method']], $preparedSlotArguments);
00140: 
00141:             if ($slotReturn) {
lochmueller commented 6 years ago

hey @cundd I will check this shortly. There are some problems with 6.0.x because the Reflection changes are a little bit tricky ;)

cundd commented 6 years ago

No stress! Im happy with version 5. I just wanted to let you know

ntzrbtr commented 5 years ago

I've implemented a fix for this in https://github.com/lochmueller/autoloader/pull/129

cundd commented 5 years ago

Thanks. I'm gonna move the website to a new server soon and will check out the fix than

lochmueller commented 5 years ago

Fix is merged. Will be publish a bugfix release tonight.

sdesign6 commented 5 years ago

there is still an issue. The field "description" in tx_calendarize_domain_model_event is now single line without htmlarea with autoloader 6.0.5. In autoloader 4.0.1 everythings good

lochmueller commented 5 years ago

Colud you create a new issue? Perhaps some code information (like the autoloader caches files)