西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

magento批量导入评论加星

时间:2016-01-21 12:10来源: 作者: 点击:
其实mangeto自主导入评论加星属于作弊行为,但没办法,站点建立初期需要这玩意儿。 下面是完整的代码: function getCSVdata($filename) { $row = 1; //第一行开始 if (($handle = fopen($filename, r)) !=

其实mangeto自主导入评论加星属于作弊行为,但没办法,站点建立初期需要这玩意儿。
下面是完整的代码:

function getCSVdata($filename) {
    $row = 1; //第一行开始
    if (($handle = fopen($filename, "r")) !== false) {
        while (($dataSrc = fgetcsv($handle)) !== false) {
            $num = count($dataSrc);
            for ($c = 0; $c < $num; $c++) {//列 column 
                if ($row === 1) {//第一行作为字段 
                    $dataName[] = $dataSrc[$c]; //字段名称
                } else {
                    foreach ($dataName as $k => $v) {
                        if ($k == $c) {//对应的字段
                            $data[$v] = $dataSrc[$c];
                        }
                    }
                }
            }
            if (!empty($data)) {
                $dataRtn[] = $data;
                unset($data);
            }
            $row++;
        }
        fclose($handle);
        return $dataRtn;
    }
}
 
$aData = getCSVdata('test.csv');//这里拿到csv里面的内容  此处使用的csv于上一篇文章使用的csv相同
include '../app/Mage.php';//利用magento内部的类来做
Mage::app();//主要为了自动加载需要的文件
foreach ($aData as $csvData) {
    $url = 'http://127.0.0.1/magento/index.php/review/product/post/id/' . rand(1, 10000) . '/';//这是对应产品评论的请求地址,rand是为了防止重复评论给同一个产品,这里假设有10000个产品,可根据自己的需求灵活变通
    $client = new Varien_Http_Client($url);  //利用magento内部的http通讯类
    $client->setMethod(Varien_Http_Client::POST);//设置请求方式为POST
    $client->setParameterPost('nickname', $csvData['nickname']);//设置POST参数
    $client->setParameterPost('detail', $csvData['detail']);
    $client->setParameterPost('title', $csvData['title']);
    $client->setParameterPost('ratings[1]', 5);
    $client->setParameterPost('ratings[2]', 10);
    $client->setParameterPost('ratings[3]', 15);
    $client->setCookie('test');//设置cookie
    $client->setCookieJar(true);
    /** @var $response Zend_Http_Response */
    $response = $client->request();//发送请求
    echo $response;
}

代码中使用的csv文件可参照“PHP读取CSV文件”中的csv建立
以上代码可直接运行,如果需要可根据自己的需求改动。

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容