tubasaygin / yii2-products
Yii2 Products 模块
dev-main
2021-01-20 10:12 UTC
Requires
- php: >=7.0
- yiisoft/yii2: ~2.0.13
Requires (Dev)
- phpunit/phpunit: 8.*.*
This package is not auto-updated.
Last update: 2024-09-23 00:04:01 UTC
README
本模块旨在实现创建、分类、删除和编辑产品的操作。
- 模块由两张表组成,分别是 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中。此外,您还可以在数据库中看到文件的位置。下面是相关屏幕截图。
控制器
在控制器类中,behaviors() 函数下定义了 "access"。因此,用户在没有登录的情况下无法进行任何更改。下面是相关屏幕录像。此外,在 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']],