milkyway /silverstripe-htmleditorfield-extras
dev-master
2013-12-04 01:19 UTC
Requires
- silverstripe/framework: ~3.1
This package is not auto-updated.
Last update: 2022-02-01 12:28:29 UTC
README
此模块为Silverstripe中的HTMLEditorFields添加了一些新功能
需求
- SilverStripe 3.1
功能
- 在CMS中的链接中添加Google链接跟踪
- 在CMS中的链接中添加模态切换(仍在进行中,依赖于Twitter Bootstrap)
- 允许将Textarea中的类插入到HTMLEditorField正文中
- 为每个HTMLEditorField设置不同的内容CSS
- 为HTMLEditorField设置最大长度
使用composer安装
composer require milkyway/silverstripe-htmleditorfield-extras:*
设置
添加到HTMLEditorField iframe中的类
为网站的不同部分(如电子邮件和网站,通常使用不同的样式表)设置HTMLEditorField可能会很繁琐。此解决方案将为HTMLEditorField iframe正文添加一个类,因此您可以在不使用多个样式表的情况下更改样式(使用LESS/SCSS导入特别容易)
$editor = HTMLEditorField::create('Content')->setAttribute('data-tinymce-classes', 'email-body print');
覆盖HTMLEditorField的内容CSS
如果上述方法不足以解决问题,您还可以通过设置data-tinymce-content-css数据属性来覆盖HTMLEditorField的content_css
$editor = HTMLEditorField::create('Content')->setAttribute('data-tinymce-content-css', '/here/there/layout.css');
为HTMLEditorField设置最大长度
现在您的HTMLEditorField将使用在textarea上设置的长度
$editor = HTMLEditorField::create('Content')->setAttribute('maxlength', 255);
我还添加了一些其他配置,以便您显示剩余字符数。要添加指示器,请在您的编辑器上设置以下内容
$editor->setAttribute('data-tinymce-maxlength-indicator', true);
这将使用默认指示器(这是JS通知,可能会很烦人)。要使用自定义指示器,您可以使用元素的ID来填充文本
$editor->setAttribute('data-tinymce-maxlength-indicator', '#Content-MaxLength-Indicator');
Google链接跟踪
此模块中的设置使用HTMLEditorField上的类。要允许Google链接跟踪,请将类google-link-tracking添加到HTMLEditorField。
$editor = HTMLEditorField::create('Content')->addExtraClass('google-link-tracking');
额外功能
我添加了一些实用类,以删除在某些情况下不需要的按钮。将此类添加到HTMLEditorField将更改HTMLEditorField(它只会通过CSS删除,因此JS调用仍然可以调用它们...)
- email-friendly : 删除 '样式' 下拉菜单
- limited : 删除大多数按钮(最后两行)以外的所有按钮(加粗、斜体、下划线、删除线、样式、hr & charmap)
- limited-with-links : 与limited相同,但保留链接插件