Gestion des nouveaux champs dans les tables SPIP par les champs extra : champs homonymes

Comment basculer les
champs Extra en champs supplémentaires dans la base par les « champs homonymes ».

Cette contrib a pour objet de rendre possible la visualisation et la mise à jours de nouveaux champs ajoutés dans plusieurs tables de SPIP grâce aux champs EXTRA. Elle s’applique au tables suivantes :
-  spip_articles
-  spip_rubriques
-  spip_breves
-  spip_auteurs
-  spip_syndic
-  spip_mot

Son objectif est simple :
-  utiliser le système de gestion des champs EXTRA pour gérer ces champs.

Son principe l’est tout autant :
-  s’il existe dans une de ces tables, un champs du même nom qu’un de ses “champs EXTRA [1] , ces deux homonymes contiendront la même valeur et leur mise à jour sera synchronisée dans l’interface privée.

Par exemple, si nous créons un nouveau champs appelé ’plus’ pour la table spip_breves et qu’il existe dans le champs extra un pseudo champs également appelé ’plus’, le contenu des homonymes sera synchronisé. Ce qui permettra de mettra à jour tout nouveau champ par l’interface administrateur.

Avantages

-  Combiner l’ensemble des possibilités de gestion et d’affichage “des champs EXTRA” avec les possibilités de gestion des boucles qu’offre le nouveau compilo de SPIP.
 [2]
-  Compatibilité ascendante : on peut continuer à utiliser comme avant “les champs EXTRA”. On peut également utiliser normalement les nouveaux champs dans ces tables comme avant.
-  On peut activer le lien entre homonymes et le désactiver sans autre conséquence que celle d’annuler leur synchronisme.

Modifications simples et rapides

Cette contrib demande des modifications au coeur de SPIP. Mais ces modifications sont simples et minimes. Seul le fichier ecrire/inc_extra.php3 doit être modifier par :
-  l’ajout d’une fonction
-  l’incorporation dans deux autres fonctions contenues dans ce fichier, d’une ligne qui appellent notre nouvelle fonction.

Une seule exception : la table spip_mot. Cette table ne faisant pas appel à une des fonctions appelant la notre, une petite modification au fichier ecrire/mots_edit.php3 serait requise.

Procédures

-  Télécharger le fichier inc_extra.php3.txt

-  Déposer ce fichier dans le dossier /ecrire/ de votre site SPIP
-  Renommer le fichier inc_extra.php3 présent dans ce fichier pour le conserver intact : exemple inc_extra_save.php3 [3]
-  Renommer le nouveau fichier inc_extra.php3.txt en inc_extra.php3

Voilà ! Vous pourriez déjà utiliser les champs homonymes. Seul les nouveau champs de la table spip_mots ne seraient pas mise à jour automatiquement pour le moment.

Si vous le voulez, passez par dessus l’étape me modification du fichiers suivant (Vous pourrez toujours le faire plus tard).

Modification du fichier ecrire/mots_edit.php3

Aucun fichier permettant de gérer les mots-clés ne faisant appel à la fonction extra_affichage() et puisque c’est elle qui appelle notre fonction extra_homonyme() pour la mise à jour du champs spip_mots.plus, nous devons modifier légèrement le fichier ecrire/mots_edit.php3 pour qu’il appelle directement cette fonction. Mais cela n’est pas une obligation si on ne désire pas utiliser de nouveau champ avec les mots-clés.

-  ouvrir dans un éditeur de texte le fichier mots_edit.php3 contenu dans le dossier /ecrire/
-  enregistrer ce fichier sous un autre nom pour conserver la version originale
-  ouvrir à nouveau dans un éditeur de texte le fichier mots_edit.php3
-  sélectionner et couper le code suivant contenu près de la ligne 72 ( pour SPIP 1.8.1 )

-  coller le code après ce qui était à l’origine la ligne 94 ( ligne 82 après la coupure )
-  coller le code préalablement coupé.
-  ajouter l’appel de la fonction extra_homonyme() en donnant comme paramètres la variable $extra, le type de table sur laquelle on travaille (sans le préfixe spip_), soit ’mots’ et l’action qu’on désire exécuter, soit ’update’ :

//
// redirection ou affichage
//
if ($redirect_ok == 'oui' && $redirect) {
        include_ecrire("inc_extra.php3");
	extra_homonyme($extra, 'mots', 'update');
	redirige_par_entete(rawurldecode($redirect));
}

//

Nous avons simplement déplacé la fonction de redirection contenu dans ce fichier après l’interrogation de la base de donnés pour permettre de recharger le champ EXTRA qui sera utilisé dans notre fonction appelé par la ligne

extra_homonyme($extra, 'mots', 'update');

L’explication de la fonction extra_homonyme() se trouve un peu plus bas.

Nous en avons terminé des modifications permettant d’utiliser notre nouvelle fonction. Il ne nous reste qu’à créer de nouveaux champs et de créer leur homonyme en champ EXTRA au besoin.

Comment ça marche

Voici la fonction permettant de lier nos homonymes afin de les synchroniser en lecture et en mise à jour.

function extra_homonyme($extra, $type, $action='select') {

	$extra = unserialize ($extra);
	if (!is_array($extra)) return;
	
	switch ($type) {
		case 'articles':
			$id_table = 'id_article';
			$id=$GLOBALS['id_article'];
			break;
		case 'breves':
			$id_table = 'id_breve';
			$id=$GLOBALS['id_breve'];
			break;
		case 'rubriques':
			$id_table = 'id_rubrique';
			$id=$GLOBALS['id_rubrique'];
			break;
		case 'auteurs':
			$id_table = 'id_auteur';
			$id=$GLOBALS['id_auteur'];
			break;
		case 'sites':
			$id_table = 'id_syndic';
			$id=$GLOBALS['id_syndic'];
			$type='syndic';
			break;
		case 'mots':
			$id_table = 'id_mot';
			$id=$GLOBALS['id_mot'];
			break;
			
		default:
			$id_table ='';
            break;
        }
	
	$table = spip_fetch_array(spip_query("SELECT * FROM spip_$type WHERE $id_table=$id"));
	if ($action=='select'){
		while (list($champ,$contenu) = each($extra)) {
			// Pour chaque nom de champs extra 
			// vérifier si la table comporte un champs du même nom (homonyme)
			if (isset($table[$champ])){
				//Si oui, changer la valeur dans le champs extra par celle du champs de la table
				$extra[$champ]=$table[$champ];
			}
		}
	}else if($action=='update'){
		while (list($champ,$contenu) = each($extra)) {
			// Pour chaque nom de champs extra 
			// vérifier si la table comporte un champs du même nom (homonyme)
			if (isset($table[$champ])){
				//Si oui, mettre à jour la valeur des champs de la table par la valeur du champs extra du même nom
				$query = "UPDATE spip_$type SET 
				$champ='".addslashes($extra[$champ])."'
				WHERE $id_table=".$id;
				$trace .= spip_query($query) OR die($query);
			}
		 }
	}  
  return serialize($extra);
}

Pour comprendre ce que fait notre fonction, il faut comprendre comment sont conservées les combinaisons clé/valeur dans le champs EXTRA d’une table.

Si nous parlons de “pseudo champs EXTRA”, c’est qu’en réalité, il n’y a qu’un champ EXTRA par table. L’ensemble des “pseudo champs EXTRA” sont en fait un ensemble de clé/valeur stockés dans le champ EXTRA grâce à la sérialisation (fonction PHP serialize() )et récupérés pour être utilisés par son inverse : la « déssérialisation » (fonction PHP unserialize() ).

Sur NEXEN.NET on peut lire :

serialize retourne une chaîne contenant une représentation linéaire de value , pour stockage.

C’est une technique pratique pour stocker ou passer des valeurs de PHP entre scripts, sans perdre ni leur structure, ni leur type.

Pour récupérer une variable linéarisée, et retrouver une variable, utilisez unserialize.

Notre fonction reçoit donc une chaîne de caractères contenant l’ensemble des clés/valeurs EXTRA. Elle « déssérialise » le tout dans un tableau nous permettant de comparer le nom des champs (clés) avec le nom des champs présents dans le « type » de table à qui appartient ce champ EXTRA.

Pour synchroniser en valeur les champs homonymes, la fonction comparera les clés du champ EXTRA avec le nom des champs de la table. Si ce sont des homonymes, elle remplacera la valeur liée à cette clé, par la valeur contenue dans le champ du même nom. Une fois la comparaison terminée, nous sérialisons à nouveau le tout pour retourner EXTRA. L’alimentation de toutes les pages affichant les champs EXTRA dans l’interface privée contient maintenant pour tous les champs homonymes, la même valeur de façon sérialisée dans le champ EXTRA ou dans le champ du même nom.

Lors de la validation des pages permettant la modification des articles, rubriques, brèves, auteurs, sites référencés ou mots clés, le même processus de comparaison s’effectue. Toutes les paires d’homonymes seront mises à jour avec les mêmes valeurs (update).

Si une clé du champ EXTRA n’a pas d’homonyme, elle sera alimentée par sa propre valeur et ne mettra à jours que cette valeur. Si un champs de la table n’a pas d’homonyme, il ne sera tout simplement pas accessible dans l’interface privée.

Cette fonction sera appelée par deux autres fonctions déjà utilisées pour gérer les champs EXTRA.

-  Pour l’alimentation des champs on appellera la fonction à l’intérieur de la fonction extra_saisie() dans le fichier ecrire/inc_extra.php3

// a partir de la liste des champs, generer la liste des input
function extra_saisie($extra, $type, $ensemble='') {
extra_homonyme($extra, $type);

...

-  Pour la mise à jour des champs on appellera la fonction à l’intérieur de la fonction extra_affichage() dans le fichier ecrire/inc_extra.php3

// a partir de la liste des champs, generer l'affichage
function extra_affichage($extra, $type) {
extra_homonyme($extra, $type, 'update');

...

Comment permettre l’utilisation des blocs multi avec les champs extra

Pour permettre l’utilisation des blocs multi avec les champs extra :
-  on appellera la fonction extraire_multi() à l’intérieur de la fonction extra_affichage() dans le fichier ecrire/inc_extra.php3

// a partir de la liste des champs, generer l'affichage
function extra_affichage($extra, $type) {
extra_homonyme($extra, $type, 'update');
	$extra = unserialize ($extra);
	if (!is_array($extra)) return;
	$champs = $GLOBALS['champs_extra'][$type];
	while (list($nom,$contenu) = each($extra)) {
	$champs[$nom] = extraire_multi($champs[$nom]);// modification permettant l'utilisation des blocs multi

...


-  on appellera la fonction extraire_multi() à l’intérieur de la fonction extra_saisie() dans le fichier ecrire/inc_extra.php3

// maintenant, on affiche les formulaires pour les champs renseignes dans $extra
	// et pour les champs proposes
	reset($champs_proposes);
	while (list(, $champ) = each($champs_proposes)) {
		//$desc = $champs[$champ];
		$desc = extraire_multi($champs[$champ]);// modification permettant l'utilisation des blocs multi
		list($form, $filtre, $prettyname, $choix, $valeurs) = explode("|", $desc);
		if (!$prettyname) $prettyname = ucfirst($champ);
		$affiche .= "<b>$prettyname&nbsp;:</b><br />";

...

Ces dernières modifications, incluse dans le fichier inc_extra.php3 ci-joint sont facultatives. Mais si vous les conservez, elles seront utilisables également avec les champs homonymes.

Un des avantages de ces changements est de pouvoir changer le libélé des champs dans l’interface privée, tout comme les autres champs standards.

Comment tester les champs homonymes

Téléchargez et décompressez à la racine du site le fichier zip suivant :

Jeux de fichier test pour Spip 1.8.2
Un jeux de fichier permettant de créer, supprimer, tester une série de champs homonymes dans les différentes tables possibles.

Il contient une série de fichiers permettant de tester facilement si tout fonctionne bien.

Il contient :
-  mes_fonctions.php3.txt
-  ecrire/mes_options.php3.txt
-  homonymes_test.php3 et homonymes_test.html
-  homonymes_plus.php3 et homonymes_plus.html

Une fois décompressé à la racine de votre site,
-  si vous n’avez pas déjà de fichiers mes_fonctions.php3 et ecrire/mes_options.php3, renommez simplement les fichiers en supprimant l’extension .txt
-  si vous avez déjà des fichiers mes_fonctions.php3 et ecrire/mes_options.php3, copiez et coller leur contenu respectif dans vos fichiers mes_fonctions.php3 et ecrire/mes_options.php3 à la suite ces fichier de leur contenu.

Accédez dans un fureteur sur votre site.

Allez dans l’interface privée pour entrer de l’information dans le nouveau champs extra pour
- un article
- une rubrique
- une brève
- un auteur
- un site référencé
- un mot clé

Allez dans l’interface publique de votre site.

Ajoutez à votre adresse homonymes_plus.php3.

Si vous n’êtes pas déjà identifié comme administrateur, vous aurez un espace pour le faire. [4]

-  Vous serez invité à créer une série de nouveaux champs nommés "plus" dans les tables
- spip_articles
- spip_rubriques
- spip_breves
- spip_auteurs
- spip_syndic
- spip_mot

La création des champs sera confirmée.
-  Cliquez alors sur Mettre à jour pour mettre à jour les nouveaux champs avec leur champs EXTRAS Homonymes.

-  Cliquez sur TESTER pour vérifier la mise à jour des nouveaux champs.

-  La liste des items ayant un champ homonyme ’plus’ sera affichée.

-  Pour supprimer les nouveaux champs ’plus’, cliquez sur Page de suppression des nouveaux champs.

-  Sélectionnez le bouton radio Supprimer les nouveaux champs ’plus’ et cliquez sur Valider.

-  Recommencez au besoin autant de fois que vous le voulez.

Si vous avez d’autre champs extra, vous constaterz qu’il continueront à fonctionner comme avant. On peut très bien utiliser les champs extras avec ou sans un champs homonymes dans une table de la base de données.

Si vous aviez des champs extra que vous désirez synchroniser avec un nouveau champs que vous avez préalablement crée, la fonction de Mise a jour du fichier test les auras synchronisé en même temps que les champs ’plus’.

Comment désinstaller les champs homonymes

Pour conclure le test :
-  videz dans l’interface privée les champs extras ’plus’ dans lesquels vous avez entré des données.
-  supprimer ce qui vous avez ajouté dans les fichiers mes_fonctions.php3 et mes_options.php3.

Si vous ne voulez pas conserver la gestions des champs homonymes, remplacez simplement les fichier inc_extras.php3 et mot_edits.php3 par leur version originale que vous aurez pris le soin de conserver.

À venir

Plusieurs exemples d’avantages à l’utilisation des champs homonymes.

Notes

[1Pour les besoins de l’exercices nous parlerons des “champs EXTRA” bien qu’en réalité, il n’y ait qu’un champs EXTRA possible par table avec plusieurs pseudos champs.
Voir Les champs extra sur Spip-Contrib

[2Voir sur SPIKINI NouveauCompilo

[3Il est préférable de toujours conserver une copie des fichiers originaux du coeur de SPIP avant de les modifier. On pourra ainsi facilement annuler l’opération en cas de problème.

[4Seul un administrateur identifié pourra créer ou supprimer des champs par ce fichier.

Dernière modification de cette page le 15 novembre 2006

Discussion

7 discussions

  • un plugin qui permet d’ajouter d’autres types d’article (ecrire un article, ecrire un article2, ecrire un article3...) que l’on peut personnaliser grâce au plugin champ homonyme serait vraiment excellent comme ca on pourrait definir quel champ afficher suivant le type d’article qu’on veut ecrire comme le plugin CCK pour drupal

    Répondre à ce message

  • 1
    Jean-Marc

    J’ai mis en place de nouveaux champs sous spip pour un site multilingue utilisant la balise multi.
    Sur le site public les nouveaux champs sont affichés en entier sans faire la sélection en fonction de la langue. Je me retrouve alors avec par exemple texte en français sur le site public.

    Est-il possible de gerer l’affichage des langues pour les champs supplémentaires ?
    Les champs sont créés dans la BD et déclarés dans le fichier mes_fonctions.php3.

    • Jean-Marc

      J’ai mis en place les champs homonymes et j’utilise les balises multi pour le multilinguisme.
      Dans l’administration tout se passe bien mais sur le site public je me retrouve lors de l’affichage des champs avec les balise ... que se soit en affichant #PLUS ou [(#EXTRA|extraplus)] .

      Pour le champs #TITRE le site public ne m’affiche que le texte de la langue courante.

      Quelqu’un a t-il une idée pourquoi cela ne s’applique pas au nouveaux champs ?

    Répondre à ce message

  • 10

    J’ai publié une version plugin de la contrib sur la ZONE ainsi qu’un article sur MonSiteSpip.com

    • Le plugin a changé à nouveau pour SPIP 1.9.1 : http://monsitespip.com/spip.php?article7
      Le plufin est aussi disponnible sur la zone.

    • Bon, il est temps pour moi de te dire merci. Cette gestion des champs homonymes est vraiment le complément souvent indispensable des champs extra (permet de trier suivant le nouveau champ, indexation pour le moteur de recherche devient possible, etc).

      Et maintenant la version plugin !! ouahoooooooooooou !

      Bon, une petite remarque : le fichier plugin.xml est bizarre. Je l’ai refait version super basic (voir Réaliser un premier plugin http://www.spip.net/fr_article3448.html)

      A part cela, je confirme, ton plugin marche sous SPIP 1.9.1 rev [7502]

      encore merci et bravo.
      Pierre

    • Errata sur le post du 11 oct : le fichier ’plugin.xml" n’est pas du tout bizarre. Il marche même très bien.

      J’ai fait une ’erreur’ en téléchargeant le fichier. Fausse alerte donc...

    • Je me disais aussi... ;-)

    • bonjour,

      J’ai un petit souci. J’ai installé le plugin pour SPIP 1.9.1 et activé dans interface privée
      J’ai modifié le fichier « mes_options_homonymes.php » avec un champ « adresse ».
      J’ai ajouté un champ dans la table article avec le même nom.
      Mais je n’ai pas de champ nouveau dans l’interface de rédaction de l’article. J’ai bien sûr vidé le cache de Spip et du navigateur, relancé la page, etc....

      Qu’ai-je oublié ?

      PS : j’ai les plugins : FCKeditor et Agenda actifs.

    • La plugin n’influence en rien l’utilisation des champs extras.

      Ton problème est dans la déclaration de tes champs extras. La procédure est celle de base. Tu peux consulter différents articles sur le sujet comme celui-ci : http://www.spip-contrib.net/Les-champs-extra.

    • J’avais lu cet article. Mais je ne comprends pas comment tu déclares tes champs extra, il me semblait que la déclaration dans mes_options.php était suffisante. C’est d’ailleurs je que j’ai fait. Je ne vois pas ce qui manque.

    • Que ce soit pour utiliser avec les champs homonymes ou non, il n’y a pas de différence dans la déclarations des champs extras.

      Je t’invite, si tu le désires, à communiquer avec moi directement si tu désires de l’aide sur leur déclaration. Je pourrais mieux t’aider !

      iago@iago.ca

    • Salut iago,

      Aprés redémarrage du serveur, les champs sont apparus. Mystère.
      J’ai bien les champs dans le formulaire de saisie, et ils sont bien liés avec les champs de la base, du moins dans le sens formulaire vers base de données.
      Dans le sens inverse (j’ai déjà des données dans la base par importation) j’ai du bidouiller une procédure pour initialiser le champ extra à partir des nouveaux champs, pour que les données apparaissent dans le formulaire.
      Maintenant je vais voir pour déplacer les champs de saisie afin qu’ils apparaissent au début et non à la fin.

      Merci quand même pour ta proposition d’aide

    • Je m’intéroge lorsque tu dis

      j’ai du bidouiller une procédure pour initialiser le champ extra à partir des nouveaux champs

      car avec la dernière version du plugin pour 1.9.1, la mise à jour des champs extra par les champs homonymes est possible.
      As-tu télécharger la version pour 1.9 ou pour 1.9.1 ?

    Répondre à ce message

  • 2

    Salut

    contribution testée sur spip 1.9 et ça marche parfaitement !

    je suis face à un dilemne : champs extra ou nouvelle table ???

    je m’explique.

    ma boucle doit présenter une série d’établissements (nom/adresse/coordonnées/texte de présentation...) choisis en fonction d’un ou plusieurs critères de recherche précis (l’idéal : utiliser des regexp). -> nouvelle table avec le nouveau compilo : c’est du beurre !

    oui mais non.

    tout va bien jusqu’au moment où il faut pouvoir renseigner la table par l’interface d’admin et là : créer le formulaire d’édition c’est au dessus de mes forces... et la simplicité de la reconnaissance des nouvelles tables perd tout son intérêt.

    je me rabats donc sur les champs extgra qui offrent l’avantage d’une interface de gestion répondant parfaitement à mes besoins... mais patatras, pas possible d’utiliser des critères sur les extras dans mes boucles !

    que faire ?

    • Je me suis trouvé devant le même dilemme. J’avais de toutes façons opté pour des tables, ce qui est plus souple à mon avis. Mais éditer des formulaires pour l’édition, surtout avec le nouveau compilo, bonjour la galère...

      J’utilise cette contrib (que je fais tourner sur une 1.9) pour résoudre exactement ce problème. J’ai un poil édité inc/extra.php pour avoir des critères d’affichages et d’édition plus fins que 0minirezo (presque tous mes auteurs sont admin restreints). La fonction extra_homonyme, je l’ai placé dans mes_options pour ne pas modifier inc/extra.php trop lourdement (je suis en SVN, inch’Allah les petites modifs suivent).

      J’ai aussi modifié les ((isset($table[$champ])) par des (array_key_exists($champ,$table)) parceque des champs pouvaient être vides (je considère ça comme un bug de cette contrib) !

      Bref, super contrib vraiment très très utile.

    • Juste ! array_key_exists($champ,$table)) est préférable à (isset($table[$champ])), en effet.

      J’ai appliqué cette proposition de modification sur la version du plugin champs_homonymes pour SPIP 1.9.1 dans la zone et sur Mon Site Spip.

      Merci

    Répondre à ce message

  • 5

    Pour ceux qui désirent tester cette contrib sous une des versions béta de Spip 1.9, le extra.php n’est plus dans le même dossier et ne porte plus la même extension. Il a également été modifier depuis la version 1.8.3. Le fichier mes_option.php a aussi changé d’extension.

    -  Pour le fichier extra.php : http://aide.iago.ca/IMG/txt/extra.php.txt
    -  Pour le fichier mes_options.php : http://aide.iago.ca/IMG/txt/mes_options.php.txt

    J’ai testé et les champs homonymes sont bien mise à jour.

    Pour les fichiers de tests de cette contrib, c’est une autre histoire... Ils sonts à revoir !

    • Bonjour, mon message ne concerne pas directement cette contrib, mais vous semblez bien connaitre les champs extras alors je me permet : J’ai installé spip 1.9 avec la spip list, et, sur le formulaire d’inscription au forum, je souhaite rajouter des champs extras pour l’inscription à la mailing list, seulement probléme, le fichier « formulaire_inscription.php » a changé et impossible de trouver comment insérer les données récupérer dans le formulaire dans la base. Précisément ce serait savoir quel code est a ajouter dans ce fichier pour récupérer mes champs extras.

    • Bonjour Matthieu,

      Malheureusement, de mon côté, je ne saurais t’aider pour ça. ;-(

    • J’ai également poster le message dans l’article concernant les champs extras pour des auteurs, mais il n’y pas de réponse non plus. Il semble que les champs extras sont maintenus dans la version 1.9, car quand on les déclarent ils aparaissent dans la zone d’administration et dans les formulaires, mais comme le code a changer, il faut revoir légerement leur intégration car le formulaire ne les traitent pas et le code correspondant a la 1.8 ne fonctionne plus. La grosse dificulté c’est que pour faire les test il faut avoir cinquante adresse mails ou alors installer plein de spip. C’est dommage que le formulaire d’inscription ne permette pas de demander plus d’info, ne serais ce que le nom complet ou le lieux de résidence. Cela permettrais de rentrer en contact avec les personnes inscrites en fonction de leur lieu ou intêret, ou autre, sutout quand ils sont auteurs c’est un minimum. Je pourrais installer la version précedente mais le probléme c’est qu’il y a des modifications de la 1.9 qui m’interresse. En tout cas merci de la réponse !

    • Finalement, j’ai trouvé une solution bien plus simple, il suffit d’utiliser le formulaire abonnement de la spip-list et d’y rajouter les champs extras que l’on souhaite a la fois dans le formulaire et dans le fichier spip-list_mes_options, et ça marche trés bien. Dans la configuration de la spip list il faut mettre « inscrire comme visiteur » et le formulaire génere le code d’accés en mème temps que l’abonnement.
      Le tout vous fait un petit formulaire sympa qui permet de demander le nom et d’autre info et qui propose l’inscription a la liste de difusion tout en donnant l’accés au forum ou même comme auteur si vous voulez.

    • Pourrais tu me donner plus d’explications sur ton truc ? Je dois mettre ca en place rapidement, à savoir l’inscription dun nouveau rédacteur mais avec plusieurs champs supplémentaires (un grand formulaire).

      Suis aussi dans le même cas que marco...ca aurait été sympas d utiliser de nouvelles tables plutôt que des champs extra.

      Le top à la fin ca serait que le formulaire dinscription on le recoive aussi par e-mail et qu’on puisse l’exporter par csv comme dans le plugin « forms » ! Possible selon vous ???

    Répondre à ce message

  • 2

    quelqu’un a testé cette contrib sous spip 1.8.3 ?

    • Il n’y a pas eu de modification au fichier inc_extra.php3 sur Spip1.8.3

      Oui, ça fonctionne.
      Si tu veux lire l’article original que j’ai pu mettre à jour, c’est ici : http://aide.iago.ca/article.php3?id_article=210

    • Ca fonctionne parfaitement sous spip 1.8.3. Vraiment d’enfer cette contrib !

      En plus l’installation est simplissime (je n’avais pas besoin d’étendre la tables des mots-clés).

      La procédure est très claire Iago. Merci.

    Répondre à ce message

  • 2

    ça marche du feu de dieu ! (testé sur 1.8.2e sur free).
    Entre les champs extra et balises supplémentaires, le meilleur des deux mondes... :-)

    Merci pour cette contrib !

    • C’est super. Je suis heureux que son implémentation ait bien été pour toi.

      Est-ce que les explications sont claires et faciles à suivre ? C’est un point important pout moi.

    • oui, très clair. Bon, j’avoue que dans un premier temps, j’ai juste installé le script et essayé ;-)

      Mais quand j’ai vu que ça marchait, j’ai approfondi. En tout cas, celà permet d’espérer que spip gère un jour nativement des champ personnalisé avec les avantages des champ extras et des champs personnalisé du nouveau compilo.

      good work.

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom