TYPO3 把内联样式转成系统样式文件

来源:互联网 发布:武汉国家存储器 知乎 编辑:程序博客网 时间:2024/06/10 05:10

大概可以用下面两种方式解决吧。

第一种方式: 使用TS解决这个问题,这个比较简单也比较的直观,缺点:操作稍微麻烦点而已,其实也还好了。
page.cssInline {
10 = TEXT
10.value (
Put your styles here…
)
}

第二种方式: 扩展表“pages”, 具体操作如下。
第一步:ext_tables.php
$tempColumns = array (
‘styles’ => array (
‘exclude’ => 0,
‘label’ => ‘Styles’,
‘config’ => array (
‘type’ => ‘text’,
‘cols’ => ’30′,
‘rows’ => ’5′,
)
),
);

t3lib_div::loadTCA(‘pages’);
t3lib_extMgm::addTCAcolumns(‘pages’,$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes(‘pages’,'styles;;;;1-1-1′);

第二步:ts
page.cssInline {
10 = TEXT
10.data = page:styles
10.required = 1
}

还有一种特殊的情况,就是我们的插件中如果需要动态的添加一些样式的话,那我们又应该怎么办呢?其实也很简单,代码如下,相信大家一看就会明白的。
$temp_styleLines = array();
$temp_styleLines[] = ‘.mystyle {}’;
$GLOBALS['TSFE']->additionalHeaderData['specialstyles'] = TSpagegen::inline2TempFile(implode(chr(10),$temp_styleLines),’css’);


随着TYPO3版本的更新,写法可能有些不一样,如果发现有问题,可以查看下TYPO3核心代码。