CMS Automne
http://www.automne-cms.org/forum/

Classes et méthodes de l'API dans mes rangées de contenu
http://www.automne-cms.org/forum/viewtopic.php?f=2&t=1714
Page 1 sur 1

Auteur:  pdub75 [ Mer Avr 25, 2012 2:42 pm ]
Sujet du message:  Classes et méthodes de l'API dans mes rangées de contenu

Bonjour,
je suis encore un peu débutant en POO et je me pose quelques questions.

Supposons que je veuille ajouter automatiquement des entrées dans une table Automne ou même dans un Polymod. Les infos permettant d'ajouter ces entrées peuvent provenir par exemple d'un formulaire saisi en front-end. Je pense par exemple à la création d'un utilisateur dans un groupe de base

Par ailleurs, si j'ai bien compris, ce sont les classes et leurs méthodes/propriétés référencées dans l'API qui sont utilisées par Automne pour agir dans les tables de la BDD, aux bons endroits et avec les valeurs qui vont bien....

Ce qui veut dire que pour garantir l'intégrité des données dans la BDD, il est indispensable d'utiliser ces classes et leurs méthodes et/ou propriétés si je veux agir sur des tables en respectant la logique d'Automne et conserver la cohérence des données. J'ai bon là :?:

Citer:
Ma question est donc celle-ci :

quelle est la meilleure façon de coder une rangée de contenu pour utiliser une méthode de classe de Automne telle que celles mentionnées dans l'API ? Je n'ai vu aucune explication de la sorte dans la documentation, ni tuto donnant la marche à suivre "standard".


Un grand merci à la personne qui voudra bien m'éclairer. :roll:

Auteur:  Frank [ Jeu Avr 26, 2012 8:27 am ]
Sujet du message:  Re: Classes et méthodes de l'API dans mes rangées de contenu

En effet nous n'avons pas d'exemples sur ce type de rangée, je vais regarder si j'ai du code en stock à te montrer.

Auteur:  pdub75 [ Mer Mai 02, 2012 8:24 am ]
Sujet du message:  Re: Classes et méthodes de l'API dans mes rangées de contenu

Super :D

Je suis preneur.

Auteur:  Guillaume [ Jeu Mai 03, 2012 10:06 am ]
Sujet du message:  Re: Classes et méthodes de l'API dans mes rangées de contenu

Bonjour,

Les rangées Automne ont directement accès aux classes de l'API. Il te suffit d'ouvrir une balise php et tu as accès à l'API. Voici un exemple de code (non testé, c'est juste pour donner une idée, il y a pas mal de cas d'erreurs qui ne sont pas testés par exemple).

Code :
<row>
   <?php
   // ici l'API est utilisable
   // Pour la création d'un utilisateur après la saisie d'un formulaire, tu peux faire quelque chose comme :
   
   if (io::post('login')) { // le formulaire a été soumis
      // vérification de l'unicité du login
      if(CMS_profile_usersCatalog::loginExists(io::post('login'))) {
         echo 'erreur';
      }
      else {
      
         $user = new CMS_profile_user();
         $user->setLogin(io::post('login'));
         $user->setLastName(io::post('lastname'));
         $user->setFirstName(io::post('firstname'));
         $user->setPassword(io::post('password'));
         // contact data
         $contactData = $user->getContactData();
         $contactData->setEmail(io::post('email'));
         $contactData->setPhone(io::post('OfficePhone'));
         $contactData->setCellphone(io::post('MobilePhone'));
         $contactData->setFax(io::post('fax'));
         // etc...
         
         $user->setContactData($contactData);
         // sauvegarde de l'utilisateur
         if($user->writeToPersistence()){
            // Ajout de l'utilisateur à un groupe
            // I don't call directly group->addToUserAndWriteToPersistence because
            // the user may have error detected by hasError that prevents the save.
            
            $groupe = new CMS_profile_usersGroup(IDENTIFIANT_DU_GROUPE);
            $groupe->addToUserAndWriteToPersistence($user);
            // l'utilisateur est créé
         }
         else {
            // erreur de sauvegarde
         }
      }
   }
   ?>
   <!-- ici tu peux faire une rangée normale, avec le formulaire par exemple -->
</row>

Auteur:  pdub75 [ Ven Mai 04, 2012 6:59 am ]
Sujet du message:  Re: Classes et méthodes de l'API dans mes rangées de contenu

Ah merci Guillaume !

j'y vois plus clair maintenant. Je vais poursuivre avec cette démarche. :D

Page 1 sur 1 Le fuseau horaire est UTC [Heure d’été]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/