[spip-dev] champs generiques dans un article

Salut!

J'ai un projet un peu fou que j'ai l'intention d'implanter dans SPIP.

Il s'agit d'un site qui contiendra un répertoire de pratiques de
médias alternatifs. Chaque entrée au répertoire doit être composée de
presqu'une vingtaine de champs (localisation, technologie, etc).

Puisque les "articles" de SPIP fournissent un nombre discret et limité
de champs (titre, soustitre, surtitre, etc), il faudra que j'écrive
nécessairement du nouveau code.

L'idée générale est donc d'étendre les fonctionalités du concept
d'article pour y ajouter un nombre arbitraire de champs qui serait
accessibles au travers des squelettes de la même façon que les champs
déjà existants le sont déjà: #TITRE, #TEXTE, mais donc aussi
#NOUVEAU_CHAMP1, #NOUVEAU_CHAMP2, où ces champs ne sont pas
"hardcodés" dans le code PHP ou dans la DB, mais choisis soit à
l'installation ou dans l'interface d'administration de SPIP.

J'ai pensé faire ceci de façon la plus générique possible, et rendre
possible la création d'un nombre arbitraire de champs pour les
articles, pour que ceci puisse être réutilisé par d'autres membres de
la communauté.

Deux approches sont alors possibles.

1- les champs sont insérés dans le #TEXTE de l'article, dans un format
défini et facile à extraire (e.g. PHP serialize() ou un format simple
"champ: valeur\n").

2- les champs "génériques" sont carrément créées dans la BD MySQL, à
l'installation

Le problème avec la seconde approche est que l'on ne veut peut-être
pas que ces champs soient disponibles pour tous les articles mais
seulement un sous-ensemble des articles, par exemple seulement ceux
d'une rubrique. Dans ce cas, la structure de la BD est alourdie sans
raison, et on penche donc vers la première approche.

Mais la première approche n'est pas très propre, et elle risque de
foutre en l'air la compatibilité avec les "vrais" champs #TEXTE de
SPIP.

Étant dans un dilemme difficile, je cherche donc conseil chez les
gourous de SPIP. Avez-vous déjà envisagé une situation semblable?
Quels fichiers de l'architecture de SPIP seraient les plus touchés par
l'une ou l'autre des approches?

Serait-il mieux de créer carrément un nouveau type de "document"
(e.g. "répertoire"), au lieu d'utiliser les articles pour ceci? Est-ce
que ceci serait plus difficile à implanter?

Et surtout: seriez-vous réceptifs à intégrer ce nouveau code à SPIP si
il fonctionne correctement? :slight_smile:

Merci de vos judicieux conseils,

A.

Hello,

As-tu envisagé l'utilisation des mots-clés correspondant à ces champs au lieu de les "hardcoder" ? Je pense que de cette façon tu dois pouvoir associer toutes les infos que tu veux à tes articles sans aucune modification de spip.

a+

The Anarcat wrote:

J'ai déjà pratiqué cela et l'utilisation des mots clés si elle est
judicieuse dans le sens où elle répond au besoin, elle est aussi désastreuse
dans le sens ou SPIP n'est pas fait pour gérer un grand nombre de mots clés.
Par exemple, sélectionner une 20aine de mots clés pour un article est très
fastidieux (cela fait 20 de chargement de pages). Si vous n'avez pas de
patiente ou une connexion par modem classique, c'est à éviter....

A plus!
Indy (ICQ#:36894497)
N'oubliez pas de visiter notre site: HTTP://www.kikepartantpour.com

"Mohammad" <mghoniem@ifrance.com> a écrit dans le message de news:
3F333406.4070205@ifrance.com...

De plus, le contenu des champs se doit d'être libre. Autrement dit,
pour implanter ce que je veux avec des mots-clés, il faudra créer un
nouveau mot clé à chaque nouvelle fiche!

Les champs génériques sont des champs d'entrée libre et les mots clés
ne sont donc pas appropriés.

Merci quand même pour la suggestion. :slight_smile:

A.

Bonsoir,

Je souhaiterai mettre un bandeau (logo) sur toute la longueur, tout en
haut des pages, d'un site, le problème est que ça s'affiche...en arrière
plan :frowning:

Comment faire ?

Merci !!!

En posant la question sur la liste "spip". La présente liste est "spip- dev", consacrée aux questions de développement du systÚme SPIP lui-même. Merci.

Amicalement,
ARNO*

Oh youpi. Il semble que j'ai fait tout ça pour rien.. C'est déjà
implanté dans la version CVS grâce à inc_extra.php3. :frowning:

J'aurais dû vérifier avant, mais quelqu'un aurait pu m'aviser, quand
même. Tout ce travail pour rien.. :slight_smile:

A.

ca ete fait, et le jour meme, cf ici
http://listes.rezo.net/archives/spip/2003-08/msg00323.html, et les threads
associés
mais la reponse a ete basculé sur spip-rezo, une erreur apparamment de mon
fait, desole ... moralité : s'inscrire aux 2 listes quand on veut suivre de
pres

Nicolas RIQUOIS
http://www.pucroller.com

Aarggh.. ça suffit les listes!!! C'est déjà assez d'avoir à suivre la
liste de mon OS, de mons CMS, de mon serveur mail... S'il fallait
doubler ça de toutes les listes -user de ces logiciels, je survivrai
pas au flood de emails...

En tout cas, ça marche bien, le truc inc_extra.php3. Merci à quiconque
a implanté ça, ça m'assure au moins de ne pas avoir à me battre pour
entrer ça dans SPIP. :slight_smile:

A.

Je vais probablement faire des nouveaux développements sur ce code,
avec qui dois-je me coordiner? Qui a implanté inc_extra.php3?

Merci,

A.

En consulyant le CVSweb il s'agirait d'Antoine :
http://rezo.net/spip-cvs/ecrire/?cvsroot=SPIP