Magento 1.4.2.0 et tracking e-commerce Google Analytics

Dans la version 1.4.2.0 de Magento, le tracking e-commerce de Google Analytics ne fonctionne pas correctement : le détail des transactions ne remonte pas sur Google Analytics.

Pour résoudre le problème, il faut modifier le fichier app/code/core/Mage/GoogleAnalytics/Block/Ga.php  de votre installation Magento.

Voici la fonction _getPageTrackingCode présente dans la version 1.4.2.0 :

    
protected function _getPageTrackingCode($accountId)
{
    $optPageURL = trim($this->getPageName());
    if ($optPageURL && preg_match('/^\/.*/i', $optPageURL)) {
        $optPageURL = "'{$this->jsQuoteEscape($optPageURL)}'";
    }
    // the code compatible with google checkout shortcut (it requires a global pageTracker variable)
    return "
        _gaq.push(function() {
            // the global variable is created intentionally
            pageTracker = _gat._getTracker('{$this->jsQuoteEscape($accountId)}');
            pageTracker._trackPageview({$optPageURL});
        });
    ";
}

Pour réactiver le tracking, il faut remplacer la fonction par celle-ci:

    
protected function _getPageTrackingCode($accountId)
{
    $pageName   = trim($this->getPageName());
    $optPageURL = '';
    if ($pageName && preg_match('/^\/.*/i', $pageName)) {
        $optPageURL = ", '{$this->jsQuoteEscape($pageName)}'";
    }
    return "
        _gaq.push(['_setAccount', '{$this->jsQuoteEscape($accountId)}']);
        _gaq.push(['_trackPageview'{$optPageURL}]);
    ";
}

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

jQuery: effectuer une requête AJAX synchrone

Le code suivant est un exemple de requete AJAX effectuée avec jQuery.

var string = 'default';
$.get('/index/test',
  {string: 'test'},
  function(data){
    string = data;
  }
);
alert(string);

Le problème avec ce code est que la valeur de « string » va être affichée avant qu’elle soit mise à jour par la requête AJAX. En effet, la suite du code est exécutée avant que la requête soit terminée. La valeur de « string » va donc être « default ».

Pour ordonner à Javascript d’attendre la fin de la requête pour continuer l’exécution du code, il faut insérer la ligne suivante avant l’exécution de la requête:

$.ajaxSetup({async: false});

Exemple:

var string = 'default';
$.ajaxSetup({async: false});
$.get('/index/test',
  {string: 'test'},
  function(data){
    string = data;
  }
);
alert(string);
//pour remettre la valeur par défaut:
$.ajaxSetup({async: true});

Cette fois ci, la valeur de « string » lors de son affichage sera « test ».

2 réflexions au sujet de « jQuery: effectuer une requête AJAX synchrone »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Mysql: astuces pour importer/exporter une base de données volumineuse

Astuce 1 – Augmenter la taille maximale d’upload des fichiers

Si lors de l’import la taille maximale d’upload des fichiers est trop basse, ouvrez le fichier /etc/php5/apache2/php.ini et modifiez les deux lignes suivantes:

; Maximum size of POST data that PHP will accept.
; http://php.net/post-max-size
post_max_size = 16M
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 16M

Astuce 2 – Faire un import/export en ligne de commande:

Export

#Export de la table nom_de_la_base dans le fichier /chemin/vers/le/fichier.sql
mysqldump -h localhost -u utilisateur -p"mot_de_passe" --lock-tables=false -r /chemin/vers/le/fichier.sql nom_de_la_base

Le paramètre optionnel –lock-tables=false permet d’enlever le verrouillage des tables le temps de l’export.

Pour exporter et compresser en même temps:

mysqldump -h localhost -u utilisateur -p"mot_de_passe" --lock-tables=false nom_de_la_base | gzip -v > nom_de_la_base.sql.gz


Pour ignorer des tables:

–ignore-table=nom_de_la_base.table_a_ignorer_1 –ignore-table=nom_de_la_base.table_a_ignorer_2

#exemple:
mysqldump -h localhost -u utilisateur -p"mot_de_passe" --lock-tables=false --ignore-table=nom_de_la_base.table_a_ignorer_1 --ignore-table=nom_de_la_base.table_a_ignorer_2 -r /chemin/vers/le/fichier.sql nom_de_la_base

Import

#Import du fichier /chemin/vers/le/fichier.sql dans la base nom_de_la_base
mysql -h localhost -u utilisateur -p"mot_de_passe" nom_de_la_base < /chemin/vers/le/fichier.sql

Pour décompresser et importer en même temps:

zcat nom_de_la_base.sql.gz | mysql -h localhost -u utilisateur -p"mot_de_passe" nom_de_la_base

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Afficher les options avancées (kitchen-sink) de l’éditeur visuel de wordpress

Si pour une raison obscure, la seconde ligne de l’éditeur visuel de votre WordPress, aussi appelée « kitchen-sink » a disparue et qu’a également disparu le bouton « Afficher/cacher les options avancées » (cf image ) il suffit de cliquer dans la zone d’édition et de taper « Alt+Shift+Z » pour rétablir la deuxième ligne.

Si vous n’êtes pas très familier avec l’éditeur html, cette ligne est utile notamment pour créer des titres (h1, h2, h3 ..) qui améliorent le référencement de votre site.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Activer le « verr num » avant le login sous Ubuntu

Si votre mot de passe Ubuntu contient des chiffres vous avez sûrement remarqué que le pavé numérique n’est pas activé par défaut au démarrage de votre machine ou lors d’un changement de session. Heureusement, numlockx est la! Ce logiciel permet d’activer le pavé numérique au démarrage de la fenêtre de connexion.

Installation

Ouvrir un terminal et taper la commande:

sudo apt-get install numlockx

Configuration

Attention, cette manipulation est pour les utilisateurs de l’environnement Gnome (installé par défaut avec Ubuntu).
Modifier le fichier /etc/gdm/Init/Default (ou /etc/gdm3/Init/default selon les cas) et y ajouter la ligne suivante en début de fichier.

test -x /usr/bin/numlockx && /usr/bin/numlockx on

Solution pour Ubuntu 12.04

Éditer le fichier /etc/lightdm/lightdm.conf et y ajouter la ligne suivante dans la section [SeatDefaults]

greeter-setup-script=/usr/bin/numlockx on

Sources:
http://doc.ubuntu-fr.org/numlockx
http://forum.ubuntu-fr.org/viewtopic.php?id=1644
http://blog.alterneo.net/2012/05/ubuntu-12-04pave-numerique/

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ubuntu: Créer un alias pour se connecter automatiquement en ssh

S’il vous arrive fréquemment de vous connecter en ssh à un serveur, vous en avez sûrement marre de taper votre mot de passe à chaque fois.Je vous propose dans cet article de créer un petit script qui permet de vous connectez à un serveur en tapant seulement un mot.

Installer sshpass:

sudo apt-get install sshpass

Créer un script bash:

Dans votre dossier personnel créez le fichier « .sshautoconnect.sh » et ajoutez-y la ligne suivante:

sshpass -p 'PASSWORD' ssh -o StrictHostKeyChecking=no USER@SERVER.COM

N’oubliez pas de changer les données en majuscules par les vôtres.

Edit

Pour des raisons de sécurité, il est préférable de générer 
un couple de clefs privée/publique.
Pour cela, suivre la procédure présente sur cette page: https://help.ubuntu.com/community/SSH/OpenSSH/Keys

Créer un alias:

Dans votre dossier personnel, créez le fichier « .bash_aliases » et ajoutez-y la ligne suivante:

alias RACCOURCI='/home/USER/.sshautoconnect.sh'

Encore un fois, n’oubliez pas de changer les données en majuscules par les vôtres.

Pour tester votre commande, fermez et relancez votre terminal et tapez l’alias que vous avez créé.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *