From 654a9cae43358c7eecf3b522e9876aa7815e2453 Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Mon, 7 Dec 2015 15:57:51 +0100 Subject: Move urls from pradosoft.com to github's project page; drop unmaintained quickstart tutorial translations --- .../protected/pages/Day4/fr/CreateNewPost.page | 144 --------------------- 1 file changed, 144 deletions(-) delete mode 100755 demos/blog-tutorial/protected/pages/Day4/fr/CreateNewPost.page (limited to 'demos/blog-tutorial/protected/pages/Day4/fr/CreateNewPost.page') diff --git a/demos/blog-tutorial/protected/pages/Day4/fr/CreateNewPost.page b/demos/blog-tutorial/protected/pages/Day4/fr/CreateNewPost.page deleted file mode 100755 index 9ddd97b9..00000000 --- a/demos/blog-tutorial/protected/pages/Day4/fr/CreateNewPost.page +++ /dev/null @@ -1,144 +0,0 @@ - - -

Création de la page nouveau message NewPost

- -

-La page NewPost permet aux utilisateurs authentifiés de créer des nouveaux messages. Elle doit afficher un formulaire permettant la saisie des informations du message. -

- - -

-Parce que la page NewPost ne peut être vue que par les utilisateurs authentifiés, nous ajoutons un fichier de configuration de page config.xml dans le dossier protected/pages/posts. Ce fichier indique que seuls les utilisateurs authentifiés peuvent voir les pages NewPost et EditPost qui sera implémentée dans la section suivante. Tous les autres utilisateurs n'ont accès qu'aux pages ListPost et ReadPost. -

- - - - - - - - - - - - - - - Il est souvent utile de démarrer les règles d'autorisation par un <deny users="*">, puis, de le compléter en donnant pas à pas les accès aux différentes pages à l'aides de règles allow supplémentaires - -

-Vu le nombre grandissant de pages, nous allons modifier le pied de page de notre gabarit principal pour qu'il inclus des liens vers : la page d'accueil, la page nouvel utilisateur NewUser (visible seulement par les administrateurs), et la page à venir : nouveau message NewPost (visible seulement par les utilisateurs authentifiés). -

- - - - - -

-Nous allons maintenant créer deux fichiers protected/pages/posts/NewPost.page et protected/pages/posts/NewPost.php contenant respectivement le gabarit et la classe de notre page. -

- - -

Création du gabarit

-

-Le gabarit de NewPost contient une référence à un TTextBox pour saisir le titre de notre message et à un THtmlArea pour saisir le contenu. Ce dernier est un éditeur WYSIWYG HTML. Pour contrôler les valeurs saisies, nous associons des validateurs aux contrôles précédents. -

- - - -<%@ Title="Mon Blog - Nouveau Message" %> - -<com:TContent ID="Main"> - -

Création nouveau message

- -Titre: -<com:TRequiredFieldValidator - ControlToValidate="TitleEdit" - ErrorMessage="Veuillez indiquer un titre." - Display="Dynamic" /> -
-<com:TTextBox ID="TitleEdit" Columns="50" /> - -
-Message: -<com:TRequiredFieldValidator - ControlToValidate="ContentEdit" - ErrorMessage="Veuillez indiquer le contenu du message." - Display="Dynamic" /> -
-<com:THtmlArea ID="ContentEdit" /> - -
-<com:TButton Text="Ajouter" OnClick="createButtonClicked" /> - -</com:TContent> -
- - -

Création du fichier de classe

-

-Dans le gabarit précédent, nous voyons que la fonction principale de notre page est l'appel de la méthode createButtonClicked() implémenté par un évènement OnClick attaché au bouton Ajouter. -

- - -class NewPost extends TPage -{ - /** - * création d'un nouveau message si toutes les données sont valides. - * cette méthode est appelée par l'évènement OnClick du bouton "Ajouter". - * @param mixed sender : celui qui a généré l'évènement - * @param mixed param : paramètres de l'évènement - */ - public function createButtonClicked($sender,$param) - { - if($this->IsValid) // tous les validateurs sont Ok ? - { - // créer un nouvel objet PostRecord avec les données du formulaire - $postRecord=new PostRecord; - // utiliser SafeText à la place de Text évite les attaques XSS - $postRecord->title=$this->TitleEdit->SafeText; - $postRecord->content=$this->ContentEdit->SafeText; - $postRecord->author_id=$this->User->Name; - $postRecord->create_time=time(); - $postRecord->status=0; - - // enregistre les données dans la BDD par la méthode save de l'Active Record - $postRecord->save(); - - // redirige le navigateur vers le message nouvellement créé - $url=$this->Service->constructUrl('posts.ReadPost',array('id'=>$postRecord->post_id)); - $this->Response->redirect($url); - } - } -} - - -

Test

-

-Pour tester notre page NewPost, identifiez-vous auparavant et cliquez sur le lien Nouveau message dans le pied de page. Le navigateur affiche le résultat suivant avec comme URL http://hostname/blog/index.php?page=NewPost. -

- - -Quand vous visitez la page NewPost pour la première fois, vous pourrez remarquer qu'elle mettra plusieurs secondes avant de s'afficher. Ceci est dû au fait que PRADO a besoin de décompresser et de publier le code javascript et les images pour l'éditeur WYSIWYG du contrôle THtmlArea. Ceci est fait une fois pour toutes. - - - -Pour tester la fonctionnalité de pagination que nous avons mise en place dans la page ListPost, nous pouvons créer cinq messages ou plus et regardez ce qu'il se passe sur la page d'accueil. Le contrôle TPager de la page ListPost affiche cinq éléments par page. - - - - -
\ No newline at end of file -- cgit v1.2.3