[SPIP Zone] spip 2.0.5 et extra2

Hello, voici le besoin : soit un site national, contenant des regions
( une region egal une rubrique) . Pour chaque region ( voir certaines
villes de certaines regions ) Il faut une fiche contact avec un
certain nombre de champs personnalise .

J ai pense a mettre ses infos dans des champs suplementaires d un
article grace a extra2 ... MAIS le probleme est que je ne veux pas ses
champs supplementaires sur TOUT les articles

Lorsqu on ajoute les champs extra on choisit un type (article rubrique
... ) Serait I'll possible de creer un nouveau type ? Ou y a t Il un
moyen plus simple ou judicieux ?

Merci

Ben. a écrit :

Lorsqu on ajoute les champs extra on choisit un type (article rubrique
... ) Serait I'll possible de creer un nouveau type ? Ou y a t Il un
moyen plus simple ou judicieux ?

Lire la doc et le forum associé.

--
MM.

Matthieu Marcillaud a écrit :

Ben. a écrit :

Lorsqu on ajoute les champs extra on choisit un type (article rubrique
... ) Serait I'll possible de creer un nouveau type ? Ou y a t Il un
moyen plus simple ou judicieux ?

Lire la doc et le forum associé.

Bon, je plaisentais... j'explique pour la X-ième fois le concept...

1) il n'est pas possible - pour l'instant - d'ajouter des types d'objets gérés dans le formulaire, parce qu'ils sont écrits en dur

2) pour qu'un type d'objet puisse être géré, il faut qu'il passe par les bons pipelines. SPIP fait passer les #FORMULAIRE_EDITER_* dans ces pipelines, il faut donc que l'objet soit construit pareil (ie. appeler les fonctions editer/ et action/ du core de SPIP)

3) pour limiter un champ à certains articles ou rubrique, il faut utiliser les autorisations qui sont dispo pour chaque champ :

    autoriser_nomtable_nomchamp_voirextra()
    autoriser_nomtable_nomchamp_modifierextra()

Exemple:
pour un article, limiter à la rubrique 9 uniquement..
Tu pourrais faire avec le secteur pareillement.
-------

function autoriser_article_monchamp_modifierextra_dist($faire, $type, $id, $qui, $opt){
  $id_rubrique = $opt['contexte']['id_rubrique'];
  if (!$id_rubrique) {
    $id_rubrique = sql_getfetsel("id_rubrique", "spip_articles", "id_article=".intval($id));
  }
  if ($id_rubrique == 9) {
    return true;
  }
return false;
}

function autoriser_article_monchamp_modifierextra_dist($faire, $type, $id, $qui, $opt) {
  return autoriser('modifierextra', $type, $id, $qui, $opt);
}

--
MM.

Matthieu Marcillaud a écrit :

function autoriser_article_monchamp_modifierextra_dist($faire, $type, $id, $qui, $opt) {
    return autoriser('modifierextra', $type, $id, $qui, $opt);
}

La seconde fonction est bien sûr 'voirextra' et non pas 'modifierextra' une seconde fois !
function autoriser_article_monchamp_voirextra_dist(

--
MM.

pour un article, limiter à la rubrique 9 uniquement..
Tu pourrais faire avec le secteur pareillement.

Ah c'est astucieux ; y a bien quelqu'un qui va nous greffer un CFG là-dessus ?

-- Fil

2009/3/13 Fil <fil@rezo.net>:

pour un article, limiter à la rubrique 9 uniquement..
Tu pourrais faire avec le secteur pareillement.

Ah c'est astucieux ; y a bien quelqu'un qui va nous greffer un CFG là-dessus ?

-- Fil

Idéalement il faudrait ajouter un 3e élément à ce plugin permettant de
définir les champs extras visibles sur un scope donné . Problème la
nature du scope est variable suivant le type d'objet (branche pour
article , rubrique , breve mais par pour auteur, mots clefs ...)

mes 2 sous de réflexion "matinale"
a+
------------------------------
Arnaud