如何为sqlite格式的下载产品创建api

时间:2014-02-11 17:26:32

标签: magento-1.7

如何在magento中以sqlite格式下载产品的API。

我想查看数据库表以获取一些信息并将其转换为sqlite。

有人帮忙吗?

1 个答案:

答案 0 :(得分:0)

我在自定义磁力仪API中创建了此功能。它将生成带有所选产品列的sqlite数据库。您可以将它与您的magento一起使用并相应地设置路径。 我很高兴在这里分享这个。如果您可以改进或想要向我推荐我的代码,那么欢迎您。

提前感谢所有人。

/ <强> *         **函数创建sqlite db的产品         *         * /

public function sqlitedb()
    {
        $root= dirname(Mage::getRoot());
        $path=$root.'/marcodeappdb';
        if (!file_exists($path)) {
            mkdir($path, 0777, true);
        }            
        unlink( $path.'/marcodeapp.zip');
        $database = new sqlite3($path.'/marcodeapp.sqlite');    

        $query = 'CREATE TABLE Products '.'(Sku TEXT, Name TEXT, Price INTEGER,ShortD TEXT,Description TEXT,Image TEXT,Categories TEXT)';
        $database->exec($query);

          $collection=Mage::getResourceModel('catalog/product_collection');
          $collection->addAttributeToSelect('*');
          //pr($collection);
         foreach($collection as $product){
                $sku=$product->sku;
                $name=$product->getName();  
                $price=$product->getPrice();
                $shortd=$product->getDescription();
                $description=$product->getDescription();
                $image=$product->getImageUrl();
                //categoryids
                $catids=$product->getCategoryIds();
                $productcatname=array();
                foreach($catids as $catid){
                        $category = Mage::getModel('catalog/category')->load($catid);
                    $productcatname[]=$category->getName();

                }
                $productcate=implode(',',$productcatname);  

            $query ="INSERT INTO Products (Sku, Name, Price,ShortD,Description,Image,Categories) VALUES ('$sku', '$name', '$price','$shortd','$description','$image','$productcate');";
            $database->exec($query);
            unset($query);
            unset($sku);
            unset($name);unset($price);unset($shortd);unset($description);unset($image);
            unset($productcate);unset($productcatname);
          }
        $database->close(); 

        $files_to_zip = array($path.'/marcodeapp.sqlite');      
        $result = $this->create_zip($files_to_zip,$path.'/marcodeapp.zip');
        unlink( $path.'/marcodeapp.sqlite');

        return 'http://mercode.com.br/MERCODE/marcodeappdb/marcodeapp.zip';         
    }