Changeset 2209
- Timestamp:
- 09/05/2007 11:25:20 AM
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/demos/blog-tutorial/protected/pages/Day4/fr/CreateReadPost.page
r2186 r2209 12 12 13 13 <h2>Création du gabarit</h2> 14 15 14 <p> 16 15 Le gabarit de <tt>ReadPost</tt> est très proche du gabarit de <tt>PostRenderer</tt>, chacun d'eux affiche le détail d'un message. La différence est que la page <tt>ReadPost</tt> doit afficher deux boutons, permettant aux utilisateurs autorisés de modifier ou supprimer le message. 17 16 </p> 18 19 17 20 18 <com:TTextHighlighter CssClass="source" Language="prado"> … … 26 24 27 25 <com:TControl Visible="<%= $this->canEdit() %>"> 28 <a href="<%= $this->Service->constructUrl(' EditPost',array('id'=>$this->Post->post_id))%>">Modifier</a> |26 <a href="<%= $this->Service->constructUrl('posts.EditPost',array('id'=>$this->Post->post_id))%>">Modifier</a> | 29 27 <com:TLinkButton Text="Supprimer" 30 28 OnClick="deletePost" … … 50 48 </p> 51 49 52 53 50 <com:InfoBox> 54 51 Même si nous utilisons régulièrement des expressions dans nos gabarits, nous n'en abusons pas. Une des règles principales pour savoir si l'on doit utiliser une expression est <i>l'expression doit être une propriété ou une simple mise en forme d'une propriété</i>. En suivant cette ligne de conduite, nous nous assurons d'une bonne séparation entre le contenu et la présentation, sans perdre en flexibilité. 55 52 </com:InfoBox> 56 57 53 58 54 <p> … … 65 61 </com:InfoBox> 66 62 67 68 69 63 <h2>Création du fichier de classe</h2> 70 64 71 65 <p> 72 Dans le gabarit précédent, nous voyons que notre classe doit implémenter le gestionnaire d'évènement <tt>deletePost()</tt> (attaché à l'évènement <tt>Onclick</tt> de notre bouton <tt>Supprimer</tt>). Nous devons aussi lire les données du message dont l'ID est passé par un paramètre GET. 73 </p> 74 66 Dans le gabarit précédent, nous voyons que notre classe doit implémenter le gestionnaire d'évènement <tt>deletePost()</tt> (attaché à l'évènement <tt>Onclick</tt> de notre bouton <tt>Supprimer</tt>). Nous devons aussi lire les données du message dont l'ID est passé par un paramètre GET.</p> 75 67 76 68 <com:InfoBox> 77 69 Nous implémentons la fonctionnalité suppression dans le classe <tt>ReadPost</tt> parce qu'il est classique de faire ainsi. Quand l'utilisateur clique sur le bouton <tt>Supprimer</tt>, une boite de dialogue demande confirmation de la suppression. Si l'utilisateur confirme, l'évènement <tt>OnClick</tt> du bouton <tt>Supprimer</tt> est déclenché. 78 70 </com:InfoBox> 79 80 71 81 72 <com:TTextHighlighter CssClass="source" Language="php">
