首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Magento为所有客户设置国家

在Magento为所有客户设置国家
EN

Stack Overflow用户
提问于 2014-06-17 04:44:47
回答 1查看 1.4K关注 0票数 1

我刚刚经历了几个小时的细致工作,把超过2万名客户的访问数据库转移到Magento1.7。

现在,我面临的问题是,这个国家没有被马根托( magento )承认,也没有得到马根托的支持。我不想再经历一次进出口手续。

我只需要一个简单的SQL脚本就可以将所有国家字段(在所有地址相关表中)设置为"US“或"United States”(无论Magento使用哪种格式)。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2014-06-17 04:51:19

您可以使用下面的脚本将我们设置为所有客户的默认国家

编辑

代码语言:javascript
运行
复制
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()));
            }

         }

    }

}

希望这对你有帮助

如果我能帮你更多的忙就告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24255875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档