IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Appel form ajout de contenu dans une colorbox ou directement dans une vue


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Appel form ajout de contenu dans une colorbox ou directement dans une vue
    Bonjour à tous !!

    je viens vers vous car je suis actuellement en train de développer un projet que j’ai basé sous Drupal 7 (bien plus ergonomique que le 6 au passage)

    Je vais tenter d’être le plus précis possible dans mon explication.

    Voila ce que j’ai actuellement en place et en relation avec mon problème :
    • Un type de contenu «Présentation de prestataire»
    • Un rôle «socio professionnels»
    • Une vue listant tous les type «Présentation de prestataire» associés à un terme de taxonomie précis

    Je souhaitais mettre en place dans ma vue (au début de celle-ci) un formulaire permettant d’ajouter un contenu de type «Présentation de prestataire» si je suis authentifié en tant que «socio professionnels» ou proposer un lien de log/inscription si je ne suis pas (encore) authentifié. Mais je n’ai pas réussi à afficher simplement le formulaire permettant cet ajout de contenu.

    J’ai donc décidé de mettre en place simplement des liens qui m’ouvrirait en colorbox les formulaires souhaités.

    Pour ce faire, j’ai mis dans mon template views-view—liste-des-prestataires—page.tpl le code suivant (là où je souhaitais voir apparaître mon formulaire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (in_array('socio professionnels',array_values($user->roles))) {
        print "<a href='/colorbox/form/presentation_prestataire_node_form?width=550&height=550'  id='4' class='colorbox-load'>Ajouter sa structure colorbox</a>";
    }
    else print "<a href='/colorbox/form/user_register_form?width=550&height=550' class='colorbox-load' id='2'>S'inscrire</a> ou <a href='/?q=user/login'>Se connecter</a>";
    Voila le résultat :
    • Si je ne suis pas authentifié, j’obtiens biens les 2 formulaires souhaités (insription ou log)
    • Si je suis authentifié en tant que «socio professionels», j’obtiens le message d’erreur suivant «Request unsuccessful : Forbidden» avec dans firebug une erreur 403

    Je me suis donc dis qu’il s’agissait d’une erreur de droits mais si j’appel la page permettant l’ajout d’un contenu de type «Presentation de prestataire» (?q=node/add/presentation-prestataire), j’obtiens bien le dis formulaire.

    Un peu comme-ci colorbox me bloquait les droits d’accès à ce formulaire.

    Ce qui confirme un peu ce sentiment, c’est que j’ai la même chose avec le formulaire de modification d’un utilisateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "<a href='/colorbox/form/user_profile?width=550&height=550' class='colorbox-load' id='1'>Test</a>";
    Je dois avouer que je tourne un peu en rond là. Si quelqu’un à une idée ou peut-être une autre façon de procéder, je sus preneur.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 120
    Points
    120
    Par défaut
    Salut,

    J'ai peut-être une idée, mais je suis pas sure qu'elle te plaise, car je pense que ça reviendrait à ta première solution...
    Citation Envoyé par cpom Voir le message
    ...
    Je souhaitais mettre en place dans ma vue (au début de celle-ci) un formulaire permettant d’ajouter un contenu de type «Présentation de prestataire» si je suis authentifié en tant que «socio professionnels» ou proposer un lien de log/inscription si je ne suis pas (encore) authentifié. Mais je n’ai pas réussi à afficher simplement le formulaire permettant cet ajout de contenu.
    ...
    Bien sur ça n'est que supposition car je n'ai jamais réécrit de views avec D7 seulement le 6 ^^
    En fait, dans le template.php de ton thème je pense que tu peux faire appel à la fonction "hook_preprocess_HOOK(&$vars)", du coup vu que toi ça serait pour une views et pour un affichage dans une page ta fonction serait la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function views_preprocess_page(&$variables) {
         $variables['mesViews'] = array( 'q=ma_vue_1', 'q=ma_vue_2');
         $expQueryString = explode("/", $_SERVER['QUERY_STRING']);
         if(in_array($expQueryString[0], $variables['mesViews'])) {
              /*ton traitement de l'utilisateur*/
              if($vars['user']->role == "socio-pro-id") {
                   $vars['linkCreaPrestataire'] = "<div>....</div>"
              }
              else if($vars['user']->role == "anonymous") {
                   $vars['formLogin'] = "<form>....</form>"
              }
         }
    }
    Je pense que dans l'argument passé tu dois pouvoir retrouver l'utilisateur (son uid) et ainsi avoir son role. Tu le testes donc et tu renvois une variables à ton template de page que tu affiches si l'on est bien sur la views.

    Je pense que t'auras remarqué que la fonction ne marchera pas comme ça!!! mais au moins, je pense que c'est un peu plus clair que le petit blabla que j'ai mis au dessus.

    Tiens moi au courant

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Avant toute chose merci de m'avoir répondu. J'ai déposé le même message sur drupalfr mais je n'ai toujours rien. Donc rien que de voir une réponse fait déjà plaisir.

    J'avais pensé au système de hook mais ne le connaissant que très peu j'espérais passer outre. Ca ne m'as pas l'air très simple en plus !!

    Je n'ai pas le temps aujourd'hui de regarder plus en profondeur ce que tu me propose mais je m'y remet dès la semaine prochaine et te tiens au courant au plus vite.

    A très vite !!! avec des bonnes nouvelles j'espère.

  4. #4
    Membre régulier Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Points : 122
    Points
    122
    Par défaut
    bonjour,

    tu a bien checké/verifié les droits d'accès pour le rôle socio professionnels ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/03/2014, 19h05
  2. Réponses: 1
    Dernier message: 06/08/2012, 18h12
  3. Ajouter du contenu dans une listbox
    Par mihaispr dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 11/03/2009, 21h13
  4. Comment appeller par code le contenu d'une liste
    Par sakia dans le forum VBA Access
    Réponses: 3
    Dernier message: 26/05/2007, 19h50
  5. [XML] [PHP-XML] ajout du contenu d'une variable
    Par BrItneY dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 24/07/2006, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo