bitsystem / searchpro
这是一个允许您列出数据库表格的库。它可以显示相关表格并按多个值过滤它们。您可以分页结果并指定每页的结果数量。
This package is not auto-updated.
Last update: 2024-09-29 05:08:25 UTC
README
适用于 symfony 3.x 和 4.x 的库。从服务器临时文件(/tmp)中裁剪获取的图片。通常在这个文件夹中保存通过表单等传递的数据。根据传入的参数在图像中心裁剪缩略图,并返回一个包含保存路径和生成的缩略图的数组。这些图像保存在位于 "/web" 或 "/public" 的文件夹中。
索引
如何工作?
- 首先:获取临时图像的路径。
- 其次:实例化 Imagen() 类。
- 第三:使用 setName() 方法插入图像名称。
- 第四:插入图像临时文件、保存目录的名称和回调函数,以便调用缩略图函数。
- 第五:save() 返回包含保存图像元数据的数组。
调用库
use Bitsystem\Backend\Image;
//Obtiene la imagen pasada por un formulario $imageBinary = $request->files->get('image', FALSE); //Instancia la clase $image = new Image(); $image->setName($request->request->get('name', NULL)); $image->insertImage($imageBinary, 'course',function($e){ $e->thumbnail(40,40); $e->thumbnail(364,205); $e->thumbnail(1080,720); }); //Retorna un array $imageSave = $image->save(); //Recorre el array para obtener el path de la imagen foreach ($imageSave['thumbnails'] as $value){ $value['route']; $value['width']; $value['height']; }
Search Pro
Search pro 是一个库,旨在通过命名需要可视化的表和列来显示数据库表。此外,您可以根据列过滤表格。它包含一个分页系统,该系统根据所选筛选器通过 Ajax 搜索表格结果。
索引
如何工作?
我们访问终端并在我们的 Symfony 项目的 composer.json 中使用 composer 安装库。
composer require bitsystem/searchpro
Twig
我们需要首先添加必要的 select2.js 以能够显示表格的筛选器。然后添加 tableList.js 到最后。
{{ blocks javascripts }} //Dependencias <script type="text/javascript" src="{{ asset('assets/select2/dist/js/select2.min.js') }}"></script> //Plugin para generar la tabla <script src="{{asset('js/tableList.js')}}"></script> {{ endblocks }}
Php
首先在控制器中包含库。
use Bitsystem\SearchPro\Search as Search;
获取要搜索的文本和要搜索的筛选器。实例化类并使用所需的方法显示列。
//Campo de busqueda $textSearch = $request->request->get('q',''); //Parametros del filtro $filter = $request->request->get('filter',''); $search = new Search($this->getDoctrine()->getManager(), $request); $result = $search->setTable('Clientes') ->addColum([ 'id' => 'id', 'nombre' => 'nombre' ]) ->selectRow([ 1 => 1, 10 => [ 10, true ], 20 => 20, 30 => 30, 40 => 40, 'Todo' => 'all' ]) ->search('nombre',$textSearch) ->getResult(); return $result;
参数
分页
如果需要隐藏表格的分页,只需添加 paging 选项。默认情况下,paging 的值是 TRUE
paging: false
结果数量
表格列的总数显示在分页下方。默认情况下,info的值为TRUE
。如果需要隐藏信息,只需添加info选项。
info: false
addColum
->addColum([ 'nombre variable' => 'Nombre columna Tabla' ])
该方法用于获取主表名称,以便进行查询。主表通过以下方法与其它表相关联:addColumForeignKey(),addColumForeignKey()
->setTable('Nombre tabla')
->addColumForeignKey([ 'POPULATION' => [ 'type' => 'select', 'table' => 'MUNICIPALITY', 'columReference' => 'MUNICIPALITY', 'colum' => 'POPULATION' ] ])
要实现此功能,我们需要在控制器和视图twig中插入一些必要的文件。
基本HTML结构
<div class="search-pro"> <div class="card"> <div class="card-body"> <div class="row"> <div class="col-xl-10 col-sm-10"> <label>Buscar:</label> <input type="search" id="find" class="form-control"> </div> <div class="col-xl-2 col-sm-2"> <button id="find-ajax" class="btn btn-primary waves-effect waves-light">Buscar</button> </div> </div> <div class="row"> </div> <div class="table-rep-plugin"> <div class="table-responsive"> <table class="table table-condensed m-b-none"> <thead></thead> <tbody></tbody> </table> <h6 class="text-center info-count"></h6> </div> </div> </div> </div> </div>
$("#search-pro").search({ textSend: $('#find'), buttonSend: $('#find-ajax'), paging: false, info: false, colums: ['Id','Nombre'], tableRow: function(data){ var row = ""; $.each(data.result, function(k, v){ row += "<tr data-href='"+v.id+"'>\ <th>"+v.id+"</th>\ <th>\ <a>"+v.nombre+"</a>\ </th>\ </tr>"; }); return row; } });
npm install
注意
这个库使用GET和POST方法,我们必须确保已经启用了这些请求。
结果
根据指示参数查看表格的视图
Give the example
重复以上步骤
until finished
以获取系统中的某些数据或进行简单演示为例
运行测试
解释如何运行此系统的自动化测试
分解为端到端测试
解释这些测试测试的内容以及原因
Give an example
和编码风格测试
解释这些测试测试的内容以及原因
Give an example
部署
添加有关如何在生产系统上部署此项目的附加说明
构建工具
- Dropwizard - 使用的Web框架
- Maven - 依赖管理
- ROME - 用于生成RSS订阅
贡献
请阅读CONTRIBUTING.md,了解我们的行为准则和提交拉取请求的过程。
版本控制
我们使用SemVer进行版本控制。有关可用版本,请参阅此存储库的标签。
作者
- Julian Garcia Garcia - 创始人 - Juliangarciaga3
也可以查看参与此项目的贡献者列表。
许可证
此项目根据MIT许可证发布 - 请参阅LICENSE.md文件以获取详细信息