silverstripe 3.0:如何为每个用户组添加不同的tinymce配置

时间:2012-10-11 16:01:38

标签: silverstripe

没有关于如何让用户组在silverstripe 3.0(尚未)的文档中使用不同的tinymce配置的信息,虽然你可以在2.4的文档中找到一些信息,但它没有真有帮助:http://doc.silverstripe.org/framework/en/topics/rich-text-editing#security-groups-with-their-own-editor-configuration

那么如何为某些用户组应用不同的tinymce配置呢?

1 个答案:

答案 0 :(得分:2)

在论坛帖子中找到了大部分内容:http://www.silverstripe.org/general-questions/show/11434

所以,基本上你必须定义你的新的tinymce配置(在你的_config.php内):

$cfg = HtmlEditorConfig::get('authors');
$cfg->setOptions(array(
    'friendly_name' => 'Restricted',
    'priority' => 1, //required, see forum thread
    'theme_advanced_blockformats' => 'p,h3'
));

此配置将由cms获取,然后在“安全”部分中可用(请参阅选定组的“权限”选项卡顶部)。

这已经很好了,但你会注意到新配置的tinymce实例中缺少一些重要的功能,最明显的是“插入图像”和“插入链接”的按钮。这是因为标准'cms'配置的许多默认配置实际上并不是HtmlEditorConfig'默认配置',而是在/framework/admin/_config.php中定义。

保持“默认”行为的最简单的解决方案是在前面的代码块之前添加以下内容:

HtmlEditorConfig::$configs['authors'] = clone HtmlEditorConfig::get('cms');

这将确保您在新的“受限制”配置中获得所有可用的基本功能。