<p align="center">
<a href="https://github.com/xaboy/form-builder">
<img width="200" src="http://file.lotkk.com/form-builder.png">
</a>
</p>
<h1 align="center">form-builder</h1>
<p align="center">
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="MIT" />
<a href="https://github.com/xaboy">
<img src="https://img.shields.io/badge/Author-xaboy-blue.svg" alt="xaboy" />
</a>
<a href="https://packagist.org/packages/xaboy/form-builder">
<img src="https://img.shields.io/packagist/v/xaboy/form-builder.svg" alt="version" />
</a>
<a href="https://packagist.org/packages/xaboy/form-builder">
<img src="https://img.shields.io/packagist/php-v/xaboy/form-builder.svg" alt="php version" />
</a>
<a href="#backers" alt="sponsors on Open Collective"><img src="https://opencollective.com/form-builder/backers/badge.svg" />
</a>
<a href="#sponsors" alt="Sponsors on Open Collective"><img src="https://opencollective.com/form-builder/sponsors/badge.svg" />
</a>
</p>
<p align="center">
PHP表单生成器,快速生成现代化的form表单。包含复选框、单选框、输入框、下拉选择框等元素以及省市区三级联动、时间选择、日期选择、颜色选择、树型、文件/图片上传等功能。
</p>
> 1.2.4 版本支持字段验证
> 计划对该项目重构和升级,期待的话就点个 star 吧
>如果对您有帮助,您可以点右上角 "Star" 支持一下 谢谢!
>本项目还在不断开发完善中,如有建议或问题请[在这里提出](https://github.com/xaboy/form-builder/issues/new)
## 演示项目
[开源的高品质微信商城](http://github.crmeb.net/u/xaboy)
演示地址: [http://demo25.crmeb.net](http://demo25.crmeb.net) 账号:demo 密码:crmeb.com
## 使用建议
1. 建议将静态资源加载方式从 CDN 加载修改为自己本地资源或自己信任的 CDN [静态资源链接](https://github.com/xaboy/form-builder/blob/master/src/Form.php#L89)
2. 建议根据自己的业务逻辑重写默认的表单生成页 [默认表单生成页](https://github.com/xaboy/form-builder/tree/master/src/view)
## 更新说明
#### 1.2.7 (2018-12-12)
- 完善时间选择组件,日期选择组件验证规则
- 新增 fields 类型验证规则
- 新增 使用 view 方法生成时,表单只能被创建一次
- 修复一些小问题
## 安装
`composer require xaboy/form-builder`
## 示例
![https://raw.githubusercontent.com/xaboy/form-create/master/images/sample110.jpg](https://raw.githubusercontent.com/xaboy/form-create/master/images/sample110.jpg)
### 例子 (TP框架)
#### 版本1 编辑权限
```php
$form = Form::create(Url::build('update',array('id'=>$id)),[
Form::input('menu_name','按钮名称',$menu['menu_name']),
Form::select('pid','父级id',(string)$menu->getData('pid'))->setOptions(function()use($id){
$list = (Util::sortListTier(MenusModel::where('id','<>',$id)->select()->toArray(),'顶级','pid','menu_name'));
$menus = [['value'=>0,'label'=>'顶级按钮']];
foreach ($list as $menu){
$menus[] = ['value'=>$menu['id'],'label'=>$menu['html'].$menu['menu_name']];
}
return $menus;
})->filterable(1),
Form::select('module','模块名',$menu['module'])->options([['label'=>'总后台','value'=>'admin'],['label'=>'总后台1','value'=>'admin1']]),
Form::input('controller','控制器名',$menu['controller']),
Form::input('action','方法名',$menu['action']),
Form::input('params','参数',MenusModel::paramStr($menu['params']))->placeholder('举例:a/123/b/234'),
Form::frameInputOne('icon','图标',Url::build('admin/widget.widgets/icon',array('fodder'=>'icon')),$menu['icon'])->icon('ionic'),
Form::number('sort','排序',$menu['sort']),
Form::radio('is_show','是否菜单',$menu['is_show'])->options([['value'=>0,'label'=>'隐藏'],['value'=>1,'label'=>'显示(菜单只显示三级)']])
]);
$form->setMethod('post')->setTitle('编辑权限');
$this->assign(compact('form'));
return $this->fetch('public/form-builder');
```
#### 效果
![https://raw.githubusercontent.com/xaboy/form-builder/master/images/demo02.jpg](https://raw.githubusercontent.com/xaboy/form-builder/master/images/demo02.jpg)
#### 版本2 添加产品
```php
$field = [
Form::select('cate_id','产品分类')->setOptions(function(){
$list = CategoryModel::getTierList();
foreach ($list as $menu){
$menus[] = ['value'=>$menu['id'],'label'=>$menu['html'].$menu['cate_name'],'disabled'=>$menu['pid']== 0];//,'disabled'=>$menu['pid']== 0];
}
return $menus;
})->filterable(1)->multiple(1),
Form::input('store_name','产品名称')->col(Form::col(8)),
Form::input('store_info','产品简介')->type('textarea'),
Form::input('keyword','产品关键字')->placeholder('多个用英文状态下的逗号隔开'),
Form::input('unit_name','产品单位','件'),
Form::frameImageOne('image','产品主图片(305*305px)',Url::build('admin/widget.images/index',array('fodder'=>'image')))->icon('image')->width('100%')->height('550px'),
Form::frameImages('slider_image','产品轮播图(640*640px)',Url::build('admin/widget.images/index',array('fodder'=>'slider_image')))->maxLength(5)->icon('images')->width('100%')->height('550px')->spin(0),
Form::number('price','产品售价')->min(0)->col(8),
Form::number('ot_price','产品市场价')->min(0)->col(8),
Form::number('give_integral','赠送积分')->min(0)->precision(0)->col(8),
Form::number('postage','邮费')->min(0)->col(Form::col(8)),
Form::number('sales','销量')->min(0)->precision(0)->col(8),
Form::number('ficti','虚拟销量')->min(0)->precision(0)->col(8),
Form::number('stock','库存')->min(0)->precision(0)->col(8),
Form::number('cost','产品成本价')->min(0)->col(8),
Form::number('sort','排序')->col(8),
Form::radio('is_show','产品状态',0)->options([['label'=>'上架','value'=>1],['label'=>'下架','value'=>0]])->col(8),
Form::radio('is_hot','热卖单品',0)->options([['label'=>'是','value'=>1],['label'=>'否','value'=>0]])->col(8),
Form::radio('is_benefit','促销单品',0)->options([['label'=>'是','value'=>1],['label'=>'否','value'=>0]])->col(8),
Form::radio('is_best','精品推荐',0)->options([['label'=>'是','value'=>1],['label'=>'否','value'=>0]])->col(8),
Form::radio('is_new','首发新品',0)->options([['label'=>'是','value'=>1],['label'=>'否','value'=>0]])->col(8),
Form::radio('is_postage','是否包邮',0)->options([['label'=>'是','value'=>1],['label'=>'否','value'=>0]])->col(8)
];
$form = Form::create(Url::build('save'));
$form->setMethod('post')->setTitle('添加产品')->components($field);
$this->assign(compact('form'));
return $this->fetch('public/form-builder');
```
#### 效果
![https://raw.githubusercontent.com/xaboy/form-builder/master/images/demo03.jpg](https://raw.githubusercontent.com/xaboy/form-builder/master/images/demo03.jpg)
#### 版本3 编辑产品
```php
$product = ProductModel::get($id);
$form = Form::create(Url::build('update',array('id'=>$id)),[
Form::select('cate_id','产品分类',explode(',',$product->getData('cate_id')))->setOptions(function(){
$list = CategoryModel::getTierList();
foreach ($list as $menu){
$menus[] = ['value'=>$menu['id'],'label'=>$menu['html'].$menu['cate_name'],'disabled'=>$menu['pid']== 0];//,'disabled'=>$menu['pid']== 0];
}
return $menus;
})->filterable(1)->multiple(1),
Form::input('store_name','产品名称',$product->getData('store_name')),
Form::input('store_info','产品简介',$product->getData('store_info'))->type('textar
没有合适的资源?快使用搜索试试~ 我知道了~
基于PHP的CRMEB单商户商城系统源码.zip
共2000个文件
php:541个
js:471个
vue:280个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 176 浏览量
2023-08-13
23:31:26
上传
评论
收藏 55.85MB ZIP 举报
温馨提示
基于PHP的CRMEB单商户商城系统源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于PHP的CRMEB单商户商城系统源码.zip (2000个子文件)
workerman.bat 174B
pimple.c 38KB
chunk-vendors.1b369b12.css 436KB
app.42e6ba20.css 371KB
index.5ca1c9cc.css 80KB
guildford.css 71KB
guildford.css 71KB
emojione.min.css 61KB
facebook.min.css 61KB
google.min.css 61KB
messenger.min.css 61KB
twitter.min.css 61KB
animate.min.css 57KB
iconfont.css 50KB
iconfont.css 50KB
ueditor.css 45KB
ueditor.css 45KB
apple.min.css 39KB
ueditor.min.css 34KB
ueditor.min.css 34KB
chunk-e356db48.61d62009.css 26KB
video-js.css 22KB
video-js.css 22KB
image.css 19KB
image.css 19KB
video.css 15KB
video.css 15KB
attachment.css 15KB
attachment.css 15KB
iconfont.css 13KB
video-js.min.css 11KB
video-js.min.css 11KB
install.css 11KB
base.css 11KB
base.css 11KB
style.css 10KB
browser-style.css 9KB
demo.css 9KB
style.css 9KB
shCoreDefault.css 7KB
shCoreDefault.css 7KB
chunk-1f045d18.1c666738.css 5KB
chunk-93cccd06.a072c5ae.css 4KB
iconfont.css 4KB
scrawl.css 4KB
scrawl.css 4KB
chunk-448860c1.41d46fb9.css 3KB
htmlDescriptor.css 3KB
chunk-14b6559a.3ff06504.css 3KB
iconfont.css 3KB
codemirror.css 3KB
codemirror.css 3KB
chunk-2e45298b.d9f66e15.css 3KB
charts.css 3KB
charts.css 3KB
chunk-8ebca898.189d91c6.css 3KB
chunk-90645078.e0d7751b.css 3KB
homepage.css 2KB
background.css 2KB
background.css 2KB
jigsaw.css 2KB
chunk-5a613220.1da59394.css 2KB
chunk-1bc0c3ed.f7de977b.css 2KB
chunk-3086ed17.14c4652d.css 2KB
chunk-a4f327ce.a4845eaa.css 2KB
chunk-34c2789c.9b7b2a1b.css 2KB
icon.css 2KB
emotion.css 2KB
emotion.css 2KB
dialogbase.css 2KB
dialogbase.css 2KB
music.css 2KB
music.css 2KB
chunk-513ae2dd.6cf659a6.css 2KB
chunk-3efe51aa.f7830ff2.css 2KB
chunk-0cb24ee9.86c3ceae.css 1KB
chunk-5222549c.f1e83480.css 1KB
chunk-8794ffa4.a4674324.css 1KB
chunk-40e105c3.a4ca4990.css 1KB
edittable.css 1KB
edittable.css 1KB
chunk-d045194a.0dfc6333.css 1KB
chunk-c20d8206.633cd5ea.css 1KB
chunk-059f50b8.844811c2.css 1KB
chunk-6cd1e1aa.7661f6a6.css 1KB
chunk-a11ec830.b641152b.css 1KB
template.css 1KB
template.css 1KB
chunk-dc55fa7e.0e386c94.css 974B
chunk-cb2bc0d0.dfa0d79a.css 951B
chunk-0c711f48.d17d92a4.css 887B
chunk-71e466cf.92295b16.css 817B
chunk-3ec1f55a.c1e2bee2.css 817B
chunk-1e4f537c.3c0c3a6a.css 816B
chunk-8b226e8a.e0fe19c8.css 780B
chunk-c22c994e.c419d85a.css 736B
chunk-005c20b1.f55662f1.css 703B
chunk-da583914.90298af8.css 660B
chunk-f95ceace.87677b65.css 645B
chunk-a6d56d54.dd00583c.css 635B
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
毕业_设计
- 粉丝: 1941
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 手势识别大拇指yolo训练集
- stm32双电梯控制系统
- Java语言基础入门教程 Java实训教程 14.嵌套类等 共34页.pptx
- Java语言基础入门教程 Java实训教程 13.反射 共38页.pptx
- Java语言基础入门教程 Java实训教程 12.注解 共35页.pptx
- Java语言基础入门教程 Java实训教程 11.多线程 共34页.pptx
- Java语言基础入门教程 Java实训教程 10.枚举与泛型 共27页.pptx
- Java语言基础入门教程 Java实训教程 9.异常处理 共32页.pptx
- Java语言基础入门教程 Java实训教程 6.继承与多态 共41页.pptx
- MFC IE控件使用方式
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功