Sites Internet

Boostez les performances de votre entreprise avec des sites internet professionnels performants!

Pulsar Informatique développe des sites internet à haute valeur ajoutée en Joomla, Drupal et Zend Framework.

Boostez les performances de votre entreprise avec des sites internet professionnels performants!

APPLICATIONS MOBILES

Comment mieux exploiter les applications mobiles pour augmenter les performances de votre entreprise!

Boostez les performances de vos collaborateurs avec des applications mobiles efficaces!

Offre Web 360

module web360

Productivité et rentabilité de l'entreprise avec des outils performants orientés web 360.

 

Formations

Formez vos collaborateurs aux nouvelles technologies!

Formations sur site sur les technologies OpenSource (Joomla, Zend Framework, HTML5 ...).

 

   Accueil Actus Blog Categories PHP

Feel good, feel geek

Le blog de Pulsar Informatique!

PHP

Tout ce qui concerne le PHP

Module GSitemap Prestashop: URLs non réécrites

Posted by Raphaelle Simonney
Raphaelle Simonney
Développeuse PHP depuis plus de 4 ans, j'ai travaillé sur Joomla! et Wordpressµ,
User is currently offline
on Lundi, 25 Mars 2013
in PHP

Encore un problème courant mais dont la solution n'est pas toujours bien indiquée: quand on lance le module Gsitemap, les URLs ne sont pas réécrites. (Je précise que j'utilise la version 1.5.1 de Prestashop.)

J'ai fait un premier essai en modifiant le fichier gsitemap (solution trouvée sur forum), j'ai obtenu de meilleurs résultats : les URLs sont réécrites, mais pas réécrites comme dans mon site. Il faut dire que j'avais overridé la réécriture d'URLs, et manifestement mon override n'était pas pris en compte.

Après debug, j'ai donc vu qu'il suffisait en fait d'overrider le fichier Dispatcher (donc créer le fichier override/class/Dispatcher s'il n'existe pas encore) pour lui dire d'utiliser la réécriture si je suis dans le module sitemap.  Il faut recopier dans ce fichier la fonction __construct, et y ajouter une ligne comme suit:
On remplace

// Select right front controller
        if (defined('_PS_ADMIN_DIR_'))
        {
            $this->front_controller = self::FC_ADMIN;
            $this->controller_not_found = 'adminnotfound';
            $this->default_controller = 'adminhome';
        }

par:

Prestashop Votre adresse e-mail est invalide et la page magasin s'affiche mal (erreur d'analyse xml)

Posted by Raphaelle Simonney
Raphaelle Simonney
Développeuse PHP depuis plus de 4 ans, j'ai travaillé sur Joomla! et Wordpressµ,
User is currently offline
on Mercredi, 20 Mars 2013
in PHP

Le jour où Prestashop m'a donné des envies de meurtre


J'ai constaté deux problèmes sur mon site Prestashop alors que je m'apprêtais à le passer en ligne:

  1. Un premier problème avec le module Mail alert qui enregistrait bien le mail utilisateur mais répondait "votre adresse email est invalide".
  2. Un deuxième problème avec la page magasin où l'icône du magasin n'apparaissait pas

Je n'ai pas de message d'erreur dans ma console firebug pour le premier problème avec le module Mail alert.
Pour le deuxième problème, j'ai le message d'erreur:

Erreur d'analyse XML : instruction de traitement XML ou texte pas au début d'une entité externe


Très vite un constat s'impose: il s'agit d'un seul et même problème. Les retours ajax qui semblent bon au premier abord sont en fait mal formatés. Un retour chariot s'est ajouté en début de ligne, et c'est ce retour chariot qui est la cause des deux problèmes.


Deuxième constat: comme ce problème se pose uniquement sur des retours ajax, il n'est absolument pas flagrant et je n'avais donc pas la moindre fichue idée d'où pouvait bien venir ce %*!$¨de retour chariot.

Après moults essais de modification de configuration, debug et autres joyeusetés, j'ai fini par trouver.

Recent Comments Show all comments
  • Raphaelle Simonney
    Raphaelle Simonney says #
    merci
  • Cobenan
    Cobenan says #
    De temps en temps, on tombe sur des problèmes de ce type avec Prestashop. C'est sympa de partager votre expérience!

Certaines valeurs de feature n'apparaissent pas dans les caractéristiques Prestashop

Posted by Raphaelle Simonney
Raphaelle Simonney
Développeuse PHP depuis plus de 4 ans, j'ai travaillé sur Joomla! et Wordpressµ,
User is currently offline
on Mardi, 19 Mars 2013
in PHP

Il arrive que dans l'admin de prestashop, dans le menu Produits/Caractéristiques, certaines valeurs n'apparaissent pas. Alors qu'elles apparaissent dans les valeurs proposées lorsqu'on renseigne une fiche produit.
En fait chez moi cela venait du fait que le site était en 1.4, et je l'ai passé en 1.5, mais les valeurs de base de données ont "mal suivi", et le champ custom de la table ldt_feature_value était dans certains cas à NULL, or la requête effectuée sur cette page est:

SELECT SQL_CALC_FOUND_ROWS b.*, a.* FROM `ldt_feature_value` a LEFT JOIN `ldt_feature_value_lang2` b ON (b.`id_feature_value` = a.`id_feature_value` AND b.`id_lang` = 2) WHERE 1 AND `id_feature` = 9 AND a.custom = 0

Les valeurs n'apparaissent donc pas car il faut que le champ custom soit à 0 et non NULL.

Il suffit donc d'exécuter la requête SQL suivante pour retrouver ses valeurs:

UPDATE `ldt_feature_value` SET custom=0 WHERE custom IS NULL



TECHNICAL ERROR: unable to save adresses - Prestashop

Posted by Raphaelle Simonney
Raphaelle Simonney
Développeuse PHP depuis plus de 4 ans, j'ai travaillé sur Joomla! et Wordpressµ,
User is currently offline
on Mardi, 22 Janvier 2013
in PHP

J'obtenais ce message d'erreur a priori de façon alétoire, lorsque je cliquais pour ajouter ou mettre à jour une adresse après avoir coché/décoché la case "Utiliser la même adresse pour la facturation".

Mes différentes recherches n'ayant abouti à aucune réponse satisfaisante (problèmes maintes fois rencontrés, mais pas toujours bien résolu), j'ai regardé le code de plus près pour aboutir au constat suivant:

Le message d'erreur "TECHNICAL ERROR: unable to save adresses" apparait en fait si l'appel ajax lancé par la case à cocher (la fonction updateAddresses) n'est pas terminé au moment de mon clic sur l'un des liens/boutons.

Tutoriel - Ajouter un hook dans Prestashop v1.4

Posted by Raphaelle Simonney
Raphaelle Simonney
Développeuse PHP depuis plus de 4 ans, j'ai travaillé sur Joomla! et Wordpressµ,
User is currently offline
on Mercredi, 16 Janvier 2013
in PHP

Pour modifier le template Prestashop, il faut ajouter ce qu'on appelerait une position dans Joomla, dans Prestashop il s'agit d'un hook.

Et, pour ajouter un hook, on doit passer par 3 étapes...qui sont en fait la modification du modèle, du contrôleur et de la vue...le tout pour modifier un élément "visuel"...amusant. :)

Je détaillerai vers la fin, au cas où, l'ajout de ce hook au module, mais comme nous le verrons, cela se fait comme pour tous les hooks existants.

1 - Ajout du hook dans la BDD

insérer dans la BDD un premier élément dans la table hook:

INSERT INTO `ps_hook` (`name`, `title`, `description`) VALUES ('displayCenterleftColumn', 'Centerleft column blocks', 'hook rapha pour les modules au centre à gauche');

Tutoriel - Ajouter un hook dans Prestashop v1.5

Posted by Raphaelle Simonney
Raphaelle Simonney
Développeuse PHP depuis plus de 4 ans, j'ai travaillé sur Joomla! et Wordpressµ,
User is currently offline
on Mardi, 15 Janvier 2013
in PHP

Pour modifier le template Prestashop, il faut ajouter ce qu'on appelerait une position dans Joomla, dans Prestashop il s'agit d'un hook. Il faut savoir que Prestashop différencie les différents types de hook, le hook dont on parle ici est un hook Display.

Une première solution, la plus compliquée, consiste à passer par 3 étapes pour créer ce hook (ces trois étapes correspondent en fait la modification du modèle, du contrôleur et de la vue...), comme pour la précédente version 1.4 de Prestashop.

Une deuxième solution consiste à ajouter ce hook en l'attachant à un module, qui ne trouvant pas ce hook, le créera pour vous. Cette solution est bien sûr beaucoup plus simple et aisée, et fait gagner beaucoup de temps, c'est elle que je vais détailler ici:

Recent Comments Show all comments
  • Raphaelle Simonney
    Raphaelle Simonney says #
    Bonjour, je ne comprends pas pourquoi appeler un hook personnalisé? pourquoi ne pas utiliser directement les hooks de Prestashop?...
  • glaco
    glaco says #
    Bonjour, je cherche à rendre disponible le module homeslider sur un hook perso. J'ai créé le hook, defini le registerHook, créé un...
  • Raphaelle Simonney
    Raphaelle Simonney says #
    C'est d'autant plus dommage que ça fait parti des points d'amélioration important. => je partage cet avis! Ton lien "Tutoriel - A...

Mise en place d'une API REST en PHP

Posted by Raphaelle Simonney
Raphaelle Simonney
Développeuse PHP depuis plus de 4 ans, j'ai travaillé sur Joomla! et Wordpressµ,
User is currently offline
on Lundi, 05 Novembre 2012
in PHP

Services REST

Bien que les services REST soient très courants, j'ai étonnamment croisé peu de documentation française sur la réalisation d'une API REST. D'où cet article inspiré de cet autre article « Create a RESTFUL SERVICES API » de Srinivas Tamada.
Un service REST permet de mettre à disposition d'autres applications des ressources et non des fonctionnalités. Sa mise en place et son utilisation est donc beaucoup plus simple que SOAP. REST est donc fortement recommandé pour des cas simples où on cherche à effectuer des actions simples sur un contenu, comme tester l'existence d'un élément dans la base de données d'une application, ou le modifier.

Cas d'utilisation :



Les applications 1,2 et 3 peuvent être des applications Web, smartphone, etc. Elles peuvent être écrites en différents langages. Elles doivent juste pouvoir utiliser le protocole http.
En effet une architecture REST repose sur le protocole http, comme expliqué par Gérald Croes dans son blog : On accède à une ressource (par son URI unique) pour procéder à diverses opérations supportées nativement par HTTP.

On peut demander à :
  • Lire une ressource (GET)
  • Modifier une ressource(PUT)
  • Ecrire une ressource(POST)
  • Supprimer une ressource (DELETE)

Eclipse: Failed to create Java Virtual Machine

Posted by Raphaelle Simonney
Raphaelle Simonney
Développeuse PHP depuis plus de 4 ans, j'ai travaillé sur Joomla! et Wordpressµ,
User is currently offline
on Lundi, 20 Février 2012
in PHP

A ceux qui auraient ce message d'erreur à l'ouverture d'Eclipse "Eclipse: Failed to create Java Virtual Machine", voici la solution:

éditez eclipse.ini (à la racine de votre répertoire eclipse), et ajoutez ces lignes après openFile et avant -vmargs:

-vm
C:\Program Files\Java\jre6\bin\javaw.exe

(la deuxième ligne étant à personnaliser seloon votre environnement bien entendu).

Relancez Eclipse, le message d'erreur "Eclipse: Failed to create Java Virtual Machine" ne devrait plus apparaître, et Eclispe devrait s'ouvrir normalement.

Tags: eclipse, JVM
Recent Comments Show all comments
  • Raphaelle Simonney
    Raphaelle Simonney says #
    Manifestement Eclipse dans certains cas ne réussit pas à trouver le chemin vers la JVM (et vu que c'est un programme Java, il ne p...
  • AMINE RAHMANI
    AMINE RAHMANI says #
    mais quelle est l'origine du problème et pour elle apparait souvent??? merci
  • dzodzi
    dzodzi says #
    Merci à toi.

Problème d'autocomplétion avec Eclipse PDT (fonctions PHP Core non reconnues)

Posted by Jérémie
Jérémie
Jérémie has not set their biography yet
User is currently offline
on Jeudi, 16 Février 2012
in PHP

Bonjour,

Vous avez un super EDI, Eclipse, qui vous sert sur un plateau repas les différentes fonctions PHP dont vous vous servez, c'est bien, c'est beau et c'est pratique, par contre quand ça tombe en panne, ça fait très mal !
Si vous avez un problème avec l'automplétion Eclipse de telle sorte que vous vous retrouviez avec un projet où l'autocomplétion ne vous propose plus que les fonctions et variables internes au projet, mais nada en ce qui concerne les fonctions core PHP, il se peut que l'astuce suivante vous vienne en aide.

Calcul dates du lundi au vendredi à partir du numéro de semaine en PHP

Posted by Raphaelle Simonney
Raphaelle Simonney
Développeuse PHP depuis plus de 4 ans, j'ai travaillé sur Joomla! et Wordpressµ,
User is currently offline
on Jeudi, 12 Janvier 2012
in PHP

Une fonction très pratique nous est donnée dans les commentaires de la page PHP.net sur la fonction date à cette adresse: http://fr2.php.net/manual/fr/function.date.php qui permet de récupérer la date du début d'une semaine à partir du numéro de la semaine et de l'année.

(On ne le repère pas toujours aisément car elle est dans les commenatires.)

En modifiant un peu cette fonction on récupère très facilement les dates du lundi au vendredi à partir des numéros de semaine (et de l'année):

Tags: date, PHP
Recent Comments Show all comments
  • Falkao
    Falkao says #
    Merci Raphaelle! C'est très utile en effet et c'est exactement ce que j'étais en train de chercher
  • Today32
    Today32 says #
    Merci. J'avais une fonction qui marchait bien pour 2012 mais incorrect pour 2013. (strtotime("+$num_week weeks", $begin) et $offs...
  • Eric
    Eric says #
    Ca fonctionne très bien tel quel. Bravo et merci Raphaelle ! ...

Derniers Commentaires sur le Blog

Claude un exemple concret, serait-ce possible ? Par exemple vérifier l'existence d'un pseudo dans une table...
Raphaelle Simonney

merci et au plaisir! ;) moi aussi j'avais passé un moment avant de trouver...

Raphaelle Simonney Bonjour,visiblement, ce point n'était pas clair dans mon tuto désolé! J'ai réécrit, j'espère que c'e...
marina Bonjour, Alors, là ! Chapeau et grand merci ! Depuis plusieurs jours, j'ai cru avoir tout essayé... ...

Rappelez-moi !

  1. Email ou téléphone (*)

  2. Donnée invalide

Pour un projet de:

Donnée invalide