magento - 设置多语言存储(任何 sql 升级)的最佳做法是什么?

标签 magento locale

手动添加商店 View 很无聊,尤其是当您的商店有多种语言时。 有没有人使用 sql 升级脚本来添加商店 View 和分配适当的语言环境? 我如何通过 sql 升级脚本执行此操作?

最佳答案

添加多个商店 View 和分配语言环境的完整代码:

$defaultStore = Mage::getModel('core/store')->load(1);
$websiteId = $defaultStore->getWebsiteId();
$store = Mage::getModel('core/store_group')->load($defaultStore->getGroupId());

$storeViewsData = array(
    'es' => array(
        'name'   => 'Spanish',
        'locale' => 'es_ES',
    ),
    'fr' => array(
        'name'   => 'French',
        'locale' => 'fr_FR',
    ),
    'pt' => array(
        'name'   => 'Portuguese',
        'locale' => 'pt_PT',
    ),
    'it' => array(
        'name'   => 'Italian',
        'locale' => 'it_IT',
    )
    );

    foreach ($storeViewsData as $code => $data) {
    $view = Mage::getModel('core/store');
        $view->setData(array(
            'website_id'    => $websiteId,
            'group_id'      => $store->getId(),
            'name'          => $data['name'],
            'code'          => $code,
            'is_active'     => 1
        ));
        $view->save();

        Mage::getConfig()->reinit();
        Mage::app()->reinitStores();


        $groupsValue = array();
        $groupsValue['locale']['fields']['code']['value'] = $data['locale'];

        Mage::getModel('adminhtml/config_data')
            ->setSection('general')
            ->setWebsite('base')
            ->setStore($code)
            ->setGroups($groupsValue)
            ->save();
    }

关于magento - 设置多语言存储(任何 sql 升级)的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6386239/

相关文章:

caching - 尝试通过 Magento 的整页缓存来打洞动态内容

php - 在 Magento 中向购物车项目添加属性,在购物车中单独显示

java - 为什么 YAML 解析出来的时间戳不对?

php - GETTEXT 函数不会在本地 PhpStorm 开发服务器上翻译页面

java - Java 有专门的语言类吗?

spring-mvc - 动态更新 JSTL 区域设置,无论浏览器区域设置如何

mysql - Magento SQL 查询

php - 有没有办法在 magento 的类别页面上创建选项卡

postgresql - 不同机器(相同语言环境)上的 Postgres 实例之间的排序差异

php - 如何链接 mcrypt?