我想在magento中更改搜索图像.在magento中搜索时,图像名称为btn_search.gif.现在它从skin/frontend/default/default/images获取图像.该文件是/app/design/frontend/default/default/template/catalogsearch/form.mini.phtml,其中提到此标记为
<input id="search-button" type="image" src="<?php echo $this->getSkinUrl('images/btn_search.gif') ?>" alt="<?php echo $this->__('Search') ?>" />
Run Code Online (Sandbox Code Playgroud)
我检查代码,我发现我们可以将locale作为_type传递给它
<input id="search-button" type="image" src="<?php echo $this->getSkinUrl('images/btn_search.gif', array('_type'=>'local')) ?>" alt="<?php echo $this->__('Search') ?>" />
Run Code Online (Sandbox Code Playgroud)
但是当我检查代码时,这只会在locale目录中检查该文件是否存在于该语言环境中.如果存在,那么它将采取皮肤图像.我想使用该区域设置图像而不是该皮肤图像.
因此,当我点击法国商店时,我得到的图像是我在/app/design/frontend/default/default/locale/fr_FR/images/btn_search.gif中设置的
我在/app/code/core/Mage/Core/Model/Design/Package.php中检查了getSkinUrl的代码.我发现他检查文件的区域设置,但它返回皮肤网址.
有没有返回locale url的方法?
我得到了答案
这就是我将按钮语言(语言环境)依赖于magento commerce的方式
我从主页上的迷你搜索表单开始.该表单的搜索图像按钮定义在
/app/design/frontend///template/catalogsearch/form.mini.phtml
在那个文件中,我改变了以下行
<input type="image" src="<?php echo $this->getSkinUrl('images/btn_mini_search.gif') ?>" alt="<?php echo $this->__('Search') ?>"/>
Run Code Online (Sandbox Code Playgroud)
至
<input type="image" src="<?php echo $this->getSkinUrl('images/btn_mini_search_'.$this->__('_LOCALE_BUTTON_').'.gif') ?>" alt="<?php echo $this->__('Search') ?>"/>
Run Code Online (Sandbox Code Playgroud)
然后我将_LOCALE_BUTTON_的翻译添加到所有语言环境translate.csv文件:/app/design/frontend///locale//translate.csv:
即Locale en_GB:_LOCALE_BUTTON_,en_GB区域设置nl_NL:_LOCALE_BUTTON_,nl_NL
对于每个翻译,请确保/ skin/frontend /// images /目录中提供了区域设置后缀按钮图像文件:
即btn_mini_search_en_GB.gif btn_mini_search_nl_NL.gif
我想你也可以通过将上面提到的行改为:_LOCALE_BUTTON_来表示文件夹.
<input type="image" src="<?php echo $this->getSkinUrl('images/locale/'.$this->__('_LOCALE_BUTTON_').'/btn_mini_search.gif') ?>" alt="<?php echo $this->__('Search') ?>"/>
Run Code Online (Sandbox Code Playgroud)
但是你需要保存这样的语言环境后缀按钮图像文件:/ skin/frontend /// images/locale/en_GB/btn_mini_search.gif和/ skin/frontend /// images/locale/nl_NL/btn_mini_search.gif
我自己没有测试过最后一个方法,但我没有看到任何原因导致它无效.
我一直在考虑用常规的"搜索"字符串替换_LOCALE_BUTTON_值(不推荐!!)这种方法的优点是你不需要为translate.csv文件添加单独的翻译但是你运行多个语言环境(重复键)的某些翻译可能类似的风险.除此之外,当翻译中使用非ascii/utf-8字符时,它可能会导致问题,但这取决于您使用的操作/文件系统.
| 归档时间: |
|
| 查看次数: |
2909 次 |
| 最近记录: |