Ajouter un nouveau bouton à côté des boutons existants

Catégories:

Bonjour,

J’ai lu que les boutons Modifier/ajouter qui s’affichent lorsque l’on édite un node sont affichés en fonction des permissions.

Dans ce cas, comment-on ajouter simplement un nouveau bouton à côté d’eux… par exemple, un bouton «Liste» qui n’a rien voir avec le node en question (enfin si, dans mon cas, ce serait pour afficher la vue qui affichage l’ensemble des nodes d’un type de contenu).

Cédric

#

Salut,
Il te faut créer (ou ajouter un peu de code à un module) l’éléments dans une fonction de la forme hook_form_alter (voir Drupal API). Dans cette fonction, il faudra créer un élément de formulaire, lien ou bouton, qui pointera vers la page de ton choix.
Un lien est une meilleure idée qu’un bouton, d’ailleurs.

#

Ah merci pour ce renseignement, je vais étudier ça de plus près et peut-être…
Est-ce que ça pourrait ressember à qqchose comme ça ?

Par contre, je ne sais pas trop le code de l’event à appeler pour le callback…

<?php
function nameOfMyModule_form_alter(&$form, $form_state, $form_id)
{
   if ($form_id == 'form_liste')
   {
     $form['liste'] = array(
       '#type' => 'button',
       '#value' => t('Liste'),
       '#attributes' => array('onclick' => "javascript:???;"),
??     '#page callback' => 'afficher_liste',
      );  
   }
}

function afficher_liste() {
  $path = drupal_get_path_alias('node/liste');
  drupal_goto($path);

}

Et pourquoi le lien est une meilleure idée que le bouton ?
(je comptais utiliser un bouton pour le côté «uniforme» avec les autres boutons…)

Cédric

#

Je viens de réussir à rajouter mon bouton, mais ça ne fait pas ce que je veux…
Effectivement, le bouton apparait au sein du formulaire mais moi ce que je voulais c’est qu’il apparaisse à côté des bouton «Voir» et «Modifier».

Quelle serait la solution pour ça ?

#

Hello,
Il me semble que les boutons sont des éléments d’un tableau.
Ton formulaire contient probablement un tableau accessible par $form[‘buttons’] ou quelque chose comme ça.
Il te suffit de créer un élément de formulaire dans ce tableau, du type :

$form[‘buttons’][‘nom’] = array (‘#type’=>’markup’, ‘#value’=>’Texte bouton’)
tu vois le genre.
Peut-être faudra-t-il ajouter un attribut ‘#weight’ pour déplacer le lien à droite des boutons.

#

Ah merci. Je vais essayer ça ce soir (pour l’instant mon bouton fonctionne parfaitement mais n’est juste pas tout à fait placé où je voudrais)

Syndiquer le contenu