为扩展添加自定义页面配置文本字段。
以下是我在流体模板扩展中实现自定义字段的方法,准备用于页面级别滑动:
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.) 获取当前页面的自定义类,如果为空则获取父页面的自定义类:
TypoScript:
lib.pageconfig {
customTemplateClass = TEXT
customTemplateClass {
value = default
override {
required = 1
data = levelfield : -1 , customTemplateClass, slide
}
}
}
6.) Fluid模板文件中的输出:
{f:cObject(typoscriptObjectPath: 'lib.pageconfig.customTemplateClass')}