ajlan/module-custom-catalog

Ajlan案例研究模块

安装: 0

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 2

分支: 0

公开问题: 0

类型:magento2-module

dev-master 2019-11-13 10:38 UTC

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”菜单

Imgur

案例2.1.2

单击CustomCatalog链接时,应列出所有添加的产品。它还应具有过滤选项。

Imgur

案例2.1.3

我们应该能够添加/编辑产品。

Imgur

在屏幕截图中有许多字段。只需覆盖这些字段。对于此案例,需要包括以下字段: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"
      }
    ]
  }
}