`
shuishui8310
  • 浏览: 155229 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

magento -- 修正又一个翻译上的bug,同时了解了下Magento解析xml的方式

阅读更多

Magento在翻译上的bug可谓多入牛毛,有些地方你会发现无论你如何在CSV文件里配置翻译项,英文的依然是英文。Magento是用helper类的魔术方法来做多语言的处理,比如

而无法翻译的地方大多数就是因为需要翻得词没有用Mage::helper('XXX')->__()来做处理,或者说Magento官方遗漏了。对于非英语国家来说,想要完整的翻译完Magento就得把这些地方都给找出来,一个个处理掉。

今天处理掉的一个地方是后台产品页的自定义选项,给产品添加自定义选项需要先选择输入类型,如文本框或下拉框,而可选择的类型都是英文显示,这些词在Adminhtml.csv中都有翻译项,不过明显不起作用。

同样的原因,这里也是因为官方遗漏了这些词的处理,打开\app\code\core\Mage\Adminhtml\Model\System\Config\Source\Product\Options\Type.php,找到如下代码

这里的两个'label'就是可选输入类型的标签,可以看到赋值的时候并没有使用Mage::helper('XXX')->__(),加上处理的代码,修改后的如下

这样这里就会去读取csv文件里的翻译项来做翻译了,效果如下

今天处理这个bug的时候还有意外收获,之前一直没注意过Magento是怎么在处理解析xml文件的,因为上面的各种类型是从config.xml里读取的,所以看到了Magento解析xml的过程。

Mage::getConfig()->getNode()这个函数可以根据节点来获得节点下的内容,参数就是你要解析的节点,如'global/catalog/product/options/custom/groups',根据这个参数,Magento就能准确的找到xml文件里你要的内容,比如'global/catalog/product/options/custom/groups'这个对应的就是\app\code\core\Mage\Catalog\etc\config.xml里的代码

分享到:
评论

相关推荐

    Magento-中文开发教程

    深入理解Magento-第一章 – Magento强大的配置系统 深入理解Magento-第二章 – Magento请求分发与控制器 深入理解Magento-第三章 – 布局,块和模板 深入理解Magento-第四章 – 模型和ORM基础 深入理解...

    Magento-中文开发教程.doc

    同时,了解如何正确升级Magento版本,避免因更新导致的问题。 总结,Magento中文开发教程涵盖了Magento的基本操作、后台管理、界面定制、模块开发、API接口、性能优化和安全维护等多个方面。通过学习这个教程,无论...

    magento-ce-2.4.0_sample_data-2020-07-26-02-51-57.tar.gz

    magento-ce-2.4.0_sample_data-2020-07-26-02-51-57.tar.gz Include sample data

    Magento-SMTP-Email

    "Magento-SMTP-Pro-Email-Extension"是一个专业的SMTP扩展,提供了一系列高级功能。以下是该插件的一些核心特性: 1. **多SMTP配置**:商家可以根据不同的业务需求配置多个SMTP服务器,比如用于测试和正式环境。 2...

    magento-ce-2.4.0-2020-07-24-11-15-38.tar.gz

    magento-ce-2.4.0-2020-07-24-11-15-38.tar.gz 不带sample data

    magento-java-master.zip_magento

    这个“magento-java-master.zip_magento”压缩包可能是为了提供一个Java连接Magento源码的示例或者库,帮助开发者实现Java与Magento系统的交互。 在Java中与Magento进行交互通常涉及到以下几个关键知识点: 1. **...

    magento-演示数据1.6.1.0

    Magento是一款强大的开源...总的来说,"magento-演示数据1.6.1.0"是一个宝贵的资源,它能加速Magento的学习过程,使用户能够更深入地了解这个平台的潜力,提高开发效率,并为客户提供更加真实和丰富的在线购物体验。

    magento-1.8.0.0.tar.gz

    2. **多店支持**:Magento 1.8.0.0 支持多店铺管理,用户可以在同一个后台管理系统下运营多个不同主题的商店。 3. **强大的商品管理**:提供了详细的商品分类、属性和选项设置,支持多种促销规则,如优惠券、折扣、...

    Magento-Redismanager, 在 Magento,用于Redis的超级用户控制.zip

    Magento-Redismanager, 在 Magento,用于Redis的超级用户控制 Redis 管理Redis服务的实用程序特性系统> 配置>的自动或者手动配置高级> Redis管理在负载均衡环境中缓存服务不同的理想情况直接从magento面板管理员管理...

    magento-1.9.1.1-2015-04-30-12-49-08

    这个标题"magento-1.9.1.1-2015-04-30-12-49-08"指的是Magento的一个特定版本,即1.9.1.1,发布于2015年4月30日,具体时间是12:49:08。这个版本包含了该阶段Magento系统的所有更新、修复和增强功能。 Magento 1.9....

    magento -redis 插件安装包

    Magento是一款强大的开源电子商务平台,而Redis则是一种高性能的键值数据存储系统,常用于缓存、session管理等场景。在Magento中集成Redis插件可以显著提升网站性能,降低数据库负载,尤其是在处理高并发请求时。...

    magento-1.7.0.7z

    这个7z压缩包“magento-1.7.0.7z”包含了用于安装Magento 1.7.0的所有必要文件,而“magento-1.7.0.2.tar”可能是该版本的一个特定更新或备份文件。 在深入探讨Magento 1.7.0的知识点之前,我们首先要了解它为何...

    magento-ce-2.4.2-p1-2021-04-22-10-49-09.zip

    因为国外网速太慢了,所以下载后分享给需要的人。magento-ce-2.4.2-p1-2021-04-22-10-49-09

    PyPI 官网下载 | magento-0.6dev.tar.gz

    标题中的"PyPI 官网下载 | magento-0.6dev.tar.gz"指的是Python Package Index(PyPI)上的一个项目,它是一个名为"Magento"的软件包的特定版本,即0.6dev。PyPI是Python开发者发布和分享他们自己创建的Python库或...

    Magento-中文开发教程(技术重点2)

    ### Magento-中文开发教程(技术重点2) #### Magento 强大的配置系统 Magento 的配置系统是其核心之一,它管理着几乎所有 "module/model/class/template/etc"。这套配置系统将整个 Magento 系统抽象化,使用一段 ...

    Magento-PSR-0-Autoloader, 这个扩展增加一个 PSR 0自动装弹机在Magento自动装弹机前.zip

    Magento-PSR-0-Autoloader, 这个扩展增加一个 PSR 0自动装弹机在Magento自动装弹机前 Magento-PSR-0-Autoloader这个扩展在Magento自动装弹机前添加一个 PSR-0 自动装弹机要初始化新的命名空间,请在 local.xml的...

    Ajax-magento2-catalog-infinite-scroll.zip

    Ajax-magento2-catalog-infinite-scroll.zip,免费的Magento 2扩展,为目录添加无限滚动功能(通过AJAX实现)编码教程,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。...

    Ajax-Magento-ajax-add-to-cart.zip

    Ajax-Magento-ajax-add-to-cart.zip,[模块magento 1]magento ajax添加到购物车-ajoter vos produits au panier en ajax/感谢ajax将您的产品添加到购物车,ajax代表异步javascript和xml。它是多种web技术的集合,包括...

    magento-1.7.0.2汉化包|magento-1.7.0.2中文语言包下载

    标题提到的是"magento-1.7.0.2汉化包",这表明我们讨论的是Magento 1.7.0.2版本的中文语言包。这个版本是Magento在2012年发布的一个稳定版本,对于中国市场来说,汉化包的提供极大地提高了中国用户使用该平台的便利...

    Magento 给产品描述关键字批量链接插件

    如何给产品描述里的关键字...可是由于需要,不得不自己开发一个这样的插件。并支持到Magento1.6.2 说明请查看:http://www.hicoogle.com/magento-gei-chan-pin-miao-shu-guan-jian-zi-pi-liang-lian-jie-cha-jian.html

Global site tag (gtag.js) - Google Analytics