我刚刚经历了几个小时的细致工作,把超过2万名客户的访问数据库转移到Magento1.7。
现在,我面临的问题是,这个国家没有被马根托( magento )承认,也没有得到马根托的支持。我不想再经历一次进出口手续。
我只需要一个简单的SQL脚本就可以将所有国家字段(在所有地址相关表中)设置为"US“或"United States”(无论Magento使用哪种格式)。
任何帮助都将不胜感激。
发布于 2014-06-17 04:51:19
您可以使用下面的脚本将我们设置为所有客户的默认国家
编辑
ini_set('memory_limit','2048M');
error_reporting(E_ALL | E_STRICT);
require 'app/Mage.php';
$app = Mage::app('default');
$customers = Mage::getResourceModel('customer/customer_collection');
foreach ($customers as $customer) {
// customer object
$customer = Mage::getModel('customer/customer')->load($customer->getId());
$address = Mage::getModel('customer/address');
if ($default_shipping_id = $customer->getDefaultShipping()) {
$address->load($default_shipping_id);
} else {
$address
->setCustomerId($customer->getId())
->setIsDefaultShipping('1')
->setSaveInAddressBook('1')
;
$address_arr = $address->getData();
// country
if ( !isset($address_arr['country_id']) ) {
$address->setCountryId('US');
try {
$address->save();
} catch(Exception $e) {
error_log(json_encode($e->getMessage()));
}
}
}
}希望这对你有帮助
如果我能帮你更多的忙就告诉我。
https://stackoverflow.com/questions/24255875
复制相似问题