CMS Automne

Forum de la communauté du CMS Automne
Nous sommes actuellement le Sam Nov 23, 2024 11:02 pm

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




Publier un nouveau sujet Répondre au sujet  [ 12 messages ] 
Auteur Message
MessagePublié: Lun Jan 17, 2011 11:56 am 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Mar Août 24, 2010 3:48 pm
Message(s) : 109
J'essaie de reproduire le système de commentaires tel qu'existant par exemple sur le site Automne, à savoir liés les commentaires à des articles, posts ou autres... mais je dois avouer que je tourne un peu en rond !

J'ai créé par exemple un module "blog" avec deux objets "articles" (3 champs 'titre' 'texte' 'date') et "commentaires" (4 champs 'nom' 'texte' 'page' 'item')... 'page' et 'item' sont censés servir à rattacher les commentaires à des articles particuliers, mais ca marche pas tip top en fait !...

Quelqu'un pourrait me dire si je cherche dans la bonne direction ou si je fais fausse route...?
Tout conseil est le bienvenu,

Merci


Haut
 Profil  
 
 Sujet du message: Re: blog et commentaires
MessagePublié: Lun Jan 17, 2011 12:18 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Jeu Juin 16, 2005 8:05 am
Message(s) : 628
Localisation : Toulouse, France
Sur le site d'Automne ce sont 2 modules distincts car on doit pouvoir aussi commenter sur des pages (contributions) :

Dans la structure du module on retrouve donc un champ page et un champ entier qui contiendra l'ID de l'actualité :

> Structure de l'objet 'Commentaire' :

Auteur (Chaîne de caractères)
Email (Chaîne de caractères)
Site web (Chaîne de caractères)
Commentaire (Champ texte)
Date de création (Date)
Type (Catégories)
Page (Page)
Actualité (Nombre entier)

Langue (Langue)
Notification par email (Notification par email)

Dans la rangée qui affiche le détail des actualités, on a donc 2 recherches polymod dont une sur les objets commentaires à laquelle on passe en paramètre l'ID de l'actualité :

Code :
            <atm-search-param search="searchComment" type="{Commentaire:Actualite:fieldID}" value="{request:int:item}" mandatory="true" />


tu peux nous dire comment tu as procédé exactement ?

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


Haut
 Profil  
 
 Sujet du message: Re: blog et commentaires
MessagePublié: Lun Jan 17, 2011 3:52 pm 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Mar Août 24, 2010 3:48 pm
Message(s) : 109
Merci pour le code proposé.
De mon côté c'est toujours au point mort, mais si j'arrive à avancer je te tiens au courant.

Afin d'effectuer une recherche dans le module actualité, il faut être dans le block module="actualité" et idem pour la recherche dans le module commentaires. Le système que tu proposes implique donc une action du visteur qui clique sur un article particulier afin que les deux recherches portent sur l'ID de l'item, car lorsque l'on est sur la page contenant tous les articles aucune recherche portant sur les item n'est appliquée ??? (on ne peut pas lancer un atm-search sur le module 'commentaires' depuis un bloc module='actualites' ???)

Je cherche un fonctionnement (typique d'un blog) permettant de spécifier lorsque l'on est sur la page contenant tous les articles le nombre de commentaires par articles, et présenter le contenu de ces commentaires lorsque l'on ouvre une actualité en particulier...

Bon bah j'y retourne...


Haut
 Profil  
 
 Sujet du message: Re: blog et commentaires
MessagePublié: Lun Jan 17, 2011 4:15 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Jeu Juin 16, 2005 8:05 am
Message(s) : 628
Localisation : Toulouse, France
Pour compter les commentaires, on passe par une classe PHP :

cf. http://www.automne.ws/api/Automne/polym ... AllObjects

Exemple sur le site d'Automne :

Code :
...
              <atm-if what="!{request:int:item}">
                {Blog:Introduction:value}
                <atm-if what="{Blog:Texte:value}">
                  <a href="{page:self:url}?item={Blog:id}" class="blocLien" title="En savoir plus concernant '{Blog:label}'">
                    <span class="blocLienBottom">Lire la suite</span>
                  </a>
                </atm-if>
                <?php
                  //count comments
                  $comments = CMS_poly_object_catalog::getAllObjects(3, true, array(48 => {Blog:id}), false);
                  if ($comments) {
                    $content .= '<a href="'.{page:self:url}.'?item='.{Blog:id}.'&amp;viewComments=1#viewComments" title="Voir les '.sizeof($comments).' commentaire(s)">&raquo; Voir les '.sizeof($comments).' commentaire(s)</a>';
                  } else {
                    $content .= '<a href="'.{page:self:url}.'?item='.{Blog:id}.'&amp;viewComments=1#addComment" title="Ajouter un commentaire">&raquo; Ajouter un commentaire</a>';
                  }
                  ?>
              </atm-if>
...

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


Haut
 Profil  
 
 Sujet du message: Re: blog et commentaires
MessagePublié: Lun Jan 17, 2011 4:31 pm 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Mar Août 24, 2010 3:48 pm
Message(s) : 109
On se rapproche du but, ca devrait résoudre mon dernier "petit soucis"... merci !


Haut
 Profil  
 
 Sujet du message: Re: blog et commentaires
MessagePublié: Mer Jan 26, 2011 12:26 pm 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Mar Août 24, 2010 3:48 pm
Message(s) : 109
Merci pour le conseil d'utilisser la classe CMS_poly_object_catalog::getAllObjects, tout marche "presque" bien !

Une question cependant, j'ai une page qui contient tous les articles, dont l'ID est 12.
Pour l'exemple, disons que l'url correspondante est http://www.monsite.fr/web/12-mesarticles.php
Sur ces articles, il y a possibilité de déposer des commentaires (tel que vous me l'avez conseillé dans les posts précédents).

La recherche sur un article particulier (par exemple dont l'ID=21) me dirige vers la page http://www.monsite.fr/web/12-mesarticles.php?item=21.
Mais lorsque je rédige un commentaire via le formulaire présent sous l'article, au moment de la soumission je me retrouve ici http://www.monsite.fr/web/12-mesarticles.php, donc sur la page présentant tous les articles, et je ne sais donc pas si mon commentaire est valide ou non.

Merci de votre aide, je ne trouve pas la solution ?


Haut
 Profil  
 
 Sujet du message: Re: blog et commentaires
MessagePublié: Mer Jan 26, 2011 12:35 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Il te suffit de rajouter un champ caché avec ton id dans ton formulaire :
Code :
<input type="hidden" name="item" value="{request:int:item}" />


Haut
 Profil  
 
 Sujet du message: Re: blog et commentaires
MessagePublié: Mer Jan 26, 2011 12:37 pm 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Mar Août 24, 2010 3:48 pm
Message(s) : 109
MERCI, je l'avais effectivement déjà présent, mais uniquement pour l'export vers le module commentaire.


Haut
 Profil  
 
 Sujet du message: Re: blog et commentaires
MessagePublié: Mer Jan 26, 2011 1:22 pm 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Mar Août 24, 2010 3:48 pm
Message(s) : 109
Lorsque un commentaire est déposé et valide (via la vérification {filled}), quel est le fonctionnement qui masque les champs du formulaire pour laisser place au message "votre message est bien envoyé" ? (j'ai pas trouvé dans la doc')
Car dans mon cas, je ne vois (toujours) pas d'où vient l'erreur, lorsque !{filled} tout se passe bien (les messages d'erreurs sont affichés), mais lorsque tout est bien saisi alors le commentaire est bien envoyé au module mais il n'y a pas de message ni de masquage du formulaire côté client (bizarre)...

Petite question bonus : lorsque l'on soumet un commentaire, qu'il soit valide ou erroné, l'affichage remonte toujours en haut de page => ce qui n'est pas très pratique. Y a-t-il comme pour précédemment un champ caché permettant d'agir là-dessus ?


Haut
 Profil  
 
 Sujet du message: Re: blog et commentaires
MessagePublié: Mer Jan 26, 2011 1:50 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Pour info, voila un code commenté d'exemple de création d'un formulaire :
Code :
<atm-form what="{Message}" name="createMessage">
   <!-- Cette partie affiche le message indiquant que le formulaire a été correctement enregistré -->
   <atm-if what="{filled}">
      <div class="message-ok">Votre message a bien été ajouté !</div>
   </atm-if>
   
   <!-- Cette partie affiche le formulaire si il n'est pas rempli ou comporte des erreurs -->
   <atm-if what="!{filled}">
     
      <!-- Cette partie affiche les erreurs éventuelles survenues lors de la soumission -->
      <atm-if what="{error}">
         <div class="message-alert">
            Une erreur est survenue durant l'enregistrement de votre message ...
            Veuillez réessayer.
         </div>
      </atm-if>
     
      <!-- Cette partie affiche une erreur à propos des champs manquants détectés lors de la soumission -->
      <atm-if what="{required}">
         <div class="message-alert">Les champs suivants sont requis :
            <ul>
               <atm-form-required form="createMessage">
                  <li>{requiredname}</li>
               </atm-form-required>
            </ul>
         </div>
      </atm-if>
     
      <!-- Cette partie affiche une erreur à propos des champs incorrects détectés lors de la soumission -->
      <atm-if what="{malformed}">
         <div class="message-alert">Les champs suivants sont incorrects :
            <ul>
               <atm-form-malformed form="createMessage">
                  <li>{requiredname}</li>
               </atm-form-malformed>
            </ul>
         </div>
      </atm-if>
     
      <!-- ... Ajoutez ici les champs atm-input composant votre formulaire ... -->
     
      <!-- Exemple de tag atm-input -->
      <div class="message">
         Votre message :<br/>
         <atm-input field="{Message:Texte}" form="createMessage" />
      </div>
     
     
      <!-- Bouton de soumission du formulaire -->
      <input type="submit" class="submit" value="Publier votre message" />
   </atm-if>
</atm-form>


Après pour ce qui est du positionnement de la page après la soumission du formulaire, il n'y a rien encore qui permette de faire ça pour le moment. Tu dois pouvoir le faire en javascript.


Haut
 Profil  
 
 Sujet du message: Re: blog et commentaires
MessagePublié: Jeu Jan 27, 2011 6:05 pm 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Mar Août 24, 2010 3:48 pm
Message(s) : 109
Lorsque j'insère ce champ caché mon problème de changement de page est réglé => les messages {required} apparaissent bien, mais toujours rien qui ne se passe lors de la soumission du formulaire dûment rempli (pourtant le commentaire est bien envoyé et enregistré dans le module ???)
Code :
<input type="hidden" name="item" value="{request:int:item}#addComment" />

Je ne vois pas pourquoi le message {filled} n'apparait pas, j'ai revérifier moult fois mon code...
Si quelqu'un a déjà rencontré ce "soucis" ?

PS : si quelqu'un gère mieux que moi le javascript (C pas vraiment le but de ce forum, mais C au cas où), pour résoudre le problème citer plus haut dans ce sujet à propos de la page qui "remonte" lors de la soumission du formulaire (qui est lui situé tout en bas de ma page... grrr)

Merqui


Haut
 Profil  
 
 Sujet du message: Re: blog et commentaires
MessagePublié: Ven Jan 28, 2011 2:40 pm 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Mar Août 24, 2010 3:48 pm
Message(s) : 109
Problème de validation du formulaire résolu, vu que ma rangée contenait 2 <form ...> (un pour les pages courantes et l'autre pour les commentaires des articles du blog), j'avais laissé le même name aux deux, et l'erreur venait de là (=> pour info à ceux qui rencontrerait ce problème).

Pour le javascript c'est en cours, je poste le résultat dès que j'y arrive!


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

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


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 91 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