Php 如何将产品评论导入Magento?
我找到了下面的脚本,据说它是有效的,但我只是不知道他们在哪里或如何得到文件/脚本的工作,并希望有人能帮我一些光 有多种方法可以将数据导入Magento中-通过自定义xml数据文件或仅通过php脚本,这就是它所说的,但我很好奇,它从何处提取数据,它应该导入到何处Php 如何将产品评论导入Magento?,php,magento,Php,Magento,我找到了下面的脚本,据说它是有效的,但我只是不知道他们在哪里或如何得到文件/脚本的工作,并希望有人能帮我一些光 有多种方法可以将数据导入Magento中-通过自定义xml数据文件或仅通过php脚本,这就是它所说的,但我很好奇,它从何处提取数据,它应该导入到何处 <?php ini_set('memory_limit', '128M'); require_once 'path-to-Mage.php'; Mage::app(); Mage::app()->setCurrentSt
<?php
ini_set('memory_limit', '128M');
require_once 'path-to-Mage.php';
Mage::app();
Mage::app()->setCurrentStore(4); //desired store id
$review = Mage::getModel('review/review');
$review->setEntityPkValue(147);//product id
$review->setStatusId(1);
$review->setTitle("title");
$review->setDetail("detail");
$review->setEntityId(1);
$review->setStoreId(Mage::app()->getStore()->getId());
$review->setStatusId(1); //approved
$review->setCustomerId(273);//null is for administrator
$review->setNickname("Me");
$review->setReviewId($review->getId());
$review->setStores(array(Mage::app()->getStore()->getId()));
$review->save();
$review->aggregate();
?>
如果这是我的php脚本,我要把它放在哪里?有人能帮我制定用于导入的xml脚本吗
<?php
ini_set('memory_limit', '128M');
require_once 'path-to-Mage.php';
Mage::app();
Mage::app()->setCurrentStore(4); //desired store id
$review = Mage::getModel('review/review');
$review->setEntityPkValue(147);//product id
$review->setStatusId(1);
$review->setTitle("title");
$review->setDetail("detail");
$review->setEntityId(1);
$review->setStoreId(Mage::app()->getStore()->getId());
$review->setStatusId(1); //approved
$review->setCustomerId(273);//null is for administrator
$review->setNickname("Me");
$review->setReviewId($review->getId());
$review->setStores(array(Mage::app()->getStore()->getId()));
$review->save();
$review->aggregate();
?>
提前感谢您的帮助
Meghan您当前希望导入的评论格式是什么 看起来你需要扩展这个脚本,例如:打开一个包含你的评论的文件,循环浏览它们,在这个循环中使用上面的代码,用实际的评论信息替换标题和细节等 根据您在下面的评论进行编辑***** 我假设你有PHP和Magento编码经验——如果没有,也许你应该寻求开发人员的帮助
<?php
ini_set('memory_limit', '128M');
require_once 'path-to-Mage.php';
Mage::app();
$fp = fopen($fileLocation, 'r');
Mage::app()->setCurrentStore(4); //desired store id
while($line = fgetcsv($fp)) {
$review = Mage::getModel('review/review');
$review->setEntityPkValue($line[0]);//product id
$review->setStatusId($line[1]);
$review->setTitle($line[2]);
$review->setDetail($line[3]);
$review->setEntityId($line[4]);
$review->setStoreId(Mage::app()->getStore()->getId());
$review->setStatusId($line[5]); //approved
$review->setCustomerId($line[6]);//null is for administrator
$review->setNickname($line[7]);
$review->setReviewId($review->getId());
$review->setStores(array(Mage::app()->getStore()->getId()));
$review->save();
$review->aggregate();
}
?>
显然,您需要将$fileLocation替换为CSV文件的目录位置和文件名。CSV的每一行都将被读入数组$行。列将映射到数组中的元素编号。e、 g.$行[0]是行的第一列。您需要更改元素引用,以便数据与CSV列匹配
这足以让你开始行动了 如果要通过纯SQL导入,则可以使用以下查询集:
-- 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;
您可以在此处获得详细步骤:
我将用于导入的xml脚本是什么意思?你的数据目前是什么格式的?现在我的评论在一个csv文件中-我只是想按语法导入它们-这就是我找到这个脚本的原因。对不起,我是说-以编程方式-这是我看到的线程: