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.