我使用Drupal8.1.3,而我的WYSIWYG编辑器没有字体大小和颜色按钮。
是否有一种方法来解锁这些,或者我应该安装一个完全不同的编辑器(同时试图说服社区中的一些人将这些选项带回来)?
发布于 2016-09-17 22:34:28
您正在寻找ColorButton和CKEditor字体大小与家族插件。按照项目页面上的说明,您可以选择将它们添加回工具栏。
请注意,由于这些插件使用内联样式,如果该格式启用了“限制允许的HTML标记和纠正错误的HTML”,则Drupal的XSS过滤机制将删除这些效果。
据我所知,目前没有办法(我知道)有过滤标记和内联样式。目前还没有类似于D7's的WYSIWYG滤波器模块用于D8。这样一个模块必须实现一个Drupal\filter\Plugin\FilterInterface::TYPE_HTML_RESTRICTOR类型的新过滤器和一个钩子hook_editor_xss_filter_alter()来覆盖编辑器模块中\Drupal\editor\EditorXssFilter\Standard的使用(该类扩展了Drupal\Component\Utility\Xss并调用了它的filter方法,而后者又是硬编码的,以始终删除样式属性)。
更新:htmLawed模块确实提供了一种替代Core的方法,因此您可以在呈现过程中将其配置为不剥离样式属性。确保配置安全是另一回事,但是仅仅在允许的标签列表中添加'span‘标记和从不允许的属性列表中删除'style’,我就有了部分原因。
我说的部分原因是,当您尝试编辑保存的内容或切换到另一种格式和返回时,样式属性仍将被Editor模块删除。当您切换到启用编辑器的格式时,编辑器模块的脚本将对服务器进行AJAX调用,并在将其发送到编辑器之前传递要过滤的原始文本区域的内容。(在页面加载时附加编辑器时,这是生成表单的一部分,因此在格式切换之前不需要AJAX调用。)
正是在这个过程中,XSS过滤仍然在处理内联样式属性,因为对Xss:filter()的调用仍然将它列入黑名单。htmLawed模块(或另一个模块)必须执行前面提到的类替换,才能完全消除这个特性/问题。
因此,只要每次编辑内容时都重新应用内联样式,并且在编辑时不要在编辑器格式之间切换,您就可以获得字体颜色和大小,尽管它目前有点不切实际,而且不太直观。
发布于 2016-06-22 01:20:01
打开“管理->配置”、“->内容创作”、“->文本格式”和“编辑器admin/config/content/formats”,并配置所使用的文本格式。然后在“工具栏配置”部分中拖放要在编辑器中使用的按钮,然后单击“保存配置”。
若要向编辑器添加不同字体颜色和字体大小的自定义样式,请将“样式”按钮拖动到工具栏上。你会得到一个新的选项卡,下面称为“样式下拉”。在该选项卡中,您可以添加自己的样式选项。因此,如果要在编辑器中添加标题2内容的可能性,请添加行h2|Heading 2。如果要添加红色文本,请添加行.color-red|Red color,然后在CSS文件中定义.color-red { color: red; }等。
https://drupal.stackexchange.com/questions/204845
复制相似问题