silverware / font-icons
SilverWare 字体图标模块。
Requires
- php: >=5.6.0
- silverstripe/framework: ^4.0
- silverware/colorpicker: ^1.0
- silverware/select2: ^1.0
- symfony/yaml: ~3.2
README
提供了一种新的表单字段和数据库字段类型,用于引用字体图标。旨在与SilverWare一起使用,但此模块也可以安装到常规SilverStripe v4项目中。该模块提供Font Awesome的后端。
内容
背景
字体图标很方便。它们在所有设备上都看起来很好,而且通过HTML和CSS引用起来非常简单。然而,像Font Awesome这样的字体图标库提供了大量的图标,我们无法期望用户记住图标的名称、代码或需要查阅作弊表。
我们可以提供一个标准的选择字段列出所有可用的图标,但用户需要知道图标的样子。这就是这个模块提供的FontIconField
的作用。它是SilverWare的Select2AjaxField
类的扩展,提供了一个由配置的后端提供的Ajax驱动的可搜索图标列表,以及每个图标的预览。
要求
安装
通过Composer进行安装
$ composer require silverware/font-icons
配置
与所有SilverStripe模块一样,配置是通过YAML进行的。使用SilverStripe依赖注入器配置字体图标后端。默认配置为Font Awesome。
SilverStripe\Core\Injector\Injector: FontIconBackend: class: SilverWare\FontIcons\Backends\FontAwesomeBackend properties: version: 4.7.0 classes: icon: fa-%s list-item: fa-li fixed-width: fa-fw
您可以通过更改version
属性来指定正在使用的Font Awesome版本。在刷新后,后端将从GitHub下载完整的图标列表并缓存结果,直到下一次刷新。
使用
字段类型
要在您的代码中使用字体图标,您可以在$db
数组中引用字段类型
use SilverStripe\ORM\DataObject; class MyObject extends DataObject { private static $db = [ 'Icon' => 'FontIcon' ]; }
您还可以在类文件中使用字段类型,并直接引用字段类型
use SilverStripe\ORM\DataObject; use SilverWare\FontIcons\ORM\FieldType\DBFontIcon; class MyObject extends DataObject { private static $db = [ 'Icon' => DBFontIcon::class ]; }
表单字段
在您的getCMSFields
方法中,创建一个FontIconField
以允许用户选择图标
FontIconField::create('Icon', $this->fieldLabel('Icon'));
别忘了在类文件头部首先use
这个字段
use SilverWare\FontIcons\Forms\FontIconField;
数据扩展
该模块还附带一个数据扩展类,可以轻松地将字体图标添加到SilverStripe中的数据对象。扩展添加了一个FontIcon
数据库字段,并在CMS中添加了一个包含FontIconField
的新图标选项卡。
要应用扩展到您的类,请使用YAML配置
MyNamespace\MyObject: extensions: - SilverWare\FontIcons\Extensions\FontIconExtension
问题
请使用GitHub问题跟踪器报告错误和功能请求。
待办事项
- 测试
贡献
我们热烈欢迎您的贡献,以帮助使此项目变得更好。有关更多信息,请参阅贡献。
归属
- 使用了Font Awesome,由Dave Gandy提供。
- 特别感谢 @hailwood,他提供了一个如何使用他的 SilverStripe v3 模块解析 Font Awesome 源图标的有益示例。
维护者
许可
BSD-3-Clause © Praxis Interactive