Fragments HTML utilisés par Crayons
Dans son fonctionnement, crayons demande au serveur des fragments d’HTML pour changer dynamiquement l’affichage de morceaux de la page :
- au clic sur le crayon, ou au double-clic sur le contenu, il requiert du serveur le formulaire qui permettra d’éditer l’élément. Ce formulaire comporte des contrôles techniques et inclut un fragment pour les données elles-même le contrôleur.
- lorsque l’on soumet la modification, le serveur renvoie le fragment correspondant à l’affichage de l’élément. C’est la vue.
Par défaut, pour les champs « simples » (une colonne d’une table), le noyau de crayons les fabrique en interne. Il est aussi possible de fournir des contrôleurs et vues propres, notamment pour des champs multiples. C’est possible par html similaire aux modèles, par code php, ou combinaison des deux.
Il est important de noter que la vue n’est pas un extrait du squelette de départ [1], mais un morceau re-fabriqué en dehors de l’environnement complet de celui-ci et que donc, il peut exister des différences minimes dans certains cas relativement rares.
Fonctionnement par défaut
La classe #EDIT{machin}
produit l’expression « crayon objet-machin-id ». Typiquement, comme dans la distribution de SPIP, objet est une table, machin une colonne et id le numéro d’enregistrement dans la table. Cette expression est à installer dans la class d’un élément qui entoure ce qu’on veut éditer.
Par défaut, crayons établit un champ simple pour ce machin, un <input> ou <textarea> selon sa nature. Bien sûr, toujours accompagné des boutons de validation.
Contrôleurs
Lorsque l’on clique sur le crayons ou que l’on double-clique l’élément, le javascript transmet dans son appel ajax à SPIP l’intégralité de la classe de l’élément.
Le contrôleur en déduit l’objet concerné, ses « objet », « machin » et « id ». Grâce à ces données, il peut calculer et envoyer le formulaire de modification de l’élément.
Crayons renvoie un formulaire soit défaut, soit customisé si il trouve, par exemple dans les squelettes ou chez un autre plugin, un fichier nommé controleurs/objet_machin.html ou plus généralement controleurs/machin.html (pour tous les objets si pas de objet-machin.html).
Vues
Lorsque l’on valide le formulaire, le serveur vérifie la véracité, l’intégralité, la non-concurrence (édition simultanée par plusieurs rédacteurs) et les droits sur les données transmises, et modifie en conséquence la base de données. Ensuite, il renvoie la vue du nouvel objet.
De même que pour le contrôleur, c’est une vue défaut avec un minimum de filtres selon le « machin », sauf si l’on trouve un vues/objet_machin.html ou plus généralement vues/machin.html.
Compléments de documentation et exemples
Trouvez et déposez des compléments de documentation sur les crayons et leurs contrôleurs et vues, et des exemples, sur le wiki
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |