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

时间:2014-12-29 01:26:49

标签: typo3 fluid typo3-6.2.x

请帮忙,

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

然后我添加了自定义页面设置字段,如this post中所述。

(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,.....

以及来自realurl的版本:

$TCA['pages']['columns'] += array(
    'customTemplateClass' => array(
        'label' => 'customTemplateClass'...

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

感谢您的帮助 的Mathias

2 个答案:

答案 0 :(得分: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'
        ),
    ),
);

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

t3lib_extMgm::addToAllTCAtypes (
    'pages',
    'customTemplateClass'
);

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

CREATE TABLE pages (
    customTemplateClass varchar(255) DEFAULT '' NOT NULL
);

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

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

5)。 获取当前页面的自定义类或如果没有父页面: Typo脚本:

lib.pageconfig {
    customTemplateClass = TEXT
    customTemplateClass {
        value = default
        override {
           required = 1
           data = levelfield : -1 , customTemplateClass, slide  
        }
    }
}

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

{f:cObject(typoscriptObjectPath: 'lib.pageconfig.customTemplateClass')}

答案 1 :(得分:3)

您需要将字段添加到表格的TCA type configuration"页面"它应该出现在哪里。有一个utility method可以将其添加到所有已配置的类型中。