2010-01-07 52 views
2

我想更改magento中的搜索圖像。在magento中搜索時,圖像名稱是btn_search.gif。現在它從皮膚/前端/默認/默認/圖像中獲取圖像。而該文件是/app/design/frontend/default/default/template/catalogsearch/form.mini.phtml其中提到這一點,標籤作爲如何更改magento中的語言環境基礎上的圖像?

<input id="search-button" type="image" src="<?php echo $this->getSkinUrl('images/btn_search.gif') ?>" alt="<?php echo $this->__('Search') ?>" /> 

我檢查代碼,我發現,我們可以通過現場的_type在本作

<input id="search-button" type="image" src="<?php echo $this->getSkinUrl('images/btn_search.gif', array('_type'=>'local')) ?>" alt="<?php echo $this->__('Search') ?>" /> 

但是,當我檢查的程序將只檢查區域設置目錄,這個文件存在於該區域設置與否。如果存在,那麼它會拍攝皮膚圖像。我想使用該區域設置圖像而不是該皮膚圖像。

所以,當我在法國的商店點擊我得到的是我在/app/design/frontend/default/default/locale/fr_FR/images/btn_search.gif

設置圖像我檢查getSkinUrl代碼在/app/code/core/Mage/Core/Model/Design/Package.php。我發現他檢查文件的區域設置,但它返回皮膚網址。

有什麼方法可以返回locale url嗎?

回答

5

我得到了答案

這是怎麼了我所做的按鈕語言(區域)相關的Magento電子商務中

我開始在主頁上的迷你搜索表單。該形式中,搜索圖片按鈕被

/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') ?>"/> 

<input type="image" src="<?php echo $this->getSkinUrl('images/btn_mini_search_'.$this->__('_LOCALE_BUTTON_').'.gif') ?>" alt="<?php echo $this->__('Search') ?>"/> 

然後,我添加了翻譯_LOCALE_BUTTON_所有的語言環境translate.csv文件: /應用程序/設計/前端///區域// TRA nslate.csv:

I.e. 區域設置EN_GB:_LOCALE_BUTTON_,EN_GB 區域設置nl_NL:_LOCALE_BUTTON_,nl_NL

對於每一個翻譯,確保您有可用的語言環境後綴的按鈕圖像文件/護膚/前端/// 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') ?>"/> 

但你需要保存的語言環境後綴按鈕圖像文件,如下所示: /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字符時,可能會導致問題,但這取決於您正在使用的操作/文件系統。