run_as_root/ext-magento2-product-priorities

本模块在管理产品网格中提供了一个产品优先级列。

安装: 3

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 2

分支: 0

开放问题: 0

类型:magento2-module

dev-main 2022-10-28 11:19 UTC

This package is auto-updated.

Last update: 2024-08-28 15:13:29 UTC


README

通用

在管理产品网格中提供了一个产品优先级列。

安装

composer require run_as_root/ext-magento2-product-priorities
bin/magento setup:upgrade

功能

“产品”网格中的“优先级”列

优先级 列包含每个产品的相关性比例值。这些值应与优先级矩阵相匹配。

优先级矩阵

优先级矩阵 是可编辑的(数据存储在数据库中的 run_as_root_product_priorities 表中)。有初始值。优先级名称相关性比例值 % 字段必须是唯一的。

管理员可以调整特定时间段内的优先级。

优先级值通过以下公式计算

  1. 报告数据从 sales_bestsellers_aggregated_daily 表加载特定时间段的数据
  2. 系统找到具有最大 ordered_qty 值的产品,并将目标产品标记为顶级畅销产品(从矩阵中获取最高的优先级值,即 A
  3. 系统遍历其他产品,并按以下公式计算优先级值:4. targetProduct['ordered_qty'] * 100 / topBestsellerProduct['ordered_qty'] = targetProduct['proportion_value'] 5. 系统从 Priority Matrix 中获取小于 targetProduct['proportion_value'] 的最大 相关性比例值

技术规范

API

RunAsRoot\ProductPriorities\Api\Data\ProductPriorityInterface

定义了产品优先级实体的所有获取器和设置器。

RunAsRoot\ProductPriorities\Api\ProductPriorityRepositoryInterface

提供对持久数据实体的访问。具有以下方法

  • save(ProductPriorityInterface $productPriority):如果没有id,则创建新记录,否则更新具有指定id的现有记录。
  • get(int $entityId):通过id执行数据库查找并返回数据实体接口
  • delete(ProductPriorityInterface $productPriority):删除指定的实体
  • deleteById(int $entityId):通过id删除指定的实体

RunAsRoot\ProductPriorities\Block\Adminhtml\ProductPriority\Buttons\GenericButton

实现用于产品优先级表单内的共享方法。

  • getEntityId():返回特定实体的id
  • getUrl($route = '', $params = []):实现 urlBuilder 包装器

RunAsRoot\ProductPriorities\Block\Adminhtml\ProductPriority\Buttons\BackButton

实现按钮的回退操作,如果管理员在产品优先级表单页面上。

RunAsRoot\ProductPriorities\Block\Adminhtml\ProductPriority\Buttons\DeleteButton

实现按钮的删除操作,如果管理员在产品优先级表单页面上。

RunAsRoot\ProductPriorities\Block\Adminhtml\ProductPriority\Buttons\SaveButton

为产品优先级表单页上的分割保存按钮提供保存操作数据。

RunAsRoot\ProductPriorities\Block\Adminhtml\System\Config\Form\Field\Date

实现系统配置的 DatePicker 前端模型。

配置提供程序

RunAsRoot\ProductPriorities\ConfigProvider\General

实现获取模块配置的功能。

  • isModuleEnabled(int $storeId):返回模块是否启用/禁用
  • getFromDate(int $storeId):返回期间的起始日期

控制器

RunAsRoot\ProductPriorities\Controller\Adminhtml\Product\Priorities

返回产品优先级网格页面

RunAsRoot\ProductPriorities\Controller\Adminhtml\Product\MassDelete

处理产品优先级网格上的批量删除产品优先级实体

RunAsRoot\ProductPriorities\Controller\Adminhtml\Product\AbstractPriority

实现了由控制器(产品优先级表单)使用的共享方法。

RunAsRoot\产品优先级\Controller\Adminhtml\产品\优先级\*

实现了CRUD操作

数据提供者

RunAsRoot\产品优先级\数据提供者\优先级

实现了'优先级'列的计算过程和数据提供者

  • getData():返回处理后的数据
  • prepareCollection():初始化和调整畅销产品集合
  • getPriorityByProportion(int $proportionValue):从矩阵中返回匹配值
  • getPriorities():返回矩阵数据

模型

RunAsRoot\产品优先级\Model\产品优先级\数据提供者

实现了在创建/编辑表单上为产品优先级实体提供数据提供者

RunAsRoot\产品优先级\Model\*

实现了实体相关模型、资源模型、集合、仓库

设置

RunAsRoot\产品优先级\设置\Patch\数据\插入样本数据

将初始数据插入数据库(优先级矩阵

用户界面

RunAsRoot\产品优先级\用户界面\组件\列表\列\操作

实现了产品优先级网格的编辑/删除操作

RunAsRoot\产品优先级\用户界面\组件\列表\列\产品优先级

描述了'优先级'列的类

配置

产品优先级网格

  • 导航到营销 -> run_as_root -> 产品优先级