如何在magento中以sqlite格式下载产品的API。
我想查看数据库表以获取一些信息并将其转换为sqlite。
有人帮忙吗?
答案 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';
}