Lorsque l'on utilise l'API des formulaires de Drupal 7, les formulaires
posté en ajax sont gérés. Mais si on veut exécuter une fonction côté
client au succès de l'appel effectué, c'est moins évident.
On pourrait utiliser "$(document).ajaxComplete" mais cette fonction
est exécutée pour chaque appel ajax effectué. On serait contraint
d'effectuer un nombre important de tests pour savoir quelle action
effectuer.
Afin de savoir comment utiliser les fonctionnalités ajax de l'API des formulaires rendez vous sur la page de documentation. Nous allons nous intéresser seulement au 'callback'.
Catégorie : PHP, Ruby, Python & Co
Drupal 7 : exécuter une fonction côté client après un appel ajax de FAPI
Drupal 7 : Apache Solr, Création d'une recherche avancée "classique"
Sur internet, on peut trouver un certain nombre d'explications concernant la création d'une facette. Par contre s'il on veut créer une page de type recherche avancée sans utiliser l'avantage des facettes, ça n'est pas documenté. Dans cet article, je vais supposer que vous avez déjà installé Apache Solr et qu'il remplace le moteur de recherche par défaut de Drupal.
Vous devrez installer le module Facet API afin que les filtres soient utilisés dans la requête de recherche.
L'exemple que je vais présenter ici va ajouter un champ "Posté entre ..." au moteur de recherche, ce champ permettra de restreindre les résultats entre deux dates de modification. Il faut donc se rendre dans la configuration de Solr, dans l'onglet "Settings" et enfin sur la page permettant d'activer les "Facet".
Drupal 7 : Création de styles d'images dans un module
Depuis la version 7 de Drupal, le module image est intégré au core. Cela permet de créer simplement des styles d'images. Les styles d'images permettent d'effectuer automatiquement des opérations sur les images avant de les afficher. Les images générées sont enregistrées afin de ne pas effectuer systématiquement la transformation. Le module se charge de déterminer s'il faut générer une nouvelle image ou bien utiliser celle générée précédemment.
Drupal 7 : Création de champs (Fields) dans un module
Dans la dernière version de Drupal, la version 7, le module Field fait parti intégrante du Core. Ce module est le successeur de CCK. Ainsi la création d'un type de contenu ayant des champs spécifiques est beaucoup plus simple que dans la version 6.
Définition des champs
Pour définir un champ il faut définir d'une part sa configuration et d'autre part une de ses instances. Une même configuration peut être utilisée pour plusieurs instances.
La définition de la configuration d'un champ se fait par un tableau associatif.Prochain Drupal Meetup: mercredi 23 novembre à 19h
Je vous retransmets l'annonce du prochain meetup drupal.
"Ce post pour vous annoncer le prochain meetup qui aura lieu le mercredi 23 novembre à 19h à la Cantine (11 impasse Juton, 44000 Nantes).
Le sujet sera "Module ? Même pas peur !" avec une présentation sur la création de modules Drupal simples suivi de discussion.
Nous expérimentons actuellement le site meetup.com, vous pouvez donc vous inscrire pour ce meetup à cette adresse :
http://www.meetup.com/drupal-france-francophonie/events/41370282/
A bientôt !
L'équipe Drupal Nantes
Drupal Nantes fait sa rentrée
La date est déjà fixée, le Mardi 11 Octobre à 19h, à la Cantine.
Toutes les informations ici : http://nantes.drupalgardens.com/drupal-nantes-fait-sa-rentree

jQuery et Ajax
Ajax

Apparu en 2005, Ajax (Asynchronous JavaScript and XML) regroupe un ensemble de technologies déjà existantes, notamment HTML, JavaScript et XML. Avec Ajax, les applications web peuvent mettre à jour partiellement la page affichée par le navigateur sans avoir à recharger la page entière. L'interface graphique peut ainsi évoluer par petits bouts, devenant ainsi plus interactive et reproduisant la sensation d'utiliser une application type client lourd. Nous parlons alors d'applications RIA (Rich Internet Applications). Le terme "Asynchronous" signifie que l'exécution du JavaScript continue sans attendre la réponse du serveur qui sera traitée quand elle arrivera. En mode synchrone, le navigateur est "gelé" en attendant la réponse du serveur.
Plugin SPIP - Vignettes actualité
Vignettes actualité est un plugin pour le C.M.S SPIP en version 2.1. Son principal objectif est de pouvoir lier une image à un article dans l'optique de promouvoir vos articles, en créant par exemple un diaporama ou un carrousel.
XDebug, variable et PHP
Par défaut, lors de l’installation de wamp 2.1 avec PHP 5.3.5 une nouvelle configuration est possible Le XDebug.
Xdebug permet de déboguer facilement son script, personnalise les messages d'erreurs en affichant toute la pile des appels de fonctions et de classes. De plus elle permet d'y ajouter des informations sur la mémoire ou sur l'état des variables. On va voir ici comment rajouter ces options sur le php.ini.
Les variables Locales
Pour ajouter les variables locales sur les message d'erreur de XDebug, il suffit de rajouter le code xdebug.show_local_vars=1 dans votre php.ini.
variables superglobales
Pour afficher les superglobales, il faut modifier le php.ini avec xdebug.dump.VARIABLE=(* ou NOM VARIABLE) .
Exemple:
xdebug.dump.POST=*
xdebug.dump.REQUEST=*
xdebug.dump.SERVER=REMOTE_ADDR, SERVER_NAME
Les autres superglobales possibles sont : GET, SERVER, POST, COOKIE, FILES, REQUEST et SESSION.
Barre de progression sur des dates avec JQuery
Progressbar est un plugin JQuery pour afficher une barre de progression. Il prend un pourcentage en entrée et affiche une barre de progression en sortie. La barre est entièrement personnalisable par CSS.
A partir d'un intervalle de temps (deux dates), de la date du jour et d'un calcul de conversion (pour obtenir le pourcentage d'avancement), on peut réaliser une barre d'avancement dans le temps.
Voici un exemple pour illustrer mes propos.
A l'aide du Datepicker de JQuery, vous saisissez une date de début et une date de fin du projet. L'avancement est calculé automatiquement en Javascript par rapport à la date du jour.
Enfin, des boutons supplémentaires permettent de modifier les dates et de voir l'évolution du projet en temps réel.


Je mets l'ensemble des fichiers sources à disposition... A utiliser et modifier selon vos souhaits !