pixelpoems / silverstripe-selection-field
Silverstripe 模块,为 CMS 提供选择字段。
1.1.0
2024-04-16 13:17 UTC
Requires
- php: >=7.4
- heyday/silverstripe-colorpalette: ^2.1.0
- silverstripe/cms: >=4
- silverstripe/framework: >=4
- silverstripe/vendor-plugin: >=1
Requires (Dev)
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2024-09-08 07:43:29 UTC
README
本模块提供了一个基于 heyday 的颜色调色板字段的选项字段。
需求
- Silverstripe CMS >=4.0
- Silverstripe 框架 >=4.0
- 版本化管理员 >=1.0
- Silverstripe Color Palette Field ^2.1
安装
composer require pixelpoems/silverstripe-selection-field
使用
基于: SilverStripe\Forms\OptionsetField
和 Heyday\ColorPalette\Fields\ColorPaletteField
private static $db = [ 'Alignment' => 'Varchar', ]; private static $defaults = [ 'Alignment' => 'left', ]; public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldsToTab('Root.Main', [ SelectionField::create( $name = 'Alignment', $title = 'Alignment', $source = [ 'left' => [ 'Value' => 'left', 'Title' => _t('LayoutOptions.Left', "Left"), 'ShowTitle' => true, 'Icon' => 'align-left' ], 'center' => [ 'Value' => 'center', 'Title' => _t('LayoutOptions.Center', "Center"), 'ShowTitle' => true, 'Icon' => 'align-center' ], 'right' => [ 'Value' => 'right', 'Title' => _t('LayoutOptions.Right', "Right"), 'ShowTitle' => true, 'Icon' => 'align-right' ], $value = 'left' ); ]); }
要显示图标,您需要引用 Font Awesome 图标(免费 & Solid):https://fontawesome.com 使用不带 fa-
前缀的图标名称。例如,align-left
用于 fa-align-left
。
如果数组中没有定义图标,则框将显示标题!您可以在选项中定义“内容”时定义替代框内容。此外,您可以定义图像链接
'medium' => [ 'Value' => 'medium', 'Title' => _t('LayoutOptions.Medium', 'Medium'), 'ShowTitle' => true, 'Content' => 'M', 'ImgLink' => '/assets/medium.png' ],
如果您定义了图标和图像链接,则图像链接将被忽略。根据层次结构,首先显示图标,然后显示图像链接,然后显示内容 - 如果没有定义任何内容,则显示标题。
如果您使用 ImgLink,则可以让用户上传到预定义的文件夹中的图像。您可以使用本模块附带的服务 - Icon Selection Service
,为用户提供图像。您可以使用以下代码提供图像
private static array $db = [ 'IconID' => 'Varchar' ]; public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldsToTab('Root.Main', [ SelectionField::create('IconID', 'Icon', IconSelectionService::getIconOptions()) ]); return $fields; }
报告问题
如果您发现了任何错误,或者缺少某些功能,请 创建一个问题。
致谢
图标来自 Font Awesome
选择字段基于 Heyday 的颜色调色板字段