CSS : Un « selector » malin

La petite astuce du jour pour pouvoir styler tout les boutons submit et button avec un seul selector :

 inputbackground

L’utilisation de la lettre « u » contenue dans le type est la seule lettre possible se trouvant à la fois dans « submit » et « button », mais pas dans les autres types possibles !

Have fun !

Vidéo interactive

video-e-commerce-blog

L’idée proposée est de rendre une vidéo interactive et de lui conférer une autre vocation que le seul visionnage passif.

Concrètement, la vidéo est agrémentée de marqueurs qui permettent à celui qui la regarde de stopper le film sur des séquences spécifiques afin de réaliser tel ou tel type d’action, de récupérer de l’information ou de faire une action.

Le but étant d’y intégrer des fonctionnalités pratiques, de se servir d’une vidéo comme d’un support dédié à d’autres ambitions.

Ainsi la vidéo devient un support de e-commerce, un support d’information ludique, un support de e-booking…

Url de démonstration : CLIQUEZ ICI

Continue reading

Utiliser les widgets et images de l’éditeur WYSIWYG de Magento dans un module personnalisé

WYSIWYG Magento
WYSIWYG Magento

Beaucoup de développeurs se tirent les cheveux quand il s’agit d’inclure l’éditeur WYSIWYG dans Magento. Pourtant, il est possible d’utiliser l’ensemble des fonctionnalités de l’éditeur lorsque l’on a créé un module personnalisé.

Le tutoriel suivant permet de réaliser tout ceci. Il est cependant nécessaire d’avoir toutes les bases utiles de Magento pour réaliser ce tutoriel tout en se sentant à l’aise.

Table MySQL des Pays !

Comme c’est souvent utile pour les développeurs, et que je n’ai trouvé aucun équivalent sur le web, voici en exclusivité mondiale une table MySQL reprenant la liste complète des pays du monde par :

– Dénominations Françaises, Anglo-saxonnes, italiennes, espagnoles et allemandes
– Continent Géographique d’appartenance (en français)
– Code ISO 3166 a 3 lettres
– Code ISO 3166 a 2 lettres
– Reconnaissance officielle par l’ONU
– Appartenance à l’union européenne
– Appartenance aux Départements d’Outre-Mer français
– Appartenance aux Collectivités d’Outre-Mer françaises

Remarque : La situation géopolitique mondiale changeant constamment, cette liste est le plus à jour possible 😀 (Mars 2010 !)

Continue reading

Expression régulière nommée avec PHP

Je connaissais déjà la fonction preg_match mais je viens de découvrir qu’en écrivant les expressions régulières comme ci dessous, on peut accéder à un tableau de résultat associatif (au lieu des indices 0,1,2 …).

En bref, avec le code ci dessous, vous pouvez accéder à l’heure recherchée par $matches[‘heures’] et aux minutes par $matches[‘minutes’]

Sympa non ? 😉

<?php

$testtime = ‘totgnoerbgo20H45ezfzef‘;
$pattern = ‘/(?<heures>\d+)h(?<minutes>\d+)/i‘;
preg_match($pattern$testtime$matches);

// $matches[‘heures’] contient les heures

// $matches[‘minutes’] contient les minutes

?>

Utiliser le RAMDISK

Ramdisk
Ramdisk

Il est possible, pour certaines partie d’un site, d’utiliser le ramdisk, autrement dit, utiliser la mémoire vive comme système de fichier.
Par exemple dans un site qui possède des répertoires ou se produisent des écritures de cache ou de logs temporaires nous pouvons « monter » ces répertoires en RAM afin d’optimiser la vitesse des lectures/écritures.

Voici la commande à utiliser :

mount_tmpdfs

Elle peut être répétée pour d »autres répertoires, en faisant bien attention a ne pas pénaliser la RAM pour le reste du système, évidemment…

Il faut faire attention toutefois car les données en RAM seront bien évidement perdues au reboot de la machine. A utiliser donc pour des répertoires particuliers et non-vitaux !

 

 

Un « workaround » pour Magmi & Magento Enterprise 12.x

Magento
Logo Magento

Magmi est un bel outil. Je l’utilise déjà depuis quelque mois pour pouvoir importer un grand nombre d’articles dans Magento de façon rapide et facile.

J’ai été vite confronté à un problème spécifique à mon environnement (Magento version Enterprise 12) car dans mon cas, Magento EE et Magmi ne font pas bon ménage dans un cas particulier : en effet, bien que l’import massif de produits fonctionne parfaitement bien, le moteur de recherche natif de Magento EE n’indexe aucun de ces produits, malgré mes tentatives de ré-indexations répétées.

Or, chose étrange, lorsque j’éditais un produit, ô miracle, il était indexé immédiatement après dans la base de recherche !

J’ai mis beaucoup de temps a solutionner le problème, car il fallait se plonger dans les arcanes des tables MySQL de Magento pour en comprendre le sens. En comparant un produit importé « brut » par Magmi, et un produit modifié post-import, j’ai pu découvrir que dans la structure EAV, il était parfois nécéssaire a Magmi de référencer des valeurs nulles aux attributs pour qu’ils soient pris en compte dans l’indexation de la recherche.

Voici donc un petit « workaround » PHP a appliquer après chaque import et donc avant chaque indexation, afin de faire marcher tout ça !