CMS Automne

Forum de la communauté du CMS Automne
Nous sommes actuellement le Ven Nov 01, 2024 3:35 am

Le fuseau horaire est UTC [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 5 messages ] 
Auteur Message
MessagePublié: Mer Avr 25, 2012 2:42 pm 
Hors-ligne

Inscrit(e) le : Mar Sep 21, 2010 2:41 pm
Message(s) : 95
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:


Haut
 Profil  
 
MessagePublié: Jeu Avr 26, 2012 8:27 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Jeu Juin 16, 2005 8:05 am
Message(s) : 628
Localisation : Toulouse, France
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.

_________________
Frank
http://www.automne-cms.org


Haut
 Profil  
 
MessagePublié: Mer Mai 02, 2012 8:24 am 
Hors-ligne

Inscrit(e) le : Mar Sep 21, 2010 2:41 pm
Message(s) : 95
Super :D

Je suis preneur.


Haut
 Profil  
 
MessagePublié: Jeu Mai 03, 2012 10:06 am 
Hors-ligne

Inscrit(e) le : Mer Fév 15, 2012 9:19 am
Message(s) : 5
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>


Haut
 Profil  
 
MessagePublié: Ven Mai 04, 2012 6:59 am 
Hors-ligne

Inscrit(e) le : Mar Sep 21, 2010 2:41 pm
Message(s) : 95
Ah merci Guillaume !

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


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 5 messages ] 

Le fuseau horaire est UTC [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 51 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de:
Aller vers :  
Powered by phpBB® Forum Software © phpBB Group
Traduit par Maël Soucaze et Elglobo © phpBB.fr