SilverStripe 所见即所得样式约束

SilverStripe wysiwyg style constraints

有什么方法可以防止某些自定义的所见即所得样式应用于某些 HTML 元素?

假设我有两种样式,分别称为 "red" 和 "framed"。一种颜色为红色文本,后者在照片周围加框。

我可以控制突出显示文本或图像时可用的样式吗?例如,我希望样式 "framed" 在突出显示文本时不可用,样式 "red" 在突出显示图像时不显示在样式下拉菜单中。

Tinymce 配置在 silverstripe 中有点棘手,虽然一旦你掌握它看起来很简单 运行。

Jonom 写下一些配置并放在 Github 上,称为 tinytidy module, there you might find a possile solution。所以最好尝试这个模块,因为它向编辑器添加了一些自定义 css。

从那里复制,输入你的/mysite/_config。php:

$formats = array(

    // Define the styles that will be available in TinyMCE's dropdown style menu
    // * Use 'selector' to specify which elements a style can be applied to
    // * See Headings example below for explanation of different settings
    // * Using 'classes' allows a class to be combined with others while 'attributes'=>'style' removes other classes before applying
    // Text styles

    array(
        'title' => 'Selected text'
    ),
    array(
        'title' => 'highlight red',
        'classes' => 'red',
        'inline' => 'span',
        'selector' => 'i,em,b,strong,a'
    ),

    array(
        'title' => 'Images',
    ),
    array(
        'title' => 'Put a frame around a photo',
        'attributes' => array('class'=>'framed'),
        'selector' => 'img'
    )
);
//Set the dropdown menu options
HtmlEditorConfig::get('cms')->setOption('style_formats',$formats);

希望对您有所帮助,wmk