août
2011
Hier, on a codé un petit script pour entourer toutes les images d’une page. Aujourd’hui on va s’amuser à le transformer en Bookmarklet, ou applisignet en québecois. 1. Qu’est-ce qu’un Bookmarklet Un Bookmarklet est un Bookmark, ou favoris, qui contient un script JavaScript à exécuter. Un Bookmarklet est simple à reconnaître, son URL commence toujours par javascript:. Au chargement de l’URL, la navigateur exécute le JavaScript sans changer de page. Par exemple, essayez de copier-coller […]
août
2011
Une petite astuce pour les traductions sous eZ Publish, on peut utiliser des paramètres. Par exemple, on est pas obligé de couper la traduction de « Plus que 3 exemplaires. » si la valeur 3 est dynamique. Vous pouvez utiliser dans votre template le code ci-dessous : {"Only %quantity left in stock."|i18n(‘shop’, , hash(‘%quantity’, $product.stock))} Et utiliser dans votre fichier de traduction, le code ci-dessous : <!DOCTYPE TS> <TS> <context> <name>shop</name> <message> […]
août
2011
Dans une template « classique », on a accès à la variable $view_parameters. Celle-ci contient les valeurs des paramètres personnalisés passés dans l’url. Par exemple pour l’url suivante : http://www.example.com/my/url/alias/(couleur)/vert/(prix)/34 On pourra accéder aux paramètres « couleur » et « prix » à l’aide de la variable $view_parameters : La couleur est : {$view_parameters.couleur} Le prix est : {$view_parameters.prix} Par contre, vous n’avez pas accès à $view_parameters dans une vue d’un module. Mais on peut quand même les récupérer à l’aide […]
août
2011
Voici un court tutoriel pour désactiver un module ou une vue dans eZ Publish. Ajouter dans le site.ini.append.php de votre siteaccess les lignes ci-dessous : [SiteAccessRules] Rules[] Rules[]=access;enable Rules[]=moduleall Rules[]=access;disable Rules[]=module;ezinfo Rules[]=module;user/register Ces lignes d’exemples permettent de désactiver le module « ezinfo » et la vue « user/register » pour un siteaccess donné. En espérant que ça puisse vous aider, Thomas.
août
2011
Il peut être pratique de réutiliser le code d’une vue de module eZ Publish à partir d’une autre page. Par exemple, pour ne pas dupliquer le code entre les requêtes directe et les requêtes AJAX. Vous pouvez utiliser le code ci-dessous pour récupérer le résultat de la vue « user/login » : $module = eZModule::findModule( "user"); $return = $module->run("login"); $content = $return[‘content’] En espérant que ça puisse vous aider, Thomas.
août
2011
eZ Publish dispose d’un moteur i18n ou d’internationalisation. 1. Presentation On peut l’utiliser dans les templates à l’aide de l’opérateur i18n() : {$string|i18n($context)} {‘The results’|i18n(‘search’)} Dans le ficher translations/fre-FR/translation.ts, on peut lui indiquer les valeurs en français : <!DOCTYPE TS> <TS> <context> <name>search</name> <message> <source>The results</source> <translation>Les résultats</translation> </message> </context> </TS> 2. Utiliser des sources en français Dans le sens anglais […]
août
2011
Pour les versions d’eZ Publish inférieur à 4.4.1, il fallait éviter de supprimer un utilisateur eZ Publish. Même supprimé, tous les contenus qu’il a publié lui font encore référence. Ceci pose quelques problèmes dans le Back Office d’eZ Publish. Par exemple, l’interface n’arrive plus à lister les sous-éléments. C’est pour cela qu’il valait mieux désactiver un utilisateur que le supprimer. Si c’est trop tard et qu’il est supprimé, comme ça m’est arrivé, on peut réparer […]
juillet
2011
On peut manipuler très facilement les chaînes de caractères en shell. Il est par exemple très simple de faire un substring ! 1. Couper une chaîne sur une distance donnée Nous avons une chaîne « aaa-bbb-ccc » et nous voulons récupérer la sous-chaîne « a-bbb-c ». Cette sous-chaîne commence à l’index 2. C’est le 3e caractères et le premier index est 0. La longueur de la sous-chaîne sera de 7 caractères. $ string="aaa-bbb-ccc" $ echo ${string} <span style="color:#777;">aaa-bbb-ccc</span> $ […]
juillet
2011
Voici un petit tutoriel JS. Le but est de voir comment exécuter du JavaScript à l’intérieur des iframes. On va essayer de coder un script qui entoure toutes les images de la page. 1. Première version du script : <span style="color:#777;">// On récupère toutes les images du document</span> var imgs = document.getElementsByTagName(‘img’); if (imgs != null) { <span style="color:#777;">// Pour chaque image</span> for (var i=0; i<imgs.length; i++) { […]
juillet
2011
Il ne faut pas oublier de faire des sauvegardes régulières de ses bases de données. Avec la commande mysqldump et une console shell, c’est vraiment pas compliqué : 1. On peut sauvegarder sa base à un moment donné : <span style="color:#777;"># Générer un dump de BDD dans le fichier ~/dump/ma_base.20110725.sql</span> mysqldump -u${user} -p${password} ${db} > ~/dump/${db}.`date "+%Y%m%d"`.sql 2. On peut sauvegarder sa base régulièrement. Pour cela copier la ligne ci-dessus dans un script, par exemple […]