Ouvrir une page à partir d'un bouton action

16 views
Skip to first unread message

akm...@gmail.com

unread,
Oct 28, 2016, 8:14:37 PM10/28/16
to ZnetDK
Bonsoir,
Je débute avec znetDK et je souhaiterais, à partir d'un bouton situé dans la barre des actions, ouvrir une vue ( ex :formulaire) comme quand on clique sur un lien du menu et non en popup.
Merci d'avance.

Pascal Martinez

unread,
Nov 1, 2016, 6:24:51 AM11/1/16
to ZnetDK
Bonjour,

Pour ouvrir une vue au clic d'un bouton de la barre d'action ZnetDK, il faut coder en JavaScript un écouteur en charge d'ouvrir la vue lorsqu'un événement de type 'click' est généré.

Cet écouteur peut alors :
  • Ouvrir une vue déja accessible depuis le menu de l'application par un appel de la méthode JavaScript znetdk.showMenuView,
  • Ou bien charger une vue qui n'existe pas dans le menu et l'afficher par exemple dans la vue contenant la barre d'action. Dans ce cas, on appellera la méthode znetdk.loadView.
Voici un exemple minimaliste illustrant les 2 cas de figure.
  • Ci-dessous, la vue applications/default/app/view/myview1.php qui a été déclarée dans le script applications/default/app/menu.php de l'application et peut être affichée en cliquant par exemple sur l'élément de menu "My view 1". Cette vue contient une barre d'action avec 2 boutons : le premier bouton ouvre la vue standard ZnetDK des utilisateurs engine/core/view/users.php. Le deuxième bouton charge la vue applications/default/app/view/myview2.php et affiche son contenu (un formulaire) à l'intérieur de la DIV d'identifiant myviewcontainter.
<!-- Actions bar -->
<div id='myactionbar' class="zdk-action-bar">
    <!-- Action buttons -->
    <button class="zdk-bt-custom menuview" >Existing View in the menu</button>
    <button class="zdk-bt-custom simpleview" >Simple view</button>
</div>
<div id='myviewcontainer'></div>
<script>
    $(function() {
        $('#myactionbar button.menuview').click(function() {
            znetdk.showMenuView('users');
        });
        $('#myactionbar button.simpleview').click(function() {
            znetdk.loadView({
                control:'myview2',
                action:'show',
                htmlTarget:$('#myviewcontainer')
            });
        });
    });
</script>
  • Ci-dessous, la vue applications/default/app/view/myview2.php contenant la définition d'un formulaire ZnetDK et qui est appelée par la vue myview1.php.
<form class='zdk-form'>
    <fieldset>
        <legend>My form</legend>
        <label>Field 1</label>
        <input name='myfield1' required>
        <label>Field 2</label>
        <input name='myfield2'>
    </fieldset>
    <button class='zdk-bt-save'>Save</button>
</form>

En espérant vous avoir fait un peu progresser dans vos développements...

Pascal MARTINEZ

Reply all
Reply to author
Forward
0 new messages