plasticstudio/iconfield

Silverstripe 的图标字段 - 基于 jaedb/iconfield 分支

安装: 8,161

依赖: 1

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 8

类型:silverstripe-vendormodule

1.4.1 2024-07-15 03:30 UTC

This package is auto-updated.

Last update: 2024-09-15 03:50:00 UTC


README

composer require plasticstudio/iconfield

描述

简化了图标的使用方式,内容作者可以设置图标而不会干扰资产库。相反,网页开发者提供图标集,最终用户可以使用但不能操纵。

IconField

要求

  • SilverStripe 4

使用方法

  • 导入所需类
use PlasticStudio\IconField\Icon;
use PlasticStudio\IconField\IconField;
  • 将您的 $db 字段设置为类型 Icon(例如 'PageIcon' => Icon::class
  • IconField::create($name, $title)
    • $name 是您的类中定义的数据库字段
    • $title 是此字段的标签
  • 将包含图标的文件夹添加到您的项目中;此文件夹中的图标将被字段用作选项,您可以从中选择。此文件夹的默认位置(如 _config/config.yml 中定义)为 app/client/assets/icons/default。如果您的项目有 public 目录,您需要确保此文件夹的路径是公开的。您可以在项目自己的配置中覆盖此全局默认值,如下所示
PlasticStudio\IconField\IconField:
  icons_directory: app/client/assets/different/path/to/icons
  • 您还可以使用 setFolderName() 在每个字段的基础上设置图标文件夹路径,例如
IconField::create('SocialIcon, 'Icon')->setFolderName('app/client/assets/icons/social')
  • 在模板中使用您的图标,就像使用任何其他属性一样(例如 $PageIcon)。如果您的图标是 SVG,SVG 图像数据将被注入到模板中。为了防止这种情况,您可以使用 $PageIcon.IMG 来强制使用 <img> 标签。

  • 在 config.yml 文件中添加默认宽度和高度,以便在图像标签上输出宽度和高度属性

DefaultIconSize:
  default_width: "120"
  default_height: "120"