Pour rendre éditable le champs (que j’appel ici #CHAMP) via les crayons, rien de plus simple.
<div class='#EDIT{champ}'>
#CHAMPSeulement voilà : j’obtenais lors de l’édition, non un textarea mais un simple input, ce qui pour rend l’édition compliqué, puisque le contenu du champ peut faire plusieur ligne.
Le plugin crayon définit le type de champ de formulaire, appelé « Contrôleurs » affiché selon le type du champ SQL. Pour les champs de type TEXT, cela dépend de la longueur.
Seulement voilà, en SQLite, les champs de type TEXT ne peuvent avoir qu’une seule longueur. Il n’y a pas de TINYTEXT ou de MEDIUMTEXT ou autre BIGTEXT. C’est pourquoi j’avais systématiquement un input, et non pas un textarea.
Les crayons ont un contrôleur et une vue [1] par défaut pour les champs extra, mais on peut en définir des nouveaux pour chaques types de champ.
Le contrôleur
Dans mon dossier de squelettes [2], j’ai créé un dossier controleurs, dedans un squelette champ.html, qui contient ceci
[(#REM)
Controleur pour le crayon 'champ' , uniquement html
]
#CACHE{0}
<BOUCLE_a(ARTICLES){id_article}{statut==.}>
<textarea class="crayon-active" name="#ENV{name_champ}"
style="width:#ENV{largeur}px; height:#ENV{hauteur}px;#ENV{style}">
[(#CHAMP**)]</textarea>
</BOUCLE_a>La vue
Idem, dans mon dossier de squelettes, j’ai créé un dossier vues.
Et dans ce dossier un fichier champ.html, qui contient
[(#REM)
Vue pour le crayon 'champ'
]
#CACHE{0}
<BOUCLE_a(ARTICLES){id_article}{statut==.}>
[(#CHAMP|propre)]
</BOUCLE_a>Et voilà, j’ai désormais mes crayons qui me permettent d’éditer un champ texte long avec une base SQLite.
Champ extra, crayons, sqlite