[How to] Forms & tables

Bonjour,

Je suis plutôt habituée à bosser directement sur mysql avec des requêtes
sql dans du php, à la truelle, aussi, je n'arrive pas bien a saisir la
logique d'utilisation de forms & tables.

J'aimerais bien trouver un tutoriel, un how to, un trucmuche pas à pas
pour comprendre et m'approprier l'outil, mais même après un tour sur
spip-contrib, mes deux neurones n'ont pas réussis à se toucher.

Bref, où puis-je trouver les principes d'utilisation de ce plugin, quitte
à en rédiger un how to plus détaillé ici au fur et à mesure que j'avance
dans mon projet?

--
Cordialement,
Agnès
-------------
Ubuntu 7.04

Le Monolecte a écrit :

Bonjour,

Je suis plutôt habituée à bosser directement sur mysql avec des requêtes
sql dans du php, à la truelle, aussi, je n'arrive pas bien a saisir la
logique d'utilisation de forms & tables.

J'aimerais bien trouver un tutoriel, un how to, un trucmuche pas à pas
pour comprendre et m'approprier l'outil, mais même après un tour sur
spip-contrib, mes deux neurones n'ont pas réussis à se toucher.

Bref, où puis-je trouver les principes d'utilisation de ce plugin, quitte
à en rédiger un how to plus détaillé ici au fur et à mesure que j'avance
dans mon projet?

Bonjour,

je n'ai pas l'impression qu'il existe autre chose que l'article sur Spip-Contrib.
Après, comme on est un paquet a avoir essayer de comprendre (et pour certain-e-s) à avoir compris un certain nombre de choses, y'a pas mal d'infos grâce à la liste (en direct ou dans les archives)

courage, ça en vaut le coup !

--
Mathilde
http://desmareesmontantes.free.fr

"L'homme n'est pas une marchandise comme les autres." Nicolas Sarkozy, 9 novembre 2006, Saint Etienne

Le Thu, 20 Sep 2007 17:26:23 +0200, Mathilde a écrit:

Bonjour,

je n'ai pas l'impression qu'il existe autre chose que l'article sur
Spip-Contrib.
Après, comme on est un paquet a avoir essayer de comprendre (et pour
certain-e-s) à avoir compris un certain nombre de choses, y'a pas mal
d'infos grâce à la liste (en direct ou dans les archives)

courage, ça en vaut le coup !

Merci Mathilde pour tes encouragements, mais pour l'instant, j'ai beau
fouillé les archives, ce n'est pas la fête du slip. Bon, reste plus que le
bon vieux essai-erreur...

--
Cordialement,
Agnès
-------------
Ubuntu 7.04

Mathilde <mathilde <at> lbn.ras.eu.org> writes:

Le Monolecte a écrit :
>...

Bonjour,

je n'ai pas l'impression qu'il existe autre chose que l'article sur
Spip-Contrib.
Après, comme on est un paquet a avoir essayer de comprendre (et pour
certain-e-s) à avoir compris un certain nombre de choses,

C'est dommage de pas en faire profiter tout le monde avec un tuto justement !

y'a pas mal
d'infos grâce à la liste (en direct ou dans les archives)

courage, ça en vaut le coup !

raison de plus !
Cedric

Le Fri, 21 Sep 2007 11:31:55 +0000, cedric a écrit:

Mathilde <mathilde <at> lbn.ras.eu.org> writes:

Le Monolecte a écrit :
>...

Bonjour,

je n'ai pas l'impression qu'il existe autre chose que l'article sur
Spip-Contrib.
Après, comme on est un paquet a avoir essayer de comprendre (et pour
certain-e-s) à avoir compris un certain nombre de choses,

C'est dommage de pas en faire profiter tout le monde avec un tuto
justement !

y'a pas mal
d'infos grâce à la liste (en direct ou dans les archives)

courage, ça en vaut le coup !

raison de plus !
Cedric

C'est dans cette optique communautaire que j'ai ouvert ce fil.

Ma problématique (qui doit être celle de pas mal de monde) :tenir un
annuaire sur mon site Spip.
Certes un premier travail a déjà été fait sur Spip-contrib sur le même
thème (Annuaire avec Forms & Tables - SPIP-Contrib), mais JDW
zappe un peu allègrement la partie "structure" du travail pour passer
assez rapidement à la couche "traitement" et "interface".

Donc, je repars à 0

Règles de l'annuaire.
J'ai l'habitude de la modélisation Merise, mais là, on doit simplifier la
démarche au maximum pour coller à l'outil.

Contraintes : Il y aura 3 annuaires au moins -> Entreprises, Associations
et Administration. Chaque entité ne peut appartenir qu'à un type et un
seul (mais on va avoir un soucis avec les sociétés d'économie mixte...).
Chaque entité appartient à un secteur d'activité et un seul. En cas de
chevauchement, on choisira un secteur dominant sur l'autre (plus vente ou
plus production pour une entreprise qui commercialise directement sa
production?)
Chaque entité n'aura qu'une et une seule adresse, un et un seul contact.
En cas de filiales, chaque filiale ouvrira une fiche, la maison-mère aussi
(on parle donc en terme d'établissements, pas de sociétés). Chaque entité
aura un contact et un seul.

Premier soucis : la relation entre les types de structures et les secteurs
d'activité. Soit on fait une liaison en cascade, mais ça peut devenir
gonflant en traitement, soit on décide de tenir ces deux informations
seulement liées à l'entité de base.

Structure de l'annuaire

3 tables
1. Table "Annuaire", contenant chaque fiche de chaque entité 2. Table
"Type de Structure", avec un seul champ de dénomination et 3
enregistrements : Administration, Association, Entreprise 3. Table
"Activité" avec un seul champ de dénomination et autant d'enregistrements
que de secteurs d'activité.

La table Annuaire comprend les champs suivants : Dénomination (raison
sociale) obligatoire Description (champ texte libre)
Site web (champ url)
Téléphone principal (fixe de préférence) obligatoire Fax
Adresse
Complément d'adresse
code postal - obligatoire
Ville - Obligatoire
---- Contact ---
Nom
Prénom
Poste
Courriel
GSM

+ 2 champs de jointure
Un champ activité avec la table des secteurs d'activité Un champ type avec
la table des types de structure

Saisie en interface privée
On saisit d'abord les tables destinées à fournir des listes de choix :
activité et structure.

Après pas mal d'échecs, j'ai compris que les champs de jointure devaient
être facultatifs pour permettre la validation de la saisie de la fiche
annuaire.

Voilà pour l'instant où j'en suis.
Il paraît qu'il y a des soucis pour que les rédacteurs puissent saisir des
fiches côté privé.
Comme je suis admin, j'aimerais savoir comment mettre à disposition des
formulaires de saisie pour les rédacteurs, mais côté privé.

Bon, je continue
Suite au prochain épisode.

--
Cordialement,
Agnès
-------------
Ubuntu 7.04

Le 20 sept. 07 à 17:38, Le Monolecte a écrit :

Merci Mathilde pour tes encouragements, mais pour l'instant, j'ai beau
fouillé les archives, ce n'est pas la fête du slip. Bon, reste plus que le
bon vieux essai-erreur...

C'est comme ça que j'ai fait, et ça n'est pas simple. Par exemple, j'ai laissé tomber le sondage, parce que les résultats s'affichent deux fois...

Je suis preneur du tuto, et si je trouve des choses à y ajouter, je mettrai mon grain de sel.
--
Frédéric Urbain
Webmestre du site http://www.chefprestige.com

Le Monolecte a écrit :

Ma problématique (qui doit être celle de pas mal de monde) :tenir un
annuaire sur mon site Spip.
Certes un premier travail a déjà été fait sur Spip-contrib sur le même
thème (Annuaire avec Forms & Tables - SPIP-Contrib), mais JDW
zappe un peu allègrement la partie "structure" du travail pour passer
assez rapidement à la couche "traitement" et "interface".

alors pour info, mais c'est pas documenté (et je ne prendrai pas le temps de le faire...), il traine sur la zone un plugin profil_etendu.

ce plugin ajoute une(des) table(s) avec un id_auteur comme primary key (comme ca tu peux faire la jointure).
les champs se declarent à la maniere des extras et il y a un formulaire public permettant à un auteur de modifier son profil (#FORMULAIRE_PROFIL_ETENDU).
(rien dans l'espace privé, il n'y a que l'utilisateur qui ait acces à son profil)

comme c'etait un peu trop rigide, j'ai ajouté un type de champ "radio_form" : un bouton radio permettant de choisir entre plusieurs formulaires de form&table.
tu peux donc faire par exemple :
$GLOBALS['enum_conf']=array(
        "type" => array(
    "_profil_particulier" => '<:profil:particulier:>',
    "_profil_entreprise" => '<:profil:entreprise:>',
    "_profil_association" => '<:profil:association:>'
    )
);

$GLOBALS['champs_etendus']=array(
  'profil_etendu' => array (
  'type' =>'radio_form|profil_propremulti|<:profil:type:>|'.join(array_values($GLOBALS['enum_conf']["type"]),",").'|'.join(array_keys($GLOBALS['enum_conf']["type"]),',')
);

));

quand je selectionne entreprise, j'aurais le formulaire dont le titre est _profil_entreprise à remplir (à mettre en unique et modifiable).

Pour pouvoir inclure directement un formulaire (pas au choix), il y a le type "hidden_form" :

'profil' => "hidden_form|textebrut|_profil" :
$GLOBALS['champs_etendus']=array(
'profil_etendu' => array ('profil' => "hidden_form|textebrut|_profil"
));

la, tout le monde a le formulaire dont le titre est _profil

voila, voila, à regarder avant de réinventer la roue je pense.

@++

Je viens d'effacer mon dernier message, celui qui fait 6 pieds de long..
si quelqu'un pouvait me répondre en le "quotant", je pourrai remettre la
main dessus.

Sinon : 2 jointures de tables sur une seule table, ça ne marche pas en
saisie direct dans les tables côté privé.
http://www.flickr.com/photos/monolecte/1417369889/

Si je modifie une jointure, l'autre sélectionne automatiquement le même
champ. Et au final, les deux champs joints affichent toujours la même
valeur : http://www.flickr.com/photos/monolecte/1417369951/in/photostream/

Là, je ne vois pas comment faire...

--
Cordialement,
Agnès
-------------
Ubuntu 7.04

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le Monolecte a écrit :

Je viens d'effacer mon dernier message, celui qui fait 6 pieds de long..

http://permalink.gmane.org/gmane.comp.web.spip.user/116144

si quelqu'un pouvait me répondre en le "quotant", je pourrai remettre la
main dessus.

...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFG8+Ea18/WetbTC/oRAlw6AJwI0YZUO6y/yYBdEFRNqyx9g1eUngCfWXY8
I3LhI7phswQM2xSjmTBWsZs=
=VcH9
-----END PGP SIGNATURE-----

Le Monolecte <monolecte <at> gmail.com> writes:

Je viens d'effacer mon dernier message, celui qui fait 6 pieds de long..
si quelqu'un pouvait me répondre en le "quotant", je pourrai remettre la
main dessus.

Sinon : 2 jointures de tables sur une seule table, ça ne marche pas en
saisie direct dans les tables côté privé.
jointure2.png | Les deux champs de jointure tels qu'ils se p… | Flickr

Si je modifie une jointure, l'autre sélectionne automatiquement le même
champ. Et au final, les deux champs joints affichent toujours la même
valeur : jointure1.png | Les deux colonnes surlignées en jaunes repré… | Flickr

Là, je ne vois pas comment faire...

Pour ce type de besoin j'ai plutot tendance à utiliser un groupe de mot clé. Et
quand je veux sortir toutes les donnees d'une categorie il suffit de faire un
{id_mot} sur la boucle FORMS_DONNEES
Cedric

Le Fri, 21 Sep 2007 19:25:49 +0000, cedric a écrit:

Le Monolecte <monolecte <at> gmail.com> writes:

Je viens d'effacer mon dernier message, celui qui fait 6 pieds de
long.. si quelqu'un pouvait me répondre en le "quotant", je pourrai
remettre la main dessus.

Sinon : 2 jointures de tables sur une seule table, ça ne marche pas en
saisie direct dans les tables côté privé.
jointure2.png | Les deux champs de jointure tels qu'ils se p… | Flickr

Si je modifie une jointure, l'autre sélectionne automatiquement le même
champ. Et au final, les deux champs joints affichent toujours la même
valeur :
jointure1.png | Les deux colonnes surlignées en jaunes repré… | Flickr

Là, je ne vois pas comment faire...

Pour ce type de besoin j'ai plutot tendance à utiliser un groupe de mot
clé. Et quand je veux sortir toutes les donnees d'une categorie il
suffit de faire un {id_mot} sur la boucle FORMS_DONNEES
Cedric

Bonjour Cédric
Tu parles d'affecter un mot clé entreprise, association ou administration
à chaque enregistrement?
Comment fait-on?

--
Cordialement,
Agnès
-------------
Ubuntu 7.04

Le 21 sept. 07, à 16:50, Le Monolecte a écrit :
Je viens d'effacer mon dernier message, celui qui fait 6 pieds de long..
si quelqu'un pouvait me répondre en le "quotant", je pourrai remettre la
main dessus.

salut
vu l'intérêt du dit message je viens d'en faire un copier-coller pour ouvrir une page wiki sur le sujet : "http://www.spip-contrib.net/Annuaire-professionnel-avec-Forms&quot; . Le Monolecte indique moi en privé ton pseudo sur Contrib que je puisse t'y inscrire comme auteur si tu le veux.

Cela a été l'occasion de créer une rubrique dédiée du Carnet pour les travaux sur Forms et Tables : "http://www.spip-contrib.net/Carnet-Forms-Tables&quot;\. N'hésitez pas à vous en servir en complément des échanges sur la liste pour rassembler ce qui émerge. Cela peut permettre de générer ainsi, au fil de la vie courante, les bases de nouveaux articles de doc (avantage de Gribouille, il est facile de basculer une page wiki en article "officiel", ensuite ce qui améliore sa visibilité et permet les forums et notifications).

C'est ainsi qu'on déjà généré ce qui existe sur le sujet.

@+ NicolasR

Bonjour à tous
Désolée pour ma longue absence de la liste : déménagement physique +
retrouver connexion internet + mise en stand by du projet.

Je reviens donc sur la question des annuaires sous SPIP et je
documenterai mes avancées

Je me suis inscrite sur spip-contrib.

Le Sat, 22 Sep 2007 16:02:18 +0200, nicolasriq a écrit:

Le 21 sept. 07, à 16:50, Le Monolecte a écrit : Je viens d'effacer mon
dernier message, celui qui fait 6 pieds de long..
si quelqu'un pouvait me répondre en le "quotant", je pourrai remettre
la
main dessus.

salut
vu l'intérêt du dit message je viens d'en faire un copier-coller pour
ouvrir une page wiki sur le sujet :
"http://www.spip-contrib.net/Annuaire-professionnel-avec-Forms&quot; . Le
Monolecte indique moi en privé ton pseudo sur Contrib que je puisse t'y
inscrire comme auteur si tu le veux.

Cela a été l'occasion de créer une rubrique dédiée du Carnet pour les
travaux sur Forms et Tables :
"http://www.spip-contrib.net/Carnet-Forms-Tables&quot;\. N'hésitez pas à vous
en servir en complément des échanges sur la liste pour rassembler ce qui
émerge. Cela peut permettre de générer ainsi, au fil de la vie courante,
les bases de nouveaux articles de doc (avantage de Gribouille, il est
facile de basculer une page wiki en article "officiel", ensuite ce qui
améliore sa visibilité et permet les forums et notifications).

C'est ainsi qu'on déjà généré ce qui existe sur le sujet.

@+ NicolasR

--
Cordialement,
Agnès
-------------
Ubuntu 7.10

Le Monolecte wrote:

Bonjour à tous
Désolée pour ma longue absence de la liste : déménagement physique + retrouver connexion internet + mise en stand by du projet.

Super, bon retour.

BoOz

Bonjour,

Je n'ai pas le plaisir de te connaître.
Mais c'est avec motivation que je participerai à un projet d'annuaire sous SPIP.

Inscription2 + ... ??

Stef

Le Monolecte a écrit :

Bonjour à tous
Désolée pour ma longue absence de la liste : déménagement physique + retrouver connexion internet + mise en stand by du projet.

Je reviens donc sur la question des annuaires sous SPIP et je documenterai mes avancées

--
Stéphane

Jeune Chambre Economique, Mouvement Jeunes Citoyens Entreprenants
  http://www.jce-rochefort.org - http://www.jce-poitoucharentes.org

Loisirs, arts, nature, technologie en Pays Santon
    Accueil en Charente Maritime *** http://www.team-santonum.com
    BTS Electrotechnique *** http://enselec.team-santonum.com

Bonjour Steph

Vu le manque de documentation sur le sujet, plus on sera de fous, mieux
ce sera.
Je n'ai pas les connaissances pour monter un plugin "annuaires", mais
peut-être que quelqu'un nous aidera dans ce sens.

Le Thu, 06 Dec 2007 18:21:01 +0100, Stéphane Santon a écrit:

Bonjour,

Je n'ai pas le plaisir de te connaître. Mais c'est avec motivation que
je participerai à un projet d'annuaire sous SPIP.

Inscription2 + ... ??

Stef

Le Monolecte a écrit :

Bonjour à tous
Désolée pour ma longue absence de la liste : déménagement physique +
retrouver connexion internet + mise en stand by du projet.

Je reviens donc sur la question des annuaires sous SPIP et je
documenterai mes avancées

--
Cordialement,
Agnès
-------------
Ubuntu 7.04

Le Monolecte a écrit :

Bonjour Steph

Vu le manque de documentation sur le sujet, plus on sera de fous, mieux ce sera.
Je n'ai pas les connaissances pour monter un plugin "annuaires", mais peut-être que quelqu'un nous aidera dans ce sens.

ben comme disait Cedric, il "suffit" d'utiliser F&T, avec des mots clés pour tout ce qui concerne les criteres de recherche/filtrage.
Un annuaire, c'est un formulaire "unique" et "modifiable" => chacun rempli sa fiche, avec une case à cocher obligatoire "j'ai bien lu le règlement".
tu peux faire la jointure sur spip_auteurs pour récupérer le nom, la bio et le login, mais il vaut mieux faire une fiche complète avec F&T, quitte à la préremplir en javascript au premier affichage.

mes 2 sous.
@++

Le Thu, 06 Dec 2007 18:21:01 +0100, Stéphane Santon a écrit:

Bonjour,

Je n'ai pas le plaisir de te connaître. Mais c'est avec motivation que
je participerai à un projet d'annuaire sous SPIP.

Inscription2 + ... ??

Stef

Le Monolecte a écrit :

Bonjour à tous
Désolée pour ma longue absence de la liste : déménagement physique +
retrouver connexion internet + mise en stand by du projet.

Je reviens donc sur la question des annuaires sous SPIP et je
documenterai mes avancées

En fait, je ne cherche pas vraiment un formulaire à remplir côté
utilisateurs, mais une base à remplir côté rédacteurs.
Il s'agit d'afficher 3 annuaires à la demande : entreprises du bled,
associations et numéros utiles. Donc, on dirait qu'on peut classer par
mot clé.
Ensuite chaque liste doit être triée à l'intérieur par activité :
coiffeur, chauffagiste, hôtel, etc.
Et ensuite, dans la liste, tu peux choisir de voir l'intégralité d'une
fiche.
Ça ressemble un peu au tuto, sauf qu'il y a un niveau de tri
supplémentaire.

--
Cordialement,
Agnès
-------------
Ubuntu 7.10

Le Thu, 06 Dec 2007 23:09:08 +0100, Stephane a écrit:

ben comme disait Cedric, il "suffit" d'utiliser F&T, avec des mots clés
pour tout ce qui concerne les criteres de recherche/filtrage. Un
annuaire, c'est un formulaire "unique" et "modifiable" => chacun rempli
sa fiche, avec une case à cocher obligatoire "j'ai bien lu le
règlement".
tu peux faire la jointure sur spip_auteurs pour récupérer le nom, la bio
et le login, mais il vaut mieux faire une fiche complète avec F&T,
quitte à la préremplir en javascript au premier affichage.

mes 2 sous.
@++

Bon, j'avance un peu dans mon annuaire intégré à SPIP (malgré un
torticolis que je ne souhaite pas à ma belle-mère!)

Je rappelle le principe : Trois annuaires : entreprises, associations et
services (comme services publics, administration, numéros utiles)
Et dans chacun, un tri par secteur d'activité.

Sachant qu'une partie du boulot avait été faite pad JDW dans spip-
contrib, http://www.spip-contrib.net/Annuaire-avec-Forms-Tables, j'étais
partie de là pour bâtir mon truc, mais je me suis vite retrouvée avec une
impasse puisqu'il aurait fallu lier 3 tables : l'annuaire proprement dit,
les secteurs d'activité (l'équivalent des catégories de JDW) et les types
d'annuaires. Et ça, ça ne marche pas.
Au final, j'avais tenté le coup avec juste l'annuaire et la table
catégorie et j'ai rentré en dur le nom de l'annuaire dans chaque
enregistrement : un truc pas élégant pour un rond.

Finalement, je me suis dit que ça ne marcherait jamais comme ça. Je n'ai
gardé que la table principale et j'ai décidé d'utiliser deux groupes de
mots clés, un pour chaque tri.

Déjà, pour la saisie, c'est 100 fois plus pratique.

Je détaille les champs de la table d'annuaire :
Type (mots clés)
Secteur (mots clés)
Dénomination (Ligne de texte) : pour la raison sociale, l'intitulé, c'est
un champ obligatoire
Description de l'activité (Texte)
Site Internet (Adresse de site Web)
Téléphone Principal (Téléphone)
Fax (Téléphone)
*** Adresse ***
Adresse (ligne de texte)
Complément d'adresse (Ligne de texte)
Code postal (Code postal)
Ville (Ligne de texte)
*** Contact ***
Nom (Ligne de texte)
Prénom (Ligne de texte)
Courriel (Adresse e-mail)
Téléphone mobile (Téléphone)

Les deux groupes de mots clés permettent de trier l'affichage
Type : Entreprises, Associations, Services... permet de trier les données
en 3 annuaires
Secteur : permet de trier à l'intérieur de chaque annuaire en fonction du
secteur d'activité

Pour l'affichage, Je me tate.
Je peux créer une rubrique Annuaire dans laquelle j'affiche un tableau de
lien vers chaque annuaire : entreprises et ses secteurs, associations et
ses secteurs, services et ses secteurs.
On clique soit sur un annuaire, soit sur un secteur d'annuaire
Je renvoie donc vers une page annuaire.html avec un lien qui fait
circuler l'ID du mot clé de type afin de trier les données
genre : www.monsite.com/spip.php?page=annuaire&type=9

La page annuaire.html sort un listing d'entreprise genre :
<BOUCLE_reponses(FORMS_DONNEES){id_mot=#type}>
<BOUCLE_nom(FORMS_CHAMPS){id_form=8}{titre=Dénomination}>
<a href="http://www.monsite.com/spip.php?
page=fiche&id_titre=#ID_DONNEE">#VALEUR</a>
</BOUCLE_nom><br>
</BOUCLE_reponses>

Et la page fiche.html récupère la variable de l'identifiant de
l'enregistrement et déploie toutes les informations.

Qu'en pensez vous? Ma syntaxe ressemble à quelque chose, comment peut-on
améliorer?

Comment générer le tableau des mots clés dans la rubrique annuaire de
manière élégante?

Je continue mon exploration en espérant qu'il y aura des suggestions
susceptibles d'améliorer encore plus ce modèle d'annuaire.

--
Cordialement,
Agnès
-------------
Ubuntu 7.10