zoukankan      html  css  js  c++  java
  • magento批量导入评论加星

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

    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建立
    以上代码可直接运行,如果需要可根据自己的需求改动。

  • 相关阅读:
    Java接口的真正意义
    从机械自动化专业转行到Java工程师的学习之路
    程序员必备的17个软件开发工具
    【Java练手项目】Java外卖点餐系统
    Java接口的其他使用语法
    【Java练手项目】Java在线考试系统
    IDEA最新版本中maven配置默认选项
    Java 企业级项目需求文档
    Elasticsearch 搜索数量不能超过10000的解决方案
    Java中TreeSet怎么实现?(详解)
  • 原文地址:https://www.cnblogs.com/liuxgnu/p/3535406.html
Copyright © 2011-2022 走看看