gpt4 book ai didi

mysql - Magento 从数据库转储中导出产品、类别

转载 作者:行者123 更新时间:2023-11-29 23:39:41 25 4
gpt4 key购买 nike

我必须将 magento 迁移到新的定制网上商店引擎。但我只有 magento 1.6.0.0 的 mysql 转储(core_resource admin_setup 版本值。原始的 magento 不可用!)

我想将所有产品(图片或图片的路径、属性等)、类别以及可能的订单导出为 CSV/XML 或其他任何内容。

哪种工作方式最快?

最佳答案

选项 1:安装 Magento 开发版本

您最好的选择是安装 Mage 1.6.0.0,然后在那里恢复数据库。然后您可以使用已经建立的工具来运行导出。如果您有使用 Magento 的经验,这不会花费您超过一两个小时。

这里有两篇关于以这种方式运行它的好文章。这是首选方法,因为一些关系是在 Magento Core 中维护的。

选项 2:如果以上不是一个选项,或者您对 Magento 不够熟悉,无法安装它:

这是 Michele Marcucci 的一个简短片段,旨在为 Google Merchant 创建 CSV 导出。

define('SAVE_FEED_LOCATION','google_feed.csv');
set_time_limit(0);
require_once 'app/Mage.php';
umask( 0 );
Mage::app( "default" );

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

try {
$handle = fopen(SAVE_FEED_LOCATION, 'w');
$heading = array('id','mpn','ean','title','google_product_category','description','link','image_link','price','brand','product_type','condition', 'availability');
$feed_line= implode("\t", $heading)."\r\n";
fwrite($handle, $feed_line);

$resource = Mage::getSingleton('core/resource');

$readConnection = $resource->getConnection('core_read');

$query = "SELECT * FROM catalog_product_flat_1 WHERE visibility=4 AND type_id='{$type}'";

$tax = "1.21"; // Insert your tax product
$currency = "EUR";

$products = $readConnection->fetchAll($query);

foreach($products as $product) {
$product_data = array();
$product_data['sku'] = $product['sku'];
$product_data['mpn'] = $product['sku'];
$product_data['ean'] = $product['sku'];
$product_data['title'] = ucfirst(strtolower($product['name']));
$product_data['google_product_category'] = 'INSERT YOUR DEFAULT CATEGORY';

if ($product['description'] != "")
$product_data['description'] = Mage::helper('core/string')->truncate(str_replace('“', '"', str_replace('”', '"', iconv("UTF-8","UTF-8//IGNORE", strip_tags($product['description'])))), 8000); // removes most the utf8 errors (doesnt like row if empty too!)
else
$product_data['description'] = "Description not available";

$product_data['deeplink'] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$product['url_path']; // thanks to hamish for this
$product_data['image_link'] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'catalog/product'.$product['small_image'];

if($product['special_price'] != NULL){ // update to check for special price or discount
$product_data['price'] = number_format(($product['special_price']*$tax), 2, ",", "") . " $currency";
} else {
$product_data['price'] = number_format(($product['price']*$tax), 2, ",", "") . " $currency";
}

$product_data['brand'] = "INSERT YOUR BRAND";
$product_data['product_type'] = "";
$product_data['condition'] = "new";
$product_data['availability'] = "in stock";

$i = 1;

$queryCats = "SELECT name FROM catalog_category_product JOIN catalog_category_flat_store_1 ON catalog_category_product.category_id = catalog_category_flat_store_1.entity_id WHERE product_id={$product['entity_id']}";

$cats = $readConnection->fetchAll($queryCats);
$numCat = count($cats);
foreach($cats as $_category){
if ($i == $numCat)
$product_data['product_type'] .= $_category['name'];
else
$product_data['product_type'] .= $_category['name'] . " > ";
$i++;
}

foreach($product_data as $k=>$val){
$bad=array('"',"\r\n","\n","\r","\t");
$good=array(""," "," "," ","");
$product_data[$k] = '"'.str_replace($bad,$good,$val).'"';
}

$feed_line = implode("\t", $product_data)."\r\n";
fwrite($handle, $feed_line);
fflush($handle);

}

fclose($handle);

}
catch(Exception $e)
{
die($e->getMessage());
}

关于mysql - Magento 从数据库转储中导出产品、类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26220661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com