micschk / silverstripe-signaturefield
基于 https://github.com/szimek/signature_pad 的签名字段
v1.0.1
2023-03-10 16:42 UTC
Requires
- silverstripe/admin: ^1.1
- silverstripe/framework: ^4.0
This package is auto-updated.
Last update: 2024-09-10 19:36:47 UTC
README
一个基于 https://github.com/szimek/signature_pad 的 silverstripe 签名表单字段
安装
composer require micschk/silverstripe-signaturefield
使用
如果字段设置为 'Signature'(字段包含签名的 base64 png 图像),则将生成签名字段
use Micschk\SignatureField\Signature; class Contract extends DataObject { private static $db = array( 'Signature' => Signature::class, ); }
或显式地将 SignatureField 添加到表单中(例如,对于非 Scaffolded 表单字段或前端)
use Micschk\SignatureField\SignatureField; ... public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldToTab('Root.Main', SignatureField::create('Signature') ); return $fields; }
前端使用
如果在这个前端表单上使用此字段,而不仅仅是 CMS,则需要 jQuery。默认情况下,此模块将加载一个打包版本的 jQuery。如果您在您的客户端上单独安装了 jQuery,这可能会导致冲突。要删除包含的 jQuery 版本并使用您自己的版本,请将以下内容添加到您的 yaml 配置中
Micschk\SignatureField\SignatureField: include_jquery: false
已知问题
在高 DPI 屏幕上可能发生缩放问题: szimek/signature_pad#679
开发
使用 parcel.js 打包 js。要更改 JavaScript
- 运行
yarn install
以安装依赖项。 - 在
javascript/src/signature_pad.init.js
中进行必要的更改 - 运行
yarn build
以编译更改