承接 silverware/iconsetfield 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

silverware/iconsetfield

Composer 安装命令:

composer require silverware/iconsetfield

包简介

SilverWare IconSetField Module.

README 文档

README

Latest Stable Version Latest Unstable Version License

A responsive form field for SilverStripe v4, similar to CheckboxSetField... but with Font Awesome icons!

IconSetField

Contents

Requirements

Installation

Installation is via Composer:

$ composer require silverware/iconsetfield

Note: forms on the website will automatically load the field requirements if the app is using SilverWare. If you are using a vanilla SilverStripe project, you'll need to load the module script and styles in your app bundle (jQuery is required):

  • silverware/iconsetfield: client/dist/js/bundle.js
  • silverware/iconsetfield: client/dist/styles/bundle.css

Configuration

As with all SilverStripe modules, configuration is via YAML. Extensions to LeftAndMain and ContentController are applied via config.yml.

Theme

The module supports a theme for both the CMS and forms on the website. To define the theme, use the following YAML configuration:

# Custom theme for CMS:

SilverStripe\Admin\LeftAndMain:
  iconsetfield_theme:
    hover-background: '<color>'
    hover-foreground: '<color>'
    checked-background: '<color>'
    checked-foreground: '<color>'
    checked-border: '<color>'

# Custom theme for website forms:

SilverStripe\CMS\Controllers\ContentController:
  iconsetfield_theme:
    hover-background: '<color>'
    hover-foreground: '<color>'
    checked-background: '<color>'
    checked-foreground: '<color>'
    checked-border: '<color>'

Replace each <color> with your desired color hex or rgba code.

Columns

By default, the field uses Bootstrap column classes. You can change the column classes by adding them to your YAML:

SilverWare\IconSetField\Forms\IconSetField:
  column_class_small: 'col-sm-%d'
  column_class_large: 'col-lg-%d'

Usage

Create the field either as part of a Form, or within your getCMSFields() method:

use SilverWare\IconSetField\Forms\IconSetField;

$field = IconSetField::create(
    'RelationName',
    'Title of field',
    [
        1 => [
            'icon' => 'envelope',
            'text' => 'Mail'
        ],
        2 => [
            'icon' => 'facebook',
            'text' => 'Facebook'
        ],
        3 => [
            'icon' => 'twitter',
            'text' => 'Twitter'
        ]
    ]
);

The first parameter is the name of the field or many-many relation to save to, and the second is the field title. The third parameter defines the source for the field, and is a nested array consisting of ID values mapped to arrays containing the icon code (i.e. fa-<code>) and the text for the option.

Maximum Height

You can define a maximum height (in pixels) for your field by using the setMaxHeight() method:

$field->setMaxHeight(200);

This will fix the maximum height of your field to 200 pixels, and add a scrollbar to view the remaining options.

Column Widths

The field supports custom column widths for small and large devices. By default, the field uses a value of 6 for small devices, and 4 for large devices. Based on the Bootstrap grid of 12, this means you'll see two options per row on small devices, and three options per row on large devices.

You can change these values by using:

$field->setSmallWidth(4);  // 3 options per row on small devices
$field->setLargeWidth(3);  // 4 options per row on large devices

Options will always be one per row on the smallest screens (i.e. mobile).

Issues

Please use the GitHub issue tracker for bug reports and feature requests.

Contribution

Your contributions are gladly welcomed to help make this project better. Please see contributing for more information.

Attribution

Maintainers

Colin Tucker Praxis Interactive
Colin Tucker Praxis Interactive

License

BSD-3-Clause © Praxis Interactive

统计信息

  • 总下载量: 19
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2017-11-21

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固