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"
}
]
}
}