2010-01-07 5 views
2

Je veux changer l'image de recherche dans magento. Lors de la recherche dans magento, le nom de l'image est btn_search.gif. En ce moment, il prend l'image de skin/frontend/default/default/images. Et le fichier est /app/design/frontend/default/default/template/catalogsearch/form.mini.phtml où mentionner cette balise commeComment changer l'image de la base locale dans magento?

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

Je vérifie le code et je trouve que nous pouvons passer locale comme _type dans ce domaine comme

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

Mais quand je vérifie le code cela il suffit de vérifier dans le répertoire de paramètres régionaux que ce fichier existe dans ce lieu ou non. Si cela existe alors il faudra l'image de la peau. Je veux utiliser cette image locale au lieu de cette image de peau.

Alors, quand je clique sur la boutique française i obtenir l'image qui est i situé dans /app/design/frontend/default/default/locale/fr_FR/images/btn_search.gif

Je vérifie le code pour getSkinUrl dans /app/code/core/Mage/Core/Model/Design/Package.php. Et j'ai trouvé qu'il vérifie les paramètres régionaux pour le fichier, mais il retourne l'URL de la peau.

Existe-t-il une méthode pour renvoyer l'URL locale?

Répondre

5

J'ai obtenu la réponse

Voilà comment je l'ai fait la langue des boutons (paramètres régionaux) à charge au commerce magento

J'ai commencé avec la forme de mini-recherche sur la page d'accueil. Le bouton d'image de recherche de cette forme est définie dans

/app/design/frontend///template/catalogsearch/form.mini.phtml

Dans ce fichier, j'ai changé la ligne suivante

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

Puis j'ai ajouté la traduction pour _LOCALE_BUTTON_ à tous les fichiers de paramètres régionaux translate.csv: /app/design/frontend /// locale // tra nslate.csv:

I.e. Locale en_GB: _LOCALE_BUTTON_, en_GB Locale nl_NL: _LOCALE_BUTTON_, nl_NL

Pour chaque traduction assurez-vous que le bouton de suffixe locale des fichiers d'image disponibles dans le répertoire/peau/frontend /// images /:

à savoir btn_mini_search_en_GB.gif btn_mini_search_nl_NL.gif

Je pense que vous pouvez aussi faire la traduction pour _LOCALE_BUTTON_ pour représenter un dossier en modifiant la ligne mentionnée ci-dessus à:

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

mais vous devez enregistrer le suffixe locale fichiers d'image de bouton comme ceci: /skin/frontend /// images/locale/en_GB/btn_mini_search.gif et /skin/frontend /// images/locale/nl_NL/btn_mini_search.gif

Je n'ai pas testé la dernière méthode moi-même, mais je ne vois pas pourquoi cela ne devrait pas fonctionner.

J'ai aussi pensé à remplacer la valeur _LOCALE_BUTTON_ par la chaîne régulière 'Recherche' (Non recommandé !!) L'avantage de cette méthode est que vous n'avez pas besoin d'ajouter des traductions séparées à translate.csv fichiers, mais vous courez le risque que certaines traductions peuvent être similaires pour plusieurs locales (clés en double). En outre, cela peut entraîner des problèmes lorsque des caractères non-ascii/utf-8 sont utilisés dans les traductions, mais cela dépend du système d'exploitation/de fichier que vous utilisez.

Questions connexes