Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model 类型3:配置TCA以使用现有表_Model_Typo3_Extbase_Typo3 6.2.x - Fatal编程技术网

Model 类型3:配置TCA以使用现有表

Model 类型3:配置TCA以使用现有表,model,typo3,extbase,typo3-6.2.x,Model,Typo3,Extbase,Typo3 6.2.x,我想在扩展中使用现有表。此表将仅在只读模式下使用。事实上,我的扩展将只使用两个字段:uid和title。 扩展生成器将tx_extbase_类型字段添加到此表中。我不需要这个字段,因为我的扩展不会在这个表中存储任何数据,它必须处理表中已经存在的数据 所以问题是:如何配置TCA来使用这个表 下面是处理此表的ext_tables.php块。tx_extbase_类型字段的定义已删除 $tmp_myext_columns = array( 'title' => array(

我想在扩展中使用现有表。此表将仅在只读模式下使用。事实上,我的扩展将只使用两个字段:uid和title。
扩展生成器将tx_extbase_类型字段添加到此表中。我不需要这个字段,因为我的扩展不会在这个表中存储任何数据,它必须处理表中已经存在的数据

所以问题是:如何配置TCA来使用这个表

下面是处理此表的ext_tables.php块。tx_extbase_类型字段的定义已删除

$tmp_myext_columns = array(

    'title' => array(
        'exclude' => 0,
        'label' => 'LLL:EXT:myext/Resources/Private/Language/locallang_db.xlf:tx_myext_domain_model_targettable.title',
        'config' => array(
            'type' => 'input',
            'size' => 30,
            'eval' => 'trim,required'
        ),
    ),
);

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tx_someext_domain_model_targettable',$tmp_myext_columns);

$GLOBALS['TCA']['tx_someext_domain_model_targettable']['types']['Tx_MyExt_TargetTable']['showitem'] = $TCA['tx_someext_domain_model_targettable']['types']['1']['showitem'];
$GLOBALS['TCA']['tx_someext_domain_model_targettable']['types']['Tx_MyExt_TargetTable']['showitem'] .= ',--div--;LLL:EXT:myext/Resources/Private/Language/locallang_db.xlf:tx_myext_domain_model_targettable,';
$GLOBALS['TCA']['tx_someext_domain_model_targettable']['types']['Tx_MyExt_TargetTable']['showitem'] .= 'title';

--> $GLOBALS['TCA']['tx_someext_domain_model_targettable']['columns'][$TCA['tx_someext_domain_model_targettable']['ctrl']['type']]['config']['items'][] = array('LLL:EXT:myext/Resources/Private/Language/locallang_db.xlf:tx_someext_domain_model_targettable.tx_extbase_type.Tx_MyExt_TargetTable','Tx_MyExt_TargetTable');

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tx_someext_domain_model_targettable', $GLOBALS['TCA']['tx_someext_domain_model_targettable']['ctrl']['type'],'','after:' . $TCA['tx_someext_domain_model_targettable']['ctrl']['label']);
我试图删除标有-->的行(包含tx\u extbase\u type-字段)。在这种情况下,
repository->findAll()
总是给我带空字符串的记录,而不是真正的标题。虽然查询结果中的记录数及其ID是正确的

我使用的是TYPO3 CMS 6.2.19


提前谢谢

您错过了必须通过打字脚本将模型映射到现有表的部分(我建议您将其放在setup.txt中):

干杯,
Olivier

您错过了必须通过打字脚本将模型映射到现有表格的部分(我建议您将其放入setup.txt中):

干杯,
奥利维尔

谢谢!这是一个很好的提示!在模型映射的我的ext\u typoscript\u setup.txt中有一行
recordType=Tx\u MyVendor\u TargetTable
。在我删除这行之后,它工作了。谢谢!这是一个很好的提示!在模型映射的我的ext\u typoscript\u setup.txt中有一行
recordType=Tx\u MyVendor\u TargetTable
。在我删除这行之后,它工作了。
config.tx_extbase.persistence.classes.[my_model_class_path] {
mapping {
    tableName = [existing_extbase_table]
}