milkyway/silverstripe-htmleditorfield-extras

此包已被废弃,不再维护。作者建议使用milkyway-multimedia/ss-mwm-formfields包。

为Silverstripe中的HTMLEditorFields添加一些额外功能

安装: 508

依赖: 0

建议者: 0

安全: 0

星星: 4

关注者: 2

分支: 1

开放问题: 4

语言:JavaScript

类型:silverstripe模块

dev-master 2013-12-04 01:19 UTC

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相同,但保留链接插件