Magento 1.6 于本周初发布,但通过 mage_googleshopping 扩展 (http://www.magentocommerce.com/magento-connect/Magento+Core/extension/6887/mage_googleshopping) 从 1.5.1 升级到v.1.6 不可行。
mage_googleshopping 仅与 1.5 兼容。有没有可行的替代方案可以在干净的 Magento 1.6 安装上提供 mage_googleshopping 扩展,或者我们必须等待 v.1.6 附带的稳定扩展版本?
干杯, 博格丹
最佳答案
我浏览了互联网并搜索了一个问题,最终我变成了这个脚本,它单独运行,但它连接到Magento DB。脚本生成文件,可以按照计划将其上传到 Google。
除了脚本完全可编辑之外,您还可以完全监控其背后的所有进程。 Magento 脚本仍然无法从 1.6 Magento 版本中删除。
该脚本不是由我开发的,但我确实根据 Google 自 2011 年 9 月 22 日起实现的最新规则对其进行了更新。
<code>
<?php
define('SAVE_FEED_LOCATION','google_base_feed.txt');
set_time_limit(1800);
require_once '../app/Mage.php';
Mage::app('default');
try{
$handle = fopen(SAVE_FEED_LOCATION, 'w');
$heading = array('id','mpn','title','description','link','image_link','price','brand','product_type','condition', 'google_product_category', 'manufacturer', 'availability');
$feed_line=implode("\t", $heading)."\r\n";
fwrite($handle, $feed_line);
$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToFilter('status', 1);
$products->addAttributeToFilter('visibility', 4);
$products->addAttributeToSelect('*');
$prodIds=$products->getAllIds();
$product = Mage::getModel('catalog/product');
$counter_test = 0;
foreach($prodIds as $productId) {
if (++$counter_test < 30000){
$product->load($productId);
$product_data = array();
$product_data['sku'] = $product->getSku();
$product_data['mpn'] = $product->getSku();
$title_temp = $product->getName();
if (strlen($title_temp) > 70){
$title_temp = str_replace("Supply", "", $title_temp);
$title_temp = str_replace(" ", " ", $title_temp);
}
$product_data['title'] = $title_temp;
$product_data['description'] = substr(iconv("UTF-8","UTF-8//IGNORE",$product->getDescription()), 0, 900);
$product_data['Deeplink'] = "http://www.directmall.co.uk/".$product->getUrlPath();
$product_data['image_link'] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'catalog/product'.$product->getImage();
$price_temp = round($product->getPrice(),2);
$product_data['price'] = round($product->getPrice(),2) + 5;
$product_data['brand'] = $product->getData('brand');
$product_data['product_type'] = 'Laptop Chargers & Adapters';
$product_data['condition'] = "new";
$product_data['category'] = $product_data['brand'];
$product_data['manufacturer'] = $product_data['brand'];
$product_data['availability'] = "in stock";
foreach($product_data as $k=>$val){
$bad=array('"',"\r\n","\n","\r","\t");
$good=array(""," "," "," ","");
$product_data[$k] = '"'.str_replace($bad,$good,$val).'"';
}
echo $counter_test . " ";
$feed_line = implode("\t", $product_data)."\r\n";
fwrite($handle, $feed_line);
fflush($handle);
}
}
fclose($handle);
}
catch(Exception $e){
die($e->getMessage());
}</code>
- 将 www.directmall.co.uk 更改为您需要的内容。
- 分配适当的权限。
- 已根据 Google 的要求进行了全面更新。
关于magento-1.6 - Magento 1.6、Google 购物/产品/内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7210620/