在TYPO3中添加自定义页面配置字段

mcm*_*mcm 4 typo3 fluid typo3-6.2.x

请帮忙,

我使用Builder Extension创建了一个扩展.在扩展中,我包含了一个简单的流体页面模板.

然后,我添加的自定义页面设置字段中描述的这个帖子.

(1.add DB_ Field in ext_tables.sql; 2.在extTables.php中添加TCA定义)

不幸的是没有字段出现 我尝试了建议的方式(ext_tables.sql):

$tmp_itm_extended_columns_pages = array(
    'customTemplateClass' => array(
        'exclude' => 0,.....
Run Code Online (Sandbox Code Playgroud)

以及来自realurl的版本:

$TCA['pages']['columns'] += array(
    'customTemplateClass' => array(
        'label' => 'customTemplateClass'...
Run Code Online (Sandbox Code Playgroud)

不知道如何运行自定义页面设置.是否存在与流体页面模板组合的问题?

感谢您帮助Mathias

mcm*_*mcm 6

为扩展中的页面配置添加自定义文本字段.以下是我在流体模板扩展中实现自定义字段的方法,以便为页面级别滑动做好准备:

1.)定义自定义文本字段:myExt/ext_tables.php

$TCA['pages']['columns'] += array(
    'customTemplateClass' => array(
        'label' => 'Custom Template Class',
        'exclude' => 1,
        'config' => array (
            'type' => 'input',
            'max' => 255,
            'eval' => 'trim,nospace,lower'
        ),
    ),
);
Run Code Online (Sandbox Code Playgroud)

2.)将字段添加到TCA类型配置:myExt/ext_tables.php

t3lib_extMgm::addToAllTCAtypes (
    'pages',
    'customTemplateClass'
);
Run Code Online (Sandbox Code Playgroud)

3.)将自定义字段写入数据库:myExt/ext_tables.sql

CREATE TABLE pages (
    customTemplateClass varchar(255) DEFAULT '' NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

4.)为rootlinefields添加自定义字段以进行页面级别滑动:myExt/ext_localconf.php

$rootlinefields = &$GLOBALS["TYPO3_CONF_VARS"]["FE"]["addRootLineFields"];
if($rootlinefields != '')
{
    $rootlinefields .= ' , ';
}
$rootlinefields .= 'customTemplateClass';
Run Code Online (Sandbox Code Playgroud)

5.)获取当前页面的自定义类或如果没有父页面:TypoScript:

lib.pageconfig {
    customTemplateClass = TEXT
    customTemplateClass {
        value = default
        override {
           required = 1
           data = levelfield : -1 , customTemplateClass, slide  
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

6.)流体模板文件中的输出:

{f:cObject(typoscriptObjectPath: 'lib.pageconfig.customTemplateClass')}
Run Code Online (Sandbox Code Playgroud)

  • TYPO3 7的一些sugestions是使用ExtensionManagementUtility :: addTCAcolumns(而不是+ =)并使用Configuration/TCA/Overrides/pages.php而不是ext_tables.php.官方示例(但没有滑动):https://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/Examples/Index.html (5认同)