0

为 TYPO3 8LTS 更新了 ext_tables.php、TCA 和 TCA/覆盖?我将 TCA 定义从 ext_tables.php 移动到 /TCA 文件夹,并且列表视图中的查询再次起作用:

ext_tables.php

<?php
if (!defined('TYPO3_MODE')) {die('Access denied.');}

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    $_EXTKEY,
    'Code',
    'Description'
);

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_code_domain_model_code', 'EXT:code/Resources/Private/Language/locallang_csh_tx_code_domain_model_code.xlf');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_code_domain_model_code');

配置/TCA/tx_code_domain_model_code.php

... // TCA defintions

配置/TCA/覆盖/tt_content.php

<?php
if (!defined('TYPO3_MODE')) {die('Access denied.');}

$_EXTKEY = 'code';

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    $_EXTKEY,
    'Code',
    'Description'
);

$extensionName = strtolower(\TYPO3\CMS\Core\Utility\GeneralUtility::underscoredToUpperCamelCase($_EXTKEY)); 
$pluginName = strtolower('Code'); 
$pluginSignature = $extensionName.'_'.$pluginName; 
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform'; 
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginSignature, 'FILE:EXT:'.$_EXTKEY . '/Configuration/FlexForms/flexform_code.xml'); 

配置/TCA/覆盖/tt_content.php

<?php
if (!defined('TYPO3_MODE')) {die('Access denied.');}

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('code', 'Configuration/TypoScript', 'Description');
4

1 回答 1

2

它不兼容。

您应该在以下位置对 tx_code_domain_model_code 进行 TCA 定义:Configuration/TCA/tx_code_domain_model_code.php

静态模板定义在:Configuration/TCA/Overrides/sys_template.php

以及您的插件和 flexform 定义:Configuration/TCA/Overrides/tt_content.php

请注意,这些文件中没有定义 $_EXTKEY 变量,因此您必须自己键入扩展密钥。

于 2017-08-23T17:24:51.967 回答