Quand un tableau d’id_objet est transmis dans l’url, le formulaire reconnait l’objet et id_objet vaut 1.
Un exemple tout bête :
spip.php?page=recherche&recherche=&id_article[]=21&id_article[]=4
(Ca marche aussi avec plusieurs types d’id_objet[])
Le formulaire d’admin reçoit alors dans le #ENV id_article=1 et objet=article, et fait un lien vers l’article 1.
Je ne sais pas s’il faut patcher sur urls_liste_objets de inc/urls ou sur admin_objet de balise/formulaire_admin ou ailleurs ? En tout cas c’est spécifique à formulaire_admin, les autres squelettes reçoivent bien les bonnes infos.
Dans admin_objet avec le test supplémentaire sur $GLOBALS[‘contexte’][$_id_type] n’est pas un tableau, ça semble ne rien casser :
function admin_objet() { include_spip(‘inc/urls’); $env = array(); $trouver_table = charger_fonction(‘trouver_table’,‘base’); $objets = urls_liste_objets(false); $objets = array_diff($objets, array(‘rubrique’)); array_unshift($objets, ‘rubrique’); foreach ($objets as $obj) { $type = $obj; if ($type==objet_type($type,false) AND $_id_type = id_table_objet($type) AND isset($GLOBALS[‘contexte’][$_id_type]) + AND !is_array($GLOBALS[‘contexte’][$_id_type]) …