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 :

[eZ Publish 4.0.1] Modification du BackOffice


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Par défaut [eZ Publish 4.0.1] Modification du BackOffice
    Je dois ajouter un bouton sur le backoffice. Ce bouton doit apparaitre lorsqu’on est sûr un utilisateur de la catégorie « invités » et doit se trouver aux côtés des boutons modifier, déplacer et supprimer.

    Lorsqu’on clique dessus, il doit afficher une confirmation, avec deux boutons oui/non, et lorsqu’on valide, on devra modifier certaines informations de l’utilisateur concerné.

    J’ai décidé de faire mon développement dans une extension.

    Après de nombreux jours de recherche sur net, j’ai réussi à ajouter ce bouton en faisant un override du node/view/full uniquement pour les utilisateurs du groupe invité. J’ai également réussi gérer l’action associée au clic sur le bouton. Pour cela j’ai redéfini le content/action en faisant un content_actionhandler (cf http://acidre.com/blog/ez-publish-re...contentaction/ ).

    J’ai crée également un module dans mon extension (et configuré mon module.ini.append.php), qui contient la page php appelée par le content_actionhandler et qui appelle la template de confirmation par un RedirectTo. Ce module gèrera également l’action associée à la validation de la confirmation.

    J’ai crée ma template sur le modèle de la page de confirmation de suppression. Et c’est là que j’ai mon problème. Lorsque la page de confirmation s’affiche, l’arborescence qui se trouve à gauche de ma page revient en « mode contenu » à la racine de mon site, au lieu de rester dans la partie utilisateur, sur le groupe dont l’utilisateur fait partie.

    En faisant divers essais, je me suis rendu compte que même en prenant le template de la page de validation de la suppression, et que je la copie dans mon répertoire de templates de mon extension et que je la renomme avec le nom de ma template, le navigateur n’est pas au bon endroit, et lorsque j’annule la suppression, je tombe sur la home du backoffice, et non sur le détail de l’utilisateur. En revanche, si j’appelle, dans la même fonction, la template d’origine, là le contexte (navigation) est conservé.

    Bref, je pense qu’il doit y avoir des paramétrages à faire, mais je ne sais pas lesquels.

    PS: Merci à ceux qui m'auront lu jusqu'au bout

  2. #2
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    dans la vue de ton module, tu dois passer le paramètre définir "ui_context" et "default_navigation_part" dans le module.php pour ta vue.

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //...
        'ui_context' => 'administration',
        'default_navigation_part' => 'ezsetupnavigationpart',
    //...
    si tu veux créer ton propre menu à gauche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Result['left_menu'] = 'design:chemin_fichier_tpl';

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Par défaut
    Ok merci, je vais essayer ...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Par défaut
    J'ai testé, ça marche parfaitement.

    Par contre, je n'arrive pas à garder le contexte au niveau du chemin de fer.

    Je m'explique : lorsqu'on est sur un utilisateur, le chemin de fer est "> Groupe d'Utilisateurs / Nom_du_groupe / nom_de_l'utilisateur".

    Mais lorsque j'arrive sur ma page de confirmation, par défaut c'est ">".
    J'ai compris qu'il fallait jouer avec la variable $Result['path'], mais je n'arrive pas à conserver mon contexte, c'est à dire rester dans "> Groupe d'Utilisateurs / Nom_du_groupe / nom_de_l'utilisateur".

  5. #5
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    un simple fetch sur l'utilisateur en question te donnera comme résultat un object, t'auras plus qu'à lire l'attribut path !

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Par défaut
    tout d'abord, merci pour votre réponse.
    J'ai eu beaucoup de mal à récupérer le path, car je ne suis pas dans une template mais dans un fichier php correspondant à une action de mon module.php.
    A vrai dire, je n'ai pas réussi, car la fonction eZContentObjectTreeNode::fetch ou eZContentObjectTreeNode::fetchNode ne me renvoie pas de path.
    Je n'ai qu'un path_string, et lorsque je l'injecte dans le $Result['path'], cela ne fait pas le résultat escompté.
    Du coup, j'ai fait plus simple, j'ai utilisé le même système qui est utilisé lorsqu'on clique sur le bouton "supprimer" d'un objet (c.a.d la page de confirmation), où le fil d'ariane est remplacé par un texte avec la syntaxe qui suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $Result['path']= array( array ( 'url'  => false, 
    				'text' => 'blablabla')));


    Mais maintenant, mon problème est que sur ma page affichée, j'ai un bouton "Annuler". Comme pour la page de confirmation de suppression, lorsqu'un des boutons est cliqué, on est redirigé vers le module, qui appelle le bon fichier php de l'action. Si c'est le bouton "annuler" qui est cliqué, on fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $Module->redirectToView( 'view', array( $viewMode, $contentNodeID, $contentLanguage ));
    qui permet de retourner à la page précédente, celle de mon utilisateur sélectionné. Mais, alors que mes variables ont la même valeur que si j'avais cliqué sur "supprimer", puis "annuler", si je clique sur le bouton de mon action supplémentaire, puis annuler, je retourne sur la "page de démarrage de l'admin", c.a.d la gestion des objets.
    Est-ce que j'ai oublié quelque chose? une définition? y-a-t'il un autre moyen d'arriver à mes fins?

    Je suis désolé pour la longueur du descriptif de mon pb, mais eZ, c'est du lourd!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2010] Modification taille fonds perdus, publisher 2010
    Par yanncdg dans le forum Microsoft Office
    Réponses: 0
    Dernier message: 15/07/2013, 10h41
  2. [Oracle BI publisher] Modification Email Notification
    Par attila771 dans le forum OBIEE
    Réponses: 2
    Dernier message: 07/05/2012, 11h12
  3. [] Datagrid vide après modification des propriétés
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/09/2002, 16h37
  4. Modification de l'évènement OnClick
    Par MrJéjé dans le forum C++Builder
    Réponses: 9
    Dernier message: 22/08/2002, 12h52
  5. Réponses: 11
    Dernier message: 23/07/2002, 14h33

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