当客户看到评论良好的产品时,他们更有可能做出购买决定。
此外,一些搜索引擎给有产品评论的网站比没有产品评论的网站排名更高。
由于 Magento2 不支持导入产品评论的默认功能,我们想出了一种使用 SQL 的快速方法。
review* table structure 产品评论的数据库架构
Magento 1/Magento 2 有两个用于评论的组表
- review* tables
- rating* tables
review* table structure: 审查表结构
该组包括以下表:
- review
- review_detail
- review_entity
- review_entity_summary
- review_status
- review_store
ERD 看起来像
在这组表中,review_detail 表存储了评论的基本信息(标题、详细信息、昵称、customer_id 等);review 评论表存储产品 ID 和评论状态;review_entity_summary 表总结了产品的评论(评论数量、总分等).
rating* table structure 评级*表结构
该组包括以下表:
- rating
- rating_entity
- rating_option
- rating_option_vote
- rating_option_vote_aggregated
- rating_store
- rating_title
ERD 看起来像
该组中最重要的表是 rating_option_vote,其中包含 IP 地址、评分值(1 – 5)、评分类型、客户 ID、产品 ID 等信息。 rating_option_vote_aggregated 表汇总了评分信息,例如获得了多少票 演员、总体百分比等。评级表包括评级属性,如质量、价值、价格和评级。
通过 SQL 导入产品评论
如您所知,产品评论是销售的驱动因素之一,您可能对从其他平台导入产品评论感兴趣。
您可以找到许多用于导入产品评论的付费扩展,但在这里我将分享导入产品评论的 SQL 方法。
第 1 步:准备 SQL
您可以准备下面的 SQL 脚本。 您可以根据您的要求编辑值(注意标有 — 编辑值的变量)。
-- INSERT REVIEW
-- Edit values
SET @PRODUCT_ID = 123;
SET @STORE_ID = 1;
SET @CUSTOMER_ID = NULL;
SET @REVIEW_TITLE = 'Lorem Ipsum';
SET @REVIEW_DETAIL = 'Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...';
SET @REVIEW_RATING = 5; -- Between 1 to 5
SET @REVIEW_NICKNAME = 'John Doe';
SET @REVIEW_CREATED_AT = '2019-07-15'; -- OR date in YY-mm-dd HH:ii:ss format
-- No need to Edit
SET @REVIEW_ENTITY_ID = (SELECT entity_id FROM rating_entity WHERE entity_code = 'product'); -- 1: product, ...
SET @REVIEW_STATUS_ID = (SELECT status_id FROM review_status WHERE status_code = 'Pending'); -- 1: Approved, 2: Pending, 3: Not Approved
INSERT INTO review SET created_at = @REVIEW_CREATED_AT, entity_id = @REVIEW_ENTITY_ID, entity_pk_value = @PRODUCT_ID, status_id = @REVIEW_STATUS_ID;
SET @REVIEW_ID = (SELECT LAST_INSERT_ID());
INSERT INTO review_detail SET review_id = @REVIEW_ID, store_id = @STORE_ID, title = @REVIEW_TITLE, detail = @REVIEW_DETAIL, nickname = @REVIEW_NICKNAME, customer_id = @CUSTOMER_ID;
INSERT INTO review_store SET review_id = @REVIEW_ID, store_id = 0;
INSERT INTO review_store SET review_id = @REVIEW_ID, store_id = @STORE_ID;
INSERT INTO rating_option_vote SET option_id = 5, remote_ip = '', remote_ip_long = 0, customer_id = @CUSTOMER_ID, entity_pk_value = @PRODUCT_ID, rating_id = @REVIEW_ENTITY_ID,
review_id = @REVIEW_ID, percent = 100, value = @REVIEW_RATING;
如果要查看产品的相关评论数据,可以使用此 SQL
SET @PRODUCT_ID = 123;
SELECT * FROM review WHERE entity_pk_value = @PRODUCT_ID;
SELECT * FROM review_detail WHERE review_id IN (SELECT review_id FROM review WHERE entity_pk_value = @PRODUCT_ID);
SELECT * FROM review_store WHERE review_id IN (SELECT review_id FROM review WHERE entity_pk_value = @PRODUCT_ID);
SELECT * FROM review_entity_summary WHERE entity_pk_value = @PRODUCT_ID;
SELECT * FROM rating_option_vote WHERE entity_pk_value = @PRODUCT_ID;
SELECT * FROM rating_option_vote_aggregated WHERE entity_pk_value = @PRODUCT_ID;
第 2 步:执行 SQL
准备好具有所需值的 SQL 后,您可以通过 SQL 客户端(PHPMyAdmin、MySQL CLI 或任何服务器端脚本)执行它.
第 3 步:审核评论
上述 SQL 脚本导入处于“待处理”状态的评论。
您可以从管理员审核那些导入的评论。
在管理侧边栏上,MARKETING > User Content > Pending Reviews
在列表中,单击待审核以查看详细信息,并在必要时进行编辑。
要批准待审核,请将状态从“Pending(待审核)”更改为“Approved(已批准)”。 要拒绝审核,请选择“(Not Approved)未批准”。
完成后,点击保存评论。
为简洁起见,我已经展示了如何为一种产品导入产品评论。 但是您可以使用一些服务器端脚本从 CSV 读取数据并遍历行并通过上面的 SQL 导入。
本文参考:https://blog.magepsycho.com/import-product-reviews-in-magento-via-sql/