Giter Site home page Giter Site logo

dcat-form-media's Introduction

Dcat-admin 表单媒体拓展

预览

表单

form

动态表单

form-array

弹出选择框

form-modal

环境

  • PHP >= 7.2.5
  • Dcat-admin ^2.0

安装

composer 安装

composer require lake/form-media

安装扩展

开发工具->扩展 安装本扩展

使用

单图 数据库结构 varchar

可删除
$form->photo('photo','图片')
    ->nametype('datetime')
    ->remove(true)
    ->help('单图,可删除');
不可删除
$form->photo('photo','图片')
    ->path('pic') 
    ->nametype('uniqid') 
    ->remove(false)
    ->help('单图,不可删除');

$form->photo('photo','图片')
    ->nametype('uniqid') 
    ->help('单图,不可删除');

多图 数据库结构 json

$form->photos('photo', '图片')
    ->path('pic') 
    ->pageSize(16)
    ->nametype('uniqid') 
    ->limit(9)
    ->remove(true);  //可删除

视频 数据库结构 json/varchar

$form->video('video','视频')
    ->path('video') 
    ->nametype('uniqid') 
    ->remove(true);  //可删除

参数说明

path(string)         : 快速定位目录,默认为根目录
nametype(string)     : 文件重命名方式 uniqid|datetime|sequence|original,默认 uniqid
accept(string)       : 设置 input accept 属性, 自定义,默认类型不设置
pageSize(int)        : 弹出层列表每页显示数量
limit(int)           : 限制条数
remove(boolean)      :  是否有删除按钮
saveFullUrl(boolean) :  是否保存完整链接
disk(string)         :  文件存储的磁盘,具体信息可以查看 `config/filesystems.php`

photo 、 photos 、 video 的参数默认值不一样

photo  默认 limit = 1  remove = false

photos 默认 limit = 9  remove = true

video  默认 limit = 1  remove = true
多图上传提交的数据为 json 字符串,如需输出数组,请在对应模型中加入下面代码
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Demo extends Model
{
    
    public function getPicturesAttribute($pictures)
    {

        return json_decode($pictures, true);

    }

}

开源协议

  • 本扩展遵循 MIT 开源协议发布,在保留本扩展版权的情况下提供个人及商业免费使用。

版权

dcat-form-media's People

Contributors

deatil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dcat-form-media's Issues

模态窗(Modal)沒有作用

image
請問這個可以用在模态窗(Modal) (Dcat\Admin\Widgets\Form) 嗎?

我在 Dcat\Admin\Form 中使用是可以用的,如下方是可以使用的代碼
protected function form()
{
return Form::make(new ProductSku(), function (Form $form) {
$form->photo('thumb');
$form->photos('sku_gallery', '圖片集')->nametype('original');
});
}

但如果在Dcat\Admin\Widgets\Form下是沒有作用的,是要引入什麼其他的東西嗎?
public function form()
{
$this->photo('thumb', '列表圖');
$this->photos('sku_gallery', '圖片集')->nametype('original');
}

input accept属性建议

<label class="btn btn-primary lake-form-media-upload-label">
    <i class="fa fa-upload"></i>&nbsp;&nbsp;{{ LakeFormMedia::trans('form-media.upload') }}
    <input type="file" class="hidden file-upload lake-form-media-upload" multiple="" accept="{{ $options['accept'] }}" />
</label>

在vendor调试了一下,改动量不大,但对用户体验很好[坏笑]

如何集成裁切或resize呢?

原來dcat 的上傳圖片 $form->image('pic')->resize(400, 300)方法有支援Intervention image圖片套件
用你這個$form->photo('pic')就無法支援 是否能加入這個 謝謝

文件命名支持原始文件名

建议支持原始文件名,由于我们都是自行组建命名规则的,现在的重命名不是很方便寻找,尤其是针对视频没法预览。

功能建议

1、图片和商品可以可以一起选
2、除了图片和商品,其他文件也可以上传

在弹窗创建和编辑问题

操作
1、点击创建-》关闭创建。
2、点击编辑-》点击预览,模态框没有出现。
初步分析,id="LakeFormMediaModellink",加载了两次

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.