ajlan / module-custom-catalog
Ajlan案例研究模块
dev-master
2019-11-13 10:38 UTC
Requires
- php: ~7.1.3||~7.2.0
- magento/framework: 102.0.*
This package is auto-updated.
Last update: 2024-09-13 21:28:36 UTC
README
由Namal Dissanayake为Ajalan案例研究编写。
安装
- 创建magento项目
composer create-project --repository=https://repo.magento.com/ magento/project-community-edition
- 创建数据库,设置虚拟主机和设置RabbitMQ。
- 导航到克隆的仓库中的项目目录。
- 安装composer包。
composer install
- 使用以下命令安装Magento
php bin/magento setup:install --base-url=http://magento2.local/ --base-url-secure=https://magento2.local/ \ --db-host=localhost --db-name=db_name --db-user=db_user --db-password=db_pw \ --admin-firstname=FirstName --admin-lastname=LastName --admin-email=john.doe@example.com \ --admin-user=admin_uname --admin-password=admin_pword --use-rewrites=1 --backend-frontname=admin \ --amqp-host="localhost" --amqp-port="5672" --amqp-user="rabbitmq_user" --amqp-password="rabbitmq_pword" --amqp-virtualhost="/"
- 运行setup upgrade。
php bin/magento setup:upgrade
案例2 - CustomCatalog模块
根据要求,已经开发了一个用于安装的定制模块,使用composer包管理器安装。仅包含模块的仓库已提交到packagist.org。因此,您可以使用以下命令将包安装到项目中。
composer require ajlan/module-custom-catalog
案例2.1 - Magento管理员自定义
案例2.1.1
应在产品部分添加“CustomCatalog”菜单
案例2.1.2
单击CustomCatalog链接时,应列出所有添加的产品。它还应具有过滤选项。
案例2.1.3
我们应该能够添加/编辑产品。
在屏幕截图中有许多字段。只需覆盖这些字段。对于此案例,需要包括以下字段:ProductID,SKU,版权信息,VPN。
- ProductID(产品的唯一标识符,字符串)\范围 = 全球
- 版权信息(版权信息,文本)\范围 = 店铺
- VPN(供应商产品编号,字符串)\范围 = 全球
- SKU(字符串)\范围 = 全球
您只需要添加上述4个字段即可列出、添加和编辑。管理员应能够使用特定的VPN进行搜索并执行CRUD操作。
案例2.2 - API自定义
以下根据指定要求开发的定制端点。在案例2.2.2中,我已更改负载以匹配magento默认产品保存负载。
案例2.2.1 - 通过VPN获取产品(s)数据
端点: rest/V1/product/getByVPN/:VPN
方法: GET
案例2.2.2 - MQ产品创建
端点: rest/V1/product/update
方法: PUT
样本负载
注意:这里的负载与提供的示例略有不同,因为我使用了magento的产品实体。
{ "product": { "sku": "product-sku", "name": "Product Name", "price": 99, "status": 1, "visibility": 4, "type_id": "simple", "attribute_set_id": 4, "custom_attributes": [ { "attribute_code": "description", "value": "product description" }, { "attribute_code": "tax_class_id", "value": "2" }, { "attribute_code": "ProductID", "value": "PUID_1" }, { "attribute_code": "CopyWriteInfo", "value": "Copy Write Information" }, { "attribute_code": "VPN", "value": "VPN1" } ] } }