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
Typo3 类型3 4.5:TCA是否应该出现在;插件选项;?_Typo3_Typo3 Tca - Fatal编程技术网

Typo3 类型3 4.5:TCA是否应该出现在;插件选项;?

Typo3 类型3 4.5:TCA是否应该出现在;插件选项;?,typo3,typo3-tca,Typo3,Typo3 Tca,我正在用Typo3(版本4.5.22)创建我的第一个扩展。我使用Dmitry Dulepov的“TYPO3扩展开发”一书作为指导(一个非常有用的参考)。我使用Kickstarter使事情进展顺利,它生成的一个东西是一个$TCA,它与数据库中我自己的表一起使用 现在,我的理解是,当您创建一个新的“插入插件”内容项时,TCA将确定我的插件在后端的“插件选项”下显示哪些选项。问题是,这一部分仍然是空白的。当我选择我的插件时,没有显示任何选项 我能够构建一个Flexform并将其显示在“插件选项”下,但

我正在用Typo3(版本4.5.22)创建我的第一个扩展。我使用Dmitry Dulepov的“TYPO3扩展开发”一书作为指导(一个非常有用的参考)。我使用Kickstarter使事情进展顺利,它生成的一个东西是一个$TCA,它与数据库中我自己的表一起使用

现在,我的理解是,当您创建一个新的“插入插件”内容项时,TCA将确定我的插件在后端的“插件选项”下显示哪些选项。问题是,这一部分仍然是空白的。当我选择我的插件时,没有显示任何选项

我能够构建一个Flexform并将其显示在“插件选项”下,但我的插件的一个极其重要的组成部分是使用“建议”表单搜索记录的能力,并且从我所读到的内容来看,使用Flexforms无法使这些表单正常工作

我是否在ext_表中缺少一个简单的函数来让我的TCA显示在“插件选项”部分?对不起,如果我在这里完全偏离了底线;打字3的复杂性让我有点发呆

这是我的ext_tables.php,由Kickstarter生成:

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

t3lib_extMgm::allowTableOnStandardPages('tx_newsbuilder_newsitems');


t3lib_extMgm::addToInsertRecords('tx_newsbuilder_newsitems');

$TCA['tx_newsbuilder_newsitems'] = array(
    'ctrl' => array(
        'title'     => 'LLL:EXT:newsbuilder/locallang_db.xml:tx_newsbuilder_newsitems',        
        'label'     => 'uid',    
        'tstamp'    => 'tstamp',
        'crdate'    => 'crdate',
        'cruser_id' => 'cruser_id',
        'default_sortby' => 'ORDER BY crdate',    
        'delete' => 'deleted',    
        'enablecolumns' => array(        
            'disabled' => 'hidden',
        ),
        'dynamicConfigFile' => t3lib_extMgm::extPath($_EXTKEY) . 'tca.php',
        'iconfile'          => t3lib_extMgm::extRelPath($_EXTKEY) . 'icon_tx_newsbuilder_newsitems.gif',
    ),
);

t3lib_div::loadTCA('tt_content');
$TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_pi1'] = 'layout,select_key';


t3lib_extMgm::addPlugin(array(
    'LLL:EXT:newsbuilder/locallang_db.xml:tt_content.list_type_pi1',
    $_EXTKEY . '_pi1',
    t3lib_extMgm::extRelPath($_EXTKEY) . 'ext_icon.gif'
),'list_type');


if (TYPO3_MODE === 'BE') {
    $TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['tx_newsbuilder_pi1_wizicon'] = t3lib_extMgm::extPath($_EXTKEY) . 'pi1/class.tx_newsbuilder_pi1_wizicon.php';
}

// Flexform
//$TCA['tt_content']['types']['list']['subtypes_addlist'] [$_EXTKEY . '_pi1'] = 'pi_flexform';
//t3lib_extMgm::addPiFlexFormValue($_EXTKEY . '_pi1', 'FILE:EXT:' . $_EXTKEY . '/pi1/flexform_ds.xml');


?>

此外,这里是我的tca.php:

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

$TCA['tx_newsbuilder_newsitems'] = array(
    'ctrl' => $TCA['tx_newsbuilder_newsitems']['ctrl'],
    'interface' => array(
        'showRecordFieldList' => 'hidden,tt_news_uid,singleview_uid,fishback_uid,fishback_url,headline,subheading,link'
    ),
    'feInterface' => $TCA['tx_newsbuilder_newsitems']['feInterface'],
    'columns' => array(
        'hidden' => array(        
            'exclude' => 1,
            'label'   => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
            'config'  => array(
                'type'    => 'check',
                'default' => '0'
            )
        ),
        'tt_news_uid' => array(        
            'exclude' => 0,        
            'label' => 'LLL:EXT:newsbuilder/locallang_db.xml:tx_newsbuilder_newsitems.tt_news_uid',        
            'config' => array(
                'type' => 'group',    
                'internal_type' => 'db',    
                'allowed' => 'NO_TABLE_NAME_AVAILABLE',    
                'size' => 1,    
                'minitems' => 0,
                'maxitems' => 1,
            )
        ),
        'singleview_uid' => array(        
            'exclude' => 0,        
            'label' => 'LLL:EXT:newsbuilder/locallang_db.xml:tx_newsbuilder_newsitems.singleview_uid',        
            'config' => array(
                'type' => 'group',    
                'internal_type' => 'db',    
                'allowed' => 'tt_news',    
                'size' => 1,    
                'minitems' => 0,
                'maxitems' => 1,
            )
        ),
        'fishback_uid' => array(        
            'exclude' => 0,        
            'label' => 'LLL:EXT:newsbuilder/locallang_db.xml:tx_newsbuilder_newsitems.fishback_uid',        
            'config' => array(
                'type' => 'group',    
                'internal_type' => 'db',    
                'allowed' => 'pages',    
                'size' => 1,    
                'minitems' => 0,
                'maxitems' => 1,
            )
        ),
        'fishback_url' => array(        
            'exclude' => 0,        
            'label' => 'LLL:EXT:newsbuilder/locallang_db.xml:tx_newsbuilder_newsitems.fishback_url',        
            'config' => array(
                'type'     => 'input',
                'size'     => '15',
                'max'      => '255',
                'checkbox' => '',
                'eval'     => 'trim',
                'wizards'  => array(
                    '_PADDING' => 2,
                    'link'     => array(
                        'type'         => 'popup',
                        'title'        => 'Link',
                        'icon'         => 'link_popup.gif',
                        'script'       => 'browse_links.php?mode=wizard',
                        'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1'
                    )
                )
            )
        ),
        'headline' => array(        
            'exclude' => 0,        
            'label' => 'LLL:EXT:newsbuilder/locallang_db.xml:tx_newsbuilder_newsitems.headline',        
            'config' => array(
                'type' => 'text',
                'cols' => '48',    
                'rows' => '1',
            )
        ),
        'subheading' => array(        
            'exclude' => 0,        
            'label' => 'LLL:EXT:newsbuilder/locallang_db.xml:tx_newsbuilder_newsitems.subheading',        
            'config' => array(
                'type' => 'text',
                'cols' => '48',    
                'rows' => '1',
            )
        ),
        'link' => array(        
            'exclude' => 0,        
            'label' => 'LLL:EXT:newsbuilder/locallang_db.xml:tx_newsbuilder_newsitems.link',        
            'config' => array(
                'type'     => 'input',
                'size'     => '15',
                'max'      => '255',
                'checkbox' => '',
                'eval'     => 'trim',
                'wizards'  => array(
                    '_PADDING' => 2,
                    'link'     => array(
                        'type'         => 'popup',
                        'title'        => 'Link',
                        'icon'         => 'link_popup.gif',
                        'script'       => 'browse_links.php?mode=wizard',
                        'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1'
                    )
                )
            )
        ),
    ),
    'types' => array(
        '0' => array('showitem' => 'hidden;;1;;1-1-1, tt_news_uid, singleview_uid, fishback_uid, fishback_url, headline, subheading, link')
    ),
    'palettes' => array(
        '1' => array('showitem' => '')
    )
);
?>


TCA是表配置数组。它在Web->List模块中配置TYPO3后端数据库表中记录的外观。因此,如果您转到此模块并为
tx\u newsbuilder\u newsitems
创建新条目,您将看到您的记录创建/编辑表单,如
tca.php
ext\u tables.php
中配置的

插入到页面上的插件是一个常用的内容元素,保存在tt\u Content表中,因此它会显示出来,就像tt\u Content的TCA中定义的一样。但该表配置了pi_flexform字段,该字段的类型为flex,内部可以包含灵活的数据,而flexform实际上是。为此,您需要为FlexForm创建一个适当的XML文件,并指示TYPO3使用它

您可以找到有关FlexForms使用的详细信息


另外,应该可以在FlexForm中使用建议向导,因为FF表示法与TCA表示法几乎相同,并且所有向导都应该可用。

TCA是表配置数组。它在Web->List模块中配置TYPO3后端数据库表中记录的外观。因此,如果您转到此模块并为
tx\u newsbuilder\u newsitems
创建新条目,您将看到您的记录创建/编辑表单,如
tca.php
ext\u tables.php
中配置的

插入到页面上的插件是一个常用的内容元素,保存在tt\u Content表中,因此它会显示出来,就像tt\u Content的TCA中定义的一样。但该表配置了pi_flexform字段,该字段的类型为flex,内部可以包含灵活的数据,而flexform实际上是。为此,您需要为FlexForm创建一个适当的XML文件,并指示TYPO3使用它

您可以找到有关FlexForms使用的详细信息


另外,应该可以在FlexForm中使用建议向导,因为FF表示法与TCA表示法几乎相同,并且所有向导都应该可用。

看来我对“建议”向导不在Flexforms中工作的看法是错误的,所以我现在就采用这种方法。不过,TCA不应该出现吗?看来我对“建议”向导不在Flexforms中工作的看法是错误的,所以我现在就采用这种方法。不过,TCA不应该出现吗?谢谢你的澄清!这对我帮助很大。我开始怀疑Flexform是实现这一点的唯一方法,但我不确定。现在我只需要想一想,当我点击“保存”时,如何将我输入到表单中的内容输入到数据库中。。。但这是另一个主题。谢谢你的澄清!这对我帮助很大。我开始怀疑Flexform是实现这一点的唯一方法,但我不确定。现在我只需要想一想,当我点击“保存”时,如何将我输入到表单中的内容输入到数据库中。。。但这是另一个主题。