8797 sujets

Développement web côté serveur, CMS

Bonjour à tous,
Je ne suis pas très doué en Ajax (pour ne pas dire plus) et je connais un peu le php. J'utilise surtout des CMS, principalement Drupal. Voilà pour une première présentation.

Pour Drupal, j'ai une fonction PHP qui met à jour un enregistrement dans la base de données. Cela fonctionne actuellement parfaitement au détail près qu'il n'y a pas de confirmation demandé à l'utilisateur. Il clicke sur un lien (généré par Drupal) et la fonction php est exécutée. J4aimerai beaucoup qu'il y ait une intervention utilisateur au milieu.
En gros, voilà à quoi ressemble mon code :


      $current_state = isset($node->workflow) ? $node->workflow : $node->_workflow;

      // get the node's new state
      //$new_state = $edit['target_state']; // change to specific state not yet implemented
      $new_state = '';
      if ($new_state == '') {
        $choices = workflow_field_choices($node);
        foreach ($choices as $sid => $name) {
          if (isset($flag)) {
            $new_state = $sid;
            $new_state_name = $name;
            break;
          }
          $new_state = 20;
          $new_state_name = "Chercheur_ok";
          if ($sid == $current_state) {
            $flag = TRUE;
          }
        }
      }
	  $new_state = 20;
      // fire the transition
      workflow_execute_transition($node, $new_state);



Il faudrait que la boite de dialogue apparaisse avant la fonction : workflow_execute_transition($node, $new_state)

Merci pour votre aide.
Dominique.
Salut,

pas vraiment besoin d'Ajax pour faire ça, a priori une boite de dialogue javascript "classique" suffit :

<a href="mon_script.php?foo=bar" onclick="return confirm('Êtes-vous sûr de vouloir faire foo avec bar ?');" title="Faire foo avec bar">Mon lien</a>
Merci pour cette réponse si rapide Smiley biggrin

Mais ... Il y a toujours un mais Smiley cligne , Ce n'est pas moi qui crée le lien et je ne peux, à priori, pas ajouter l'evt onclick.
(à vérifier quand même mais je ne crois pas).

Dominique
À creuser, alors. Je n'ai jamais utilisé drupal, mais comme pour tous les CMS j'imagine qu'il doit être possible de modifier les attributs du lien généré.

Tu peux aussi utiliser une bibliothèque JS (jQuery, Mootools, ...) pour ajouter facilement ce comportement aux liens concernés au chargement de la page via un script externe Smiley cligne
Je n'ai pas penser à te remercier.
Pour l'instant, j'ai modifié une fonction dans Drupal.
Je ne suis pas complètement convaincu mais pour le moment ça fonctionne.

Merci.
Dominique.