TYPO3 MASK missing TCA entry after adding mask-element

696 Views Asked by At

i've a working site with TYPO3 7.6.31, the extension mask 2.1.1 and many already working mask-elements for custom content.

i've tried to add a new mask element containing a repeat-element (also tried content-element and some others) (already in use) filled with two textfields.

the second i save the new content element it says "successfully added..." and i can go back to the element overview where i can also find my newly created one. once i, for example, hit the landing page everything related to the mask extension throws nasty errors.

after checking the logs i got this error message:

[ALERT] request="x" component="TYPO3.CMS.Frontend.ContentObject.Exception.ProductionExceptionHandler": Oops, an error occurred! Code: 201906251014509abc80c7 - {"exception":"InvalidArgumentException: There is no entry in the $TCA array for the table \"tx_mask_ytfieldkey\". This means that the function enableFields() is called with an invalid table name as argument. in \/data\/typo3relaunch\/typo3_src-7.6.31\/typo3\/sysext\/frontend\/Classes\/Page\/PageRepository.php:1203

i logged into the mysql client and checked the table, the table already exists with all its needed structure without any database updates - so i guess mask handles that internally - thats good but now im stuck with a missing TCA entry for that table and do not know where to place it - shouldnt that be handled by mask too?

i'm stuck and cant create new content elements now because of that - any ideas how i can fix that or where i could place that TCA entry for the table?

edit: the check in the PageRepository looks like this:

if (isset($GLOBALS['TCA'][$table]) && is_array($GLOBALS['TCA'][$table]) && $uid > 0) {

so the entry for that table is really just completly missing

edit:

the mask extension should handle the TCA entries for content elements right here: (mask/ext_tables.php)

$tcaCodeGenerator = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('MASK\\Mask\\CodeGenerator\\TcaCodeGenerator');

// Generate TCA for Content-Elements
$contentColumns = $tcaCodeGenerator->generateFieldsTca($configuration["tt_content"]["tca"]);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', $contentColumns);
$tcaCodeGenerator->setElementsTca($configuration["tt_content"]["elements"]);

// Generate TCA for Pages
$pagesColumns = $tcaCodeGenerator->generateFieldsTca($configuration["pages"]["tca"]);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages', $pagesColumns);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages_language_overlay', $pagesColumns);
$tcaCodeGenerator->setPageTca($configuration["pages"]["tca"]);

// Generate TCA for Inline-Fields
$tcaCodeGenerator->setInlineTca($configuration);

so i guess i do not have to do anything manually in that process.

edit:

still no solution for TYPO3 7.6.31 and mask 2.1.1 - at the moment we are planning all client requests for the updated version...

0

There are 0 best solutions below