Enfants d'un objet sous forme de squelette
Quand un objet est enfant direct d'un autre, actuellement pour afficher la liste des enfants et le bouton d'ajout sur les vues des parents, ça se fait entièrement en php via le pipeline affiche_enfants.
Exemple :
function plugin_affiche_enfants($flux) {
if (
$e = trouver_objet_exec($flux['args']['exec'])
and $e['edition'] === false
) {
$id_objet = $flux['args']['id_objet'];
if ($e['type'] === 'patate') {
$flux['data'] .= recuperer_fond(
'prive/objets/liste/frites',
array(
'titre' => _T('frite:titre_frites'),
'id_sport' => $id_objet
)
);
if (autoriser('creerfritedans', 'sports', $id_objet)) {
include_spip('inc/presentation');
$flux['data'] .= icone_verticale(
_T('frite:icone_creer_frite'),
generer_url_ecrire('frite_edit', "id_patate=$id_objet"),
'frite-24.png',
'new',
'right'
) . "<br class='nettoyeur' />";
}
}
}
return $flux;
}
Ors maintenant dans l'échaffaudage, il est prévu d'inclure automatiquement les squelettes prive/objets/contenu/objet-enfants s'ils existent :
[(#OBJET|concat{-enfants}|trouver_fond{prive/objets/contenu/}|oui)
[(#SET{enfants,[(#INCLURE{fond=[prive/objets/contenu/(#OBJET)-enfants],id_objet,env})]})]
]
Il me semble que dans le plugin qui gère l'objet, il vaudrait mieux fournir directement ce squelette plutôt que de passer par le pipeline.