Désactiver l’envoi de mail sur Magento

mars 17th, 2016 | by | magento

Mar
17

Lorsque l’on est en preprod sur un projet, il nous est tous arrivé de faire des tests et d’envoyer malencontreusement des mails à de vrais clients…

Pour éviter cela, c’est tout simple.

Il suffit de vous rendre dans l’administration de votre boutique Magento : Système -> Configuration -> Système -> Paramètres d'envoi des emails -> Désactiver les envois d'email

No Comments »

Le profiler Magento pour optimiser la vitesse d’affichage

mars 17th, 2016 | by | magento

Mar
17

Dans Magento de base se trouve un outil appelé « profiler » qui peut être d’une grande aide lors de développement de module ou même lors de modification de template.

Pour activer le profiler il faut aller dans l’administration :
Système -> Configuration -> Avancé (Développeur) -> Déboguage (Profileur) -> Oui

L'affichage n'est pas pour le mieux donc pour cela il existe un module : https://github.com/AOEpeople/Aoe_Profiler
Attention celui-ci demande pas mal de ressource notamment le max_allowed_packet de mysql.

No Comments »

Comment rechercher une expression exacte dans la recherche produits Magento ?

octobre 28th, 2015 | by | magento

Oct
28

Lorsque l'on effectue une recherche dans Magento cela va chercher tous les mots individuellement.
Exemple : pull rouge bleu
cela va donner comme réponse tous les produits qui contiennent soir le mot "pull" soit le mot "rouge" soit le mot "bleu".
Les résultats ne sont donc pas très précis.
Pour améliorer cela on va modifier la logique en remplaçant les OR par des AND.

Il faut surcharger le fichier App/Code/Core/Mage/CatalogSearch/Model/Resource/fulltext.php

Ligne 330

1
2
3
4
5
6
7
if ($like) {
$likeCond = '(' . join(' OR ', $like) . ')';
 
par
 
if ($like) {
$likeCond = '(' . join(' AND ', $like) . ')';

et ligne 355

1
2
3
4
5
6
7
8
9
10
11
if ($likeCond != '' && $searchType ==
 
Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_COMBINE) {
$where .= ($where ? ' OR ' : '') . $likeCond;
 
par
 
if ($likeCond != '' && $searchType ==
 
Mage_CatalogSearch_Model_Fulltext::SEARCH_TYPE_COMBINE) {
$where .= ($where ? ' AND ' : '') . $likeCond;

No Comments »

Modifier des produits dans Magento depuis le frontend

octobre 27th, 2015 | by | magento

Oct
27

Lorsque vous manipulez les produits, soit dans un fichier externe soit dans un module custom, il arrive que vous ne puissiez charger vos produits pour les modifier.

Le problème vient du fait que Magento n'autorise pas la modification des produits sur le frontend.
Lorsque l'on charge un produit sur le frontend, la propriété origData n'est pas remplie :

1
2
3
4
5
6
7
8
public function setOrigData($key=null, $data=null)
{
if (Mage::app()->getStore()->isAdmin()) {
return parent::setOrigData($key, $data);
}
 
return $this;
}

Pour résoudre le problème, il faut dire que l'on se trouve dans l'administration :

1
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

Et voilà le tour est joué.

No Comments »

Fichier robots.txt sur un multi-domaine Magento ou autres

septembre 12th, 2015 | by | magento, seo

Sep
12

 

Lorsque l'on utilise le système du muti-boutique multi-domaine sur Magento on se retrouve avec un seul robots.txt puisqu'une seule racine physique sur le serveur.
Mais avec une simple ligne dans le .htaccess on va pouvoir ré-écrire l'url du fichier pour en avoir un pour chaque nom de domaine.
Mettez le après toutes les redirections (domaines et www)

 

1
2
# Rewrite URL for robots.txt
RewriteRule ^robots\.txt$ robots/%{HTTP_HOST}.txt [L]

 

Cela va être très utile pour gérer individuellement l'indexation pour les moteurs de recherche. Chaque fichier robots.txt contiendra les données pour chaque site correspondant.
Exemple : /robots/monsite.fr.txt

Vous pouvez utiliser cette technique pour chaque installation multidomaine (Prestashop, Worpress…)

No Comments »