tubasaygin / yii2-products

Yii2 Products 模块

安装: 3

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 1

开放问题: 0

类型:yii2-extension

dev-main 2021-01-20 10:12 UTC

This package is not auto-updated.

Last update: 2024-09-23 00:04:01 UTC


README

本模块旨在实现创建、分类、删除和编辑产品的操作。

record

  • 模块由两张表组成,分别是 product 和 product_category 表。这两张表通过外键相互关联。
  • 模块可以执行产品筛选操作。在执行筛选操作时使用 product_category 表。
  • 除了筛选操作,模块还可以执行添加、删除、更新产品,以及添加、删除、更新新分类的操作。

安装

您可以在 packagist.org 页面上创建一个新的存储库,并将其添加到项目中以使用该模块。为此,请执行以下命令:


 composer require --prefer-dist tubasaygin/yii2-products "dev-main"
 

执行此操作后,在项目中的 backend/config klasör下的 main.php 文件中提供模块路径。


 'modules' => [
        'products' => [
            'class' => 'tubasaygin\products\Module',
        ],
    ],
    
 

完成这些操作后;


  vagrant up
  

运行此命令。

最后,为了确保数据库操作也能正常工作:


 php yii migrate/up --migrationPath=@vendor/tubasaygin/products/migrations  
 

现在您可以使用此模块了!

模块摘要

当创建产品时,模块除了请求用户输入名称、价格等信息外,还会请求日期和要上传的文件信息。这些信息通过小部件获取。您可能需要通过命令将这些小部件添加到项目中。


 composer require 2amigos/yii2-date-picker-widget:~1.0
 

通过这个插件,您可以轻松使用日期小部件。当上传产品图片时,下载的文件将被保存在 web 下的 uploads klasör中。此外,您还可以在数据库中看到文件的位置。下面是相关屏幕截图。

Ekran Görüntüsü (111)

控制器

在控制器类中,behaviors() 函数下定义了 "access"。因此,用户在没有登录的情况下无法进行任何更改。下面是相关屏幕录像。

record

此外,在 ProductController 的 actionCreate() 函数下进行了修改。当创建新员工并上传照片时,使用UploadedFile 可以从数据库和模块下的 web/uploads klasör中访问这些照片。


 use yii\web\UploadedFile;
 

在视图

为了根据员工的部门进行筛选,Product 视图中使用了 ArrayHelper。您可以在上面的屏幕录像中看到这一操作的实现。

 use yii\helpers\ArrayHelper;
 

同时,在 product 视图的 _form.php 文件中添加了以下代码段,以便可以使用小部件并处理上传事件:


  ['enctype' => 'multipart/form-data']]); ?>

布局

在 layouts 文件中,除了预定义的,还创建了一个新的文件。在设计中没有进行任何完整的更改。为了方便用户访问员工和部门,添加了以下代码段:

 ['label' => 'Products', 'url' => ['/products/product/index']],
 ['label' => 'Categories', 'url' => ['/products/product-category/index']],